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
|
pub struct CSPR {
n: bool,
z: bool,
c: bool,
v: bool,
}
impl CSPR {
pub fn new() -> Self {
CSPR {
n: false,
z: false,
c: false,
v: false,
}
}
}
pub struct Registers {
pub r1: i32,
r2: i32,
r3: i32,
r4: i32,
r5: i32,
r6: i32,
r7: i32,
r8: i32,
r9: i32,
r10: i32,
r11: i32,
r12: i32,
ip: i32,
sp: i32,
lr: i32,
pc: u32,
nzcv: CSPR,
}
impl Registers {
pub fn new() -> Self {
Registers {
r1: 0,
r2: 0,
r3: 0,
r4: 0,
r5: 0,
r6: 0,
r7: 0,
r8: 0,
r9: 0,
r10: 0,
r11: 0,
r12: 0,
ip: 0,
sp: 0,
lr: 0,
pc: 0,
nzcv: CSPR::new(),
}
}
}
|