Mercurial > lcfOS
comparison python/ppci/target/msp430/msp430.py @ 381:6df89163e114
Fix section and ldr pseudo instruction
author | Windel Bouwman |
---|---|
date | Sat, 26 Apr 2014 17:41:56 +0200 |
parents | 3bb7dcfe5529 |
children | c0d9837acde8 |
comparison
equal
deleted
inserted
replaced
380:67a584582aee | 381:6df89163e114 |
---|---|
2 import types | 2 import types |
3 from ..basetarget import Register, Instruction, Target | 3 from ..basetarget import Register, Instruction, Target |
4 from ppci import CompilerError | 4 from ppci import CompilerError |
5 from .registers import r10, r11, r12, r13, r14, r15 | 5 from .registers import r10, r11, r12, r13, r14, r15 |
6 from .instructions import Reti, Mov, Add | 6 from .instructions import Reti, Mov, Add |
7 from ...assembler import BaseAssembler | |
8 | |
7 | 9 |
8 # Create the target class (singleton): | 10 # Create the target class (singleton): |
11 | |
12 class Msp430Assembler(BaseAssembler): | |
13 def __init__(self, target): | |
14 super().__init__(target) | |
15 self.make_parser() | |
16 | |
9 | 17 |
10 class Msp430Target(Target): | 18 class Msp430Target(Target): |
11 def __init__(self): | 19 def __init__(self): |
12 super().__init__('msp430') | 20 super().__init__('msp430') |
13 | 21 |
37 lambda rhs: Add(rhs[1], rhs[3])) | 45 lambda rhs: Add(rhs[1], rhs[3])) |
38 | 46 |
39 self.add_keyword('reti') | 47 self.add_keyword('reti') |
40 self.add_instruction(['reti'], lambda rhs: Reti()) | 48 self.add_instruction(['reti'], lambda rhs: Reti()) |
41 | 49 |
50 self.assembler = Msp430Assembler(self) | |
42 | 51 |
43 | 52 |
44 msp430target = Msp430Target() | 53 msp430target = Msp430Target() |
45 | 54 |
46 | 55 |