comment "subroutine prologue" | |
.macro gdbasm_enter | |
push %rbp | |
mov %rsp,%rbp | |
.endm | |
comment "subroutine epilogue" | |
.macro gdbasm_leave | |
pop %rbp | |
ret | |
.endm | |
.macro gdbasm_call subr | |
call \subr | |
.endm | |
.macro gdbasm_several_nops | |
nop | |
nop | |
nop | |
nop | |
.endm | |
comment "exit (0)" | |
.macro gdbasm_exit0 | |
hlt | |
.endm | |
comment "crt0 startup" | |
.macro gdbasm_startup | |
xor %rbp, %rbp | |
.endm | |
comment "Declare a data variable" | |
.purgem gdbasm_datavar | |
.macro gdbasm_datavar name value | |
.data | |
\name: | |
.long \value | |
.endm |