Mercurial > lcfOS
view python/target/armtarget.py @ 340:c7cc54c0dfdf devel
Test featurebranch
author | Windel Bouwman |
---|---|
date | Sun, 23 Feb 2014 16:24:01 +0100 |
parents | 6f4753202b9a |
children | 4d204f6f7d4e |
line wrap: on
line source
import struct from .basetarget import Register, Instruction, Target, Label, LabelRef from .basetarget import Imm32, Imm8, Imm7, Imm3 from .arminstructions import allins, Reg8Op, ArmRegister from .arminstructions import thumb_assembly_rules from .armframe import ArmFrame from .arminstructionselector import ArmInstructionSelector """ ARM target description. """ # TODO: encode this in DSL (domain specific language) # TBD: is this required? # TODO: make a difference between armv7 and armv5? class ArmThumbTarget(Target): def __init__(self): super().__init__('arm_thumb') for i in allins: self.addInstruction(i) # TODO: fix this nicer? #setattr(self, i.__name__, i) self.check() self.ins_sel = ArmInstructionSelector() self.FrameClass = ArmFrame self.assembler_rules = thumb_assembly_rules class ArmArmTarget(Target): def __init__(self): super().__init__('arm_arm')