def test_origin(self): p = grammar.parse( """ .origin 0x100 STOP """ ) asm.build_symbols_memory(p, self.symbols, self.memory) self.assertEqual(self.memory.get_address(), 258) m = self.memory.get_all() self.assertEqual(m[256]["op"], "stop")
def test_instruction(self): p = grammar.parse( """ .byte myvar 1 Start: LD A, myvar """ ) asm.build_symbols_memory(p, self.symbols, self.memory) self.assertEqual(self.symbols.get("myvar"), 0) m = self.memory.get_all() self.assertEqual(m[1]["op"], "ldd")
def test_byte(self): p = grammar.parse( """ .byte myvar 2 .byte i 1 """ ) asm.build_symbols_memory(p, self.symbols, self.memory) self.assertEqual(self.symbols.get("myvar"), 0) self.assertEqual(self.symbols.get("i"), 2) m = self.memory.get_all() self.assertEqual(m[0]["value"], [0, 0]) self.assertEqual(m[2]["value"], [0])
def test_reset(self): p = grammar.parse( """ .reset Start Start: STOP """ ) asm.build_symbols_memory(p, self.symbols, self.memory) self.assertEqual(self.symbols.get("start"), 2) m = self.memory.get_all() self.assertEqual(m[0]["op"], "bra") self.assertEqual(m[2]["op"], "stop")
def test_string(self): p = grammar.parse(".define LENGTH 10\n.define WIDTH LENGTH\n") asm.build_symbols_memory(p, self.symbols, self.memory) self.assertEqual(self.symbols.get("length"), 10) self.assertEqual(self.symbols.get("width"), 10)