comparison python/ppci/target/arm/armv7.lidl @ 342:86b02c98a717 devel

Moved target directory
author Windel Bouwman
date Sat, 01 Mar 2014 15:40:31 +0100
parents python/target/armv7.lidl@44f336460c2a
children
comparison
equal deleted inserted replaced
341:4d204f6f7d4e 342:86b02c98a717
1
2 # This file specifies the encoding of the arm instruction set.
3
4 fields {
5 word16 16 {
6 opcode 15:12
7 top2 15:14
8 top6 15:10
9 data_opcode 9..6
10 opB 11:9
11 Rm 8:6
12 Rn 5:3
13 Rt 2:0
14 }
15 }
16
17 patterns {
18 add = 0
19 sub, mul = 1..2
20 [r1, r2, r3, r4, r5] is todo = 1..5
21 [STR, STRH, STRB, LDRSB, LDR, LDRH, LDRB, LDRSH] is opcode = 0b0101 & opB = {0 to 7}
22
23 EQ, NE, CS, CC, MI, PL, VS, VC, HI, LS, GE, LT, GT, LE, AL = 0..14
24 [AND, EOR, LSL, LSR, ASR, ADC, SBC, ROR, TST, RSB, CMP, CMN, ORR, MUL, BIC, MVN] is 0..15
25
26 memop is STR | STRH | STRB | LDRSB | LDR | LDR | LDRH | LDRB | LDRSH
27 }
28
29
30 constructors
31 {
32 alu rs1, reg_or_imm, rd
33 memop Rt, [Rn, Rm] is memop & Rt & Rn & Rm
34 }
35
36