51 lines
1.5 KiB
ArmAsm
51 lines
1.5 KiB
ArmAsm
.syntax unified
|
|
.cpu cortex-a7
|
|
.thumb
|
|
@ SBL1 pop-compensation stublets for saimaa (v3: slots hold STUBLET
|
|
@ addresses, never raw CONTS; S4<->S5 ping-pong stage each other).
|
|
.text
|
|
.global stub10_a, stub2, stub10_b, stub6_a, stub10_c, stub6_b, stub8
|
|
stub10_a: @ N=10, jump CONT=0x802f65d
|
|
push {r4-r7}
|
|
push {r8-r11,ip,lr}
|
|
ldr ip, =stub10_a
|
|
str ip, [sp, #36]
|
|
ldr pc, =0x802f65d
|
|
stub2: @ N=2, jump CONT=0x802f665
|
|
push {r4-r5}
|
|
ldr ip, =stub2
|
|
str ip, [sp, #4]
|
|
ldr pc, =0x802f665
|
|
stub10_b: @ N=10, jump CONT=0x8013ba5
|
|
push {r4-r7}
|
|
push {r8-r11,ip,lr}
|
|
ldr ip, =stub10_b
|
|
str ip, [sp, #36]
|
|
ldr pc, =0x8013ba5
|
|
stub6_a: @ N=6, jump CONT=0x802f681,
|
|
@ stage stub10_c for upcoming S5
|
|
push {r4-r7,lr}
|
|
push {r0}
|
|
ldr ip, =stub10_c
|
|
str ip, [sp, #20]
|
|
ldr pc, =0x802f681
|
|
stub10_c: @ N=10, jump CONT=0x8016183,
|
|
@ restage stub6_a for future S4
|
|
push {r4-r7}
|
|
push {r8-r11,ip,lr}
|
|
ldr ip, =stub6_a
|
|
str ip, [sp, #36]
|
|
ldr pc, =0x8016183
|
|
stub6_b: @ N=6, jump CONT=0x8018a8d
|
|
push {r4-r7,lr}
|
|
push {r0}
|
|
ldr ip, =stub6_b
|
|
str ip, [sp, #20]
|
|
ldr pc, =0x8018a8d
|
|
stub8: @ N=8, jump CONT=0x802f67d
|
|
push {r4-r7,lr}
|
|
push {r0-r2}
|
|
ldr ip, =stub8
|
|
str ip, [sp, #28]
|
|
ldr pc, =0x802f67d
|