-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO
95 lines (90 loc) · 1.9 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
Currently implemented instructions:
ADCS Rd, Rm
ADD Rd, SP, #imm8
ADD Rd, PC, #imm8
ADD SP, SP, #imm7
ADD Rd, Rm
ADDS Rd, Rn, #imm3
ADDS Rd, #imm8
ADDS Rd, Rn, Rm
ANDS Rd, Rm
ASRS Rd, Rm, #imm5
ASRS Rd, Rm
B label
B<c> label
BICS Rd, Rm
BKPT #imm8
BL label
BLX Rm
BX Rm
CMN Rn, Rm
CMP Rn, #imm8
CMP Rn, Rm
DMB #option
DSB #option
EORS Rn, Rm
ISB #option
LDMIA Rn!, {...}
LDR Rt, [PC, #imm8]
LDR Rt, [SP, #imm8]
LDR Rt, [Rn, #imm5]
LDR Rt, [Rn, Rm]
LDRB Rt, [Rn, #imm5]
LDRB Rt, [Rn, Rm]
LDRH Rt, [Rn, #imm5]
LDRH Rt, [Rn, Rm]
LDRSB Rt, [Rn, Rm]
LDRSH Rt, [Rn, Rm]
LSLS Rd, Rm, #imm5
LSLS Rd, Rm
LSRS Rd, Rm, #imm5
LSRS Rd, Rm
MOV Rd, Rm
MOVS Rd, #imm8
MOVS Rd, Rm
MRS Rd, spec_reg
MULS Rd, Rm
MVNS Rd, Rm
NOP
ORRS Rd, Rm
POP {...}
PUSH {...}
REV Rd, Rm
REV16 Rd, Rm
REVSH Rd, Rm
RORS Rd, Rm
RSBS Rd, Rm, #0
SEV
SBCS Rd, Rm
STMIA Rn!, {...}
STR Rt, [SP, #imm8]
STR Rt, [Rn, #imm5]
STR Rt, [Rn, Rm]
STRB Rt, [Rn, #imm5]
STRB Rt, [Rn, Rm]
STRH Rt, [Rn, #imm5]
STRH Rt, [Rn, Rm]
SUB SP, SP, #imm7
SUBS Rd, Rn, #imm3
SUBS Rd, #imm8
SUBS Rd, Rn, Rm
SXTB Rd, Rm
SXTH Rd, Rm
TST Rn, Rm
UDF #imm8
UXTB Rd, Rm
UXTH Rd, Rm
WFE
WFI
YIELD
Currently implemented escape hatches:
0xb700 terminate emulation
0xb701 dump registers
0xb702 console output
0xb703 console input
0xb704 check input status
Other items to be done:
- check if there is sufficient memory before loading the image.
- provide more escape hatches and functionality to interact with the host
- implement interrupt handlinig
- implement basic ARM peripherals