URL
https://opencores.org/ocsvn/scarts/scarts/trunk
Subversion Repositories scarts
[/] [scarts/] [trunk/] [toolchain/] [scarts-gdb/] [gdb-6.8/] [gdb/] [testsuite/] [gdb.asm/] [s390.inc] - Rev 25
Compare with Previous | Blame | View Log
### entry point code.macro gdbasm_startup# Align the stack pointer to an 8-byte boundary.lhi %r0,-8nr %r15,%r0# Reserve space for the standard stack frame:# back chain, and space for the callee to save its registers.ahi %r15,-104# Zero this frame's back chain pointer.xc 0(4,%r15),0(%r15).endm### Call a function..macro gdbasm_call subr# Put the address of the constant in %r1, load the constant# (SUBR's address), and jump to it.bras %r1, .Lafterconst\@.long \subr.Lafterconst\@:l %r1,0(%r1)basr %r14,%r1.endm### Exit with a zero status..macro gdbasm_exit0lhi %r2, 0svc 1.endm### Standard subroutine prologue..macro gdbasm_enter# Save all the callee-saves registers. What the heck.stm %r6,%r15,24(%r15)# Allocate the stack frame, and write the back chain pointer.# Keep the original SP in %r11.lr %r1,%r15ahi %r15,-96st %r1,0(%r15).endm### Standard subroutine epilogue..macro gdbasm_leave# Restore all our registers. This also pops the frame, and# restores our return address.lm %r6,%r15,120(%r15)# Jump to the return address.br %r14.endm### Several nops..macro gdbasm_several_nopslr %r0, %r0lr %r0, %r0lr %r0, %r0lr %r0, %r0.endm### Declare an `int' variable..purgem gdbasm_datavar.macro gdbasm_datavar name value.data\name:.long \value.endm
