51 lines
681 B
PHP
51 lines
681 B
PHP
comment "subroutine prologue"
|
|
.macro gdbasm_enter
|
|
mov.w r6,@-r7
|
|
mov.w r7,r6
|
|
subs #2,r7
|
|
.endm
|
|
|
|
comment "subroutine epilogue"
|
|
.macro gdbasm_leave
|
|
adds #2,r7
|
|
mov.w @r7+,r6
|
|
rts
|
|
.endm
|
|
|
|
.macro gdbasm_call subr
|
|
jsr @\subr
|
|
.endm
|
|
|
|
.macro gdbasm_several_nops
|
|
nop
|
|
nop
|
|
nop
|
|
nop
|
|
.endm
|
|
|
|
comment "exit (0)"
|
|
.macro gdbasm_exit0
|
|
mov.w #0xdead,r1
|
|
mov.w #0xbeef,r2
|
|
mov.w #0,r0
|
|
sleep
|
|
.endm
|
|
|
|
comment "crt0 startup"
|
|
.macro gdbasm_startup
|
|
.section .stack
|
|
_stack: .long 1
|
|
.section .text
|
|
.global _start
|
|
_start:
|
|
mov.w #0,r6
|
|
mov.w #_stack,sp ; or mov.l #_stack,sp
|
|
mov.w #_edata,r0
|
|
mov.w #_end,r1
|
|
sub.w r2,r2
|
|
.loop: mov.w r2,@r0
|
|
adds #2,r0
|
|
cmp r1,r0
|
|
blo .loop
|
|
.endm
|