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
|
.global reset
reset:
ldr r0, =0xfee1dead
push {sp-lr}
push {r0}
@ NOTE: Esto genera una warning de gas debido a UNPREDICTABLE
@ writeback of base register, podría ser un bug del ensamblador,
@ pero también podría ser la interpretación correcta del manual
ldmia sp!, {ip-lr}^
mov r6, lr
msr cpsr_c, #0xd3
mrs r0, cpsr
udf
mrs r2, cpsr
ldr r3, =#0x16f
bic r3, r2, r3
msr cpsr_fxc, r3
mrs r4, cpsr
cmp r0, r0
mrs r5, spsr
nop
msr cpsr_fxc, r0
msr spsr_fxc, r0
mov pc, lr
.global undefined
undefined:
mrs r1, spsr
mrs r13, cpsr
movs pc, lr
|