-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInterrupt Handler.s
More file actions
59 lines (49 loc) · 879 Bytes
/
Copy pathInterrupt Handler.s
File metadata and controls
59 lines (49 loc) · 879 Bytes
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
AREA INTHANDLER, CODE, READONLY
GET REG_DEFS.S
EXPORT INTHAND
EXPORT MSCNT
EXPORT SCNT
EXPORT MICNT
INTHAND
SUB LR, LR, #4
STMFD SP!, {R0 - R4, lr}
LDR R0, =T0IR
LDR R1, [R0]
TST R1, #2_1
LDRNE R2, =2_1
STRNE R2, [R0]
BLNE TIMERMATCH0INT
LDR R0, =VICVECTADDR
LDR R1, =0
STR R1, [R0]
LDMFD SP!, {R0 - R4,pc}^
TIMERMATCH0INT
LDR R0, =MSCNT
LDR R1, [R0]
LDR R2, =0xFFFF
AND R2, R2, R1
AND R3, R1, #(0xF << 16)
AND R4, R1, #(0XF << 24)
LDR R1, =0
ADD R2, #5
CMP R2, #1000
SUBHS R2, #1000
ADDHS R3, #(1 << 16)
CMP R3, #(60 << 16)
SUBHS R3, #(60 << 16)
ADDHS R4, #(1 << 24)
CMP R4, #(0xFF << 24)
SUBHS R4, #(1 << 24)
ORR R1, R1, R2
ORR R1, R1, R3
ORR R1, R1, R4
STR R1, [R0]
LDR R0, =VICVECTADDR
LDR R1, =0
STR R1, [R0]
LDMFD SP!, {R0 - R4, pc}^
AREA TIMERSTORAGE, DATA, READWRITE
MSCNT DCW 0
SCNT DCB 0
MICNT DCB 0
END