1 comment "subroutine prologue" 2 .macro gdbasm_enter 3 push %rbp 4 mov %rsp,%rbp 5 .endm 6 7 comment "subroutine epilogue" 8 .macro gdbasm_leave 9 pop %rbp 10 ret 11 .endm 12 13 .macro gdbasm_call subr 14 call \subr 15 .endm 16 17 .macro gdbasm_several_nops 18 nop 19 nop 20 nop 21 nop 22 .endm 23 24 comment "exit (0)" 25 .macro gdbasm_exit0 26 hlt 27 .endm 28 29 comment "crt0 startup" 30 .macro gdbasm_startup 31 xor %rbp, %rbp 32 .endm 33 34 comment "Declare a data variable" 35 .macro gdbasm_datavar name value 36 .data 37\name: 38 .long \value 39 .endm 40