Exemple #1
0
 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")
Exemple #2
0
 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")
Exemple #3
0
 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])
Exemple #4
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")
Exemple #5
0
 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)