diff python/ppci/target/basetarget.py @ 345:b4882ff0ed06

Added more arm isa tests
author Windel Bouwman
date Sun, 02 Mar 2014 17:12:08 +0100
parents 86b02c98a717
children 3bb7dcfe5529
line wrap: on
line diff
--- a/python/ppci/target/basetarget.py	Sat Mar 01 16:32:27 2014 +0100
+++ b/python/ppci/target/basetarget.py	Sun Mar 02 17:12:08 2014 +0100
@@ -135,6 +135,24 @@
         self.assembler_rules = []
         self.asm_keywords = []
 
+        # Base rules for constants:
+        self.add_rule('imm32', ['val32'], lambda x: x[0].val)
+        self.add_rule('imm32', ['imm16'], lambda x: x[0])
+
+        self.add_rule('imm16', ['val16'], lambda x: x[0].val)
+        self.add_rule('imm16', ['imm12'], lambda x: x[0])
+
+        self.add_rule('imm12', ['val12'], lambda x: x[0].val)
+        self.add_rule('imm12', ['imm8'], lambda x: x[0])
+
+        self.add_rule('imm8', ['val8'], lambda x: x[0].val)
+        self.add_rule('imm8', ['imm5'], lambda x: x[0])
+
+        self.add_rule('imm5', ['val5'], lambda x: x[0].val)
+        self.add_rule('imm5', ['imm3'], lambda x: x[0])
+
+        self.add_rule('imm3', ['val3'], lambda x: x[0].val)
+
     def add_keyword(self, kw):
         self.asm_keywords.append(kw)