Esempio n. 1
0
 def test_hword(self):
     g = codegen.Segment()
     g.hword(0x0102)
     self.assertEqual(g.lc, 2)
     self.assertEqual(g.size(), 2)
     self.assertEqual(g.buf[0], 2)
     self.assertEqual(g.buf[1], 1)
Esempio n. 2
0
 def test_putR(self):
     g = codegen.Segment()
     g.putR(0xFFFFFFFF, 0, 0, 0)
     self.assertEqual(g.lc, 4)
     self.assertEqual(g.getWord(0), 0xFE00707F)
     g.putR(0xFFFFFFFF, 6, 6, 6)
     self.assertEqual(g.lc, 8)
     self.assertEqual(g.getWord(4), 0xFE63737F)
Esempio n. 3
0
 def test_advance(self):
     g = codegen.Segment()
     g.word(0xCCCCCCCC)
     g.advance(16, 0xCC)
     self.assertEqual(g.lc, 16)
     self.assertEqual(g.size(), 16)
     for i in range(16):
         self.assertEqual(g.buf[i], 0xCC)
Esempio n. 4
0
 def testExport(self):
     b = StringIO.StringIO()
     x = codegen.RawExporter(b)
     g = codegen.Segment()
     g.dword(0xDEADBEEF0BADC0DE)
     g.dword(0xFEEDFACE0C0FFEE0)
     x.exportSegment(g)
     self.assertEquals(len(b.getvalue()), 16)
Esempio n. 5
0
 def test_word(self):
     g = codegen.Segment()
     g.word(0x01020304)
     self.assertEqual(g.lc, 4)
     self.assertEqual(g.size(), 4)
     self.assertEqual(g.buf[0], 4)
     self.assertEqual(g.buf[1], 3)
     self.assertEqual(g.buf[2], 2)
     self.assertEqual(g.buf[3], 1)
Esempio n. 6
0
 def test_dword(self):
     g = codegen.Segment()
     g.dword(0x0102030405060708)
     self.assertEqual(g.lc, 8)
     self.assertEqual(g.size(), 8)
     self.assertEqual(g.buf[0], 8)
     self.assertEqual(g.buf[1], 7)
     self.assertEqual(g.buf[2], 6)
     self.assertEqual(g.buf[3], 5)
     self.assertEqual(g.buf[4], 4)
     self.assertEqual(g.buf[5], 3)
     self.assertEqual(g.buf[6], 2)
     self.assertEqual(g.buf[7], 1)
Esempio n. 7
0
 def __init__(self, args):
     """Initializes the assembler to a known good state."""
     self.args = args
     self.lexerState = fileScope
     self.tokenStream = []
     self.cursor = 0
     self.line = 0
     self.symbols = {}
     self.section = []
     self.lc = 0
     self.pass2todo = []
     self.seg = codegen.Segment()
     self._filename = "<none>"
     self._filelike = None
Esempio n. 8
0
 def test_putI(self):
     g = codegen.Segment()
     g.putI(0xFFFFFFFF, 6, 7, 0xABC)
     self.assertEquals(g.lc, 4)
     self.assertEquals(g.getWord(0), 0xABC3F37F)
Esempio n. 9
0
 def test_putSB(self):
     g = codegen.Segment()
     g.putSB(0xFFFFFFFF, 6, 14, 0x1555)
     self.assertEquals(g.lc, 4)
     self.assertEquals(g.getWord(0), 0xD4E37A7F)
Esempio n. 10
0
 def test_putS(self):
     g = codegen.Segment()
     g.putS(0xFFFFFFFF, 30, 6, 0xAAA)
     self.assertEquals(g.lc, 4)
     self.assertEquals(g.getWord(0), 0xABE3757F)
Esempio n. 11
0
 def test_byte(self):
     g = codegen.Segment()
     g.byte(1)
     self.assertEqual(g.lc, 1)
     self.assertEqual(g.size(), 1)
     self.assertEqual(g.buf[0], 1)
Esempio n. 12
0
 def test_construction(self):
     g = codegen.Segment()
     self.assertEqual(g.lc, 0)
     self.assertEqual(g.size(), 0)
Esempio n. 13
0
 def test_putU(self):
     g = codegen.Segment()
     g.putU(0xFFFFFFFF, 10, 0x12345678)
     self.assertEquals(g.lc, 4)
     self.assertEquals(g.getWord(0), 0x1234557F)
Esempio n. 14
0
 def test_putUJ(self):
     g = codegen.Segment()
     g.putUJ(0xFFFFFFFF, 10, 0x155555)
     self.assertEquals(g.lc, 4)
     self.assertEquals(g.getWord(0), 0xD545557F)