18 lines
385 B
ArmAsm
18 lines
385 B
ArmAsm
.define .gto
|
|
|
|
.text
|
|
|
|
!r0 contains descriptor addres
|
|
.gto:
|
|
addr 0(sp), r7 !first put future localbase in sp
|
|
subd 8(r0), r7
|
|
subd 4, r7
|
|
adjspd r7 !done
|
|
movd -4(sp), r1 !save this memory location
|
|
enter[], 0 !adjust local base
|
|
movd r1, 0(sp) !restore saved memory location
|
|
addr 0(sp), r7 !adjust stackpointer now
|
|
subd 4(r0), r7
|
|
adjspd r7
|
|
jump r0 !adjust programcounter
|