@Test public void testLoadFile() throws Exception { MemoryMap memoryMap = FileMfUlReader.loadCardFromFile("mfulc_formatted.txt"); assertArrayEquals( new byte[] {0x04, (byte) 0xCE, (byte) 0x8F, (byte) 0xCD}, memoryMap.getPage(0)); assertArrayEquals(new byte[] {(byte) 0xE1, 0x10, 0x12, 0x00}, memoryMap.getPage(3)); }
private void detectSymbolsAndBaseAddresses() throws IOException { Hashtable<String, Integer> moduleSymbols = new Hashtable<String, Integer>(); int nd = parseNumber(); for (int i = 1; i <= nd; i++) { String symbol = parseWord(); if (SymbolTable.defines(symbol)) { String error = "Error: This variable is multiply defined; first value used."; SymbolTable.getInstance().getErrors().put(symbol, error); } else { moduleSymbols.put(symbol, parseNumber() + this.baseAddress); SymbolTable.getInstance().put(symbol, moduleSymbols.get(symbol)); } } skipUseList(); int moduleSize = parseNumber(); skipProgram(moduleSize); MemoryMap.createProgramModule(this.baseAddress, moduleSymbols); this.baseAddress += moduleSize; skipWhiteSpace(); }