notaz.gp2x.de
/
ginge.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
blame
|
history
|
raw
|
HEAD
loader: try to make input generic, with caanoo support
[ginge.git]
/
loader
/
emu_arm.s
1
@ vim:filetype=armasm
2
.text
3
4
@ save registers and flags and call emu_handle_op
5
@ r0 and r14 must be saved by caller, r0 is arg for handle_op
6
@ on return everything is restored except lr, which is used to return
7
8
.globl emu_call_handle_op
9
emu_call_handle_op:
10
str sp, [sp, #(-0xf00 + 4*13)]
11
sub sp, sp, #0xf00
12
add sp, sp, #4
13
stmia sp, {r1-r12}
14
sub sp, sp, #4
15
mrs r2, cpsr
16
mov r1, sp
17
str r2, [sp, #4*15]
18
mov r4, lr
19
bl emu_handle_op
20
ldr r1, [sp, #4*15]
21
mov lr, r4
22
msr cpsr_f, r1
23
ldmia sp, {r0-r13}
24
bx lr
25