Mercurial > lcfOS
diff test/testarmasm.py @ 346:3bb7dcfe5529
expanded arm target
author | Windel Bouwman |
---|---|
date | Fri, 07 Mar 2014 17:05:32 +0100 |
parents | b4882ff0ed06 |
children | 442fb043d149 |
line wrap: on
line diff
--- a/test/testarmasm.py Sun Mar 02 17:12:08 2014 +0100 +++ b/test/testarmasm.py Fri Mar 07 17:05:32 2014 +0100 @@ -6,20 +6,25 @@ from ppci.target.target_list import arm_target +a = Assembler(arm_target) class ArmAssemblerTestCase(AsmTestCaseBase): """ ARM-mode (not thumb-mode) instruction assembly test case """ def setUp(self): self.t = arm_target self.obj = ObjectFile() - self.o = BinaryOutputStream(self.obj) - self.o.selectSection('.text') - self.a = Assembler(target=self.t, stream=self.o) + self.ostream = BinaryOutputStream(self.obj) + self.ostream.selectSection('.text') + self.a = a #Assembler(target=self.t) def testMovImm(self): self.feed('mov r4, 100') self.check('6440a0e3') + def testMovImm2(self): + self.feed('mov sp, 0x6000') + self.check('06daa0e3') + def testAdd2(self): self.feed('add r12, r11, 300') self.check('4bcf8be2') @@ -53,3 +58,30 @@ self.feed('beq sjakie') self.feed('bl sjakie') self.check('030000ea 020000da 010000ca 0000000a ffffffeb feffffea fdffffda fcffffca fbffff0a faffffeb') + + def testPush(self): + self.feed('push {r11,r5,r4,lr}') + self.check('30482de9') + + def testPop(self): + self.feed('pop {r4,r5,r6}') + self.check('7000bde8') + + def testStr(self): + self.feed('str r9, [r2, 33]') + self.check('219082e5') + + def testLdr(self): + self.feed('ldr r5, [r3, 87]') + self.check('575093e5') + + def testSequence1(self): + self.feed('sub r4,r5,23') + self.feed('blt x') + self.feed('x:') + self.feed('mul r4,r5,r2') + self.check('174045e2 ffffffba 950204e0') + + +if __name__ == '__main__': + unittest.main()