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