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()