ar0 rn 0
ar1 rn 1
ar2 rn 2
ar3 rn 3
ar4 rn 4
ar5 rn 5
ar6 rn 6
ar7 rn 7
ar10 rn 10
ar11 rn 11
lk rn 14
ar15 rn 15
AREA DATA
align 4
export |r0|
r0: dcd 0
export |r1|
r1: dcd 0
export |r2|
r2: dcd 0
export |r3|
r3: dcd 0
export |r4|
r4: dcd 0
export |r5|
r5: dcd 0
export |r6|
r6: dcd 0
export |r7|
r7: dcd 0
export |time_of_last_poll|
time_of_last_poll: dcd 0
AREA CODE, READONLY
align 4
import |r0|
export |swi|
= "swi"
align 4
swi:
orr ar10,ar0,#1<<17 mov ar1,ar2
mov ar2,ar3
add ar3,sp,#4*8
ldmia ar3,{ar3-ar7}
swi 0x6f stmia ar10,{ar0-ar7}
ldmvcfd sp!,{ar4-ar10,pc}^
adr r2,s_title
swi 0x400df ldmeqfd sp!,{ar4-ar10,pc}^ s_title:
= "Nasty error - Cancel to quit"
= 0
align 4
export |xswi|
= "xswi"
align 4
xswi:
orr ar10,ar0,#1<<17 mov ar1,ar2
mov ar2,ar3
add ar3,sp,#4*8
ldmia ar3,{ar3-ar7}
swi 0x6f stmia ar10,{ar0-ar7}
mov ar0,#0
orr ar0,ar0,ar15
ldmfd sp!,{ar4-ar10,pc}^
regs_addr:
dcd r0
align 4
import |time_of_last_poll|
export |wimp_poll|
= "wimp_poll"
align 4
wimp_poll:
mov ar3,sp
swi 0x400c7
mov ar3,ar0
swi 0x42 str ar0,[ar2]
mov ar0,ar3
mov ar2,#0
wfs ar2
align 4
export |wimp_pollidle|
= "wimp_pollidle"
align 4
wimp_pollidle:
mov ar3,sp
swi 0x400e1
mov ar3,ar0
swi 0x42 str ar0,[ar2]
mov ar0,ar3
mov ar2,#0
wfs ar2
addr_time: dcd time_of_last_poll