OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [gdb-7.2/] [gdb/] [testsuite/] [gdb.asm/] [s390x.inc] - Blame information for rev 861

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 330 jeremybenn
### entry point code
2
        .macro gdbasm_startup
3
 
4
        # Align the stack pointer to an 8-byte boundary.
5
        lghi %r0,-16
6
        ngr %r15,%r0
7
 
8
        # Reserve space for the standard stack frame:
9
        # back chain, and space for the callee to save its registers.
10
        aghi %r15,-168
11
 
12
        # Zero this frame's back chain pointer.
13
        xc 0(8,%r15),0(%r15)
14
        .endm
15
 
16
 
17
### Call a function.
18
        .macro gdbasm_call subr
19
        brasl %r14, \subr
20
        .endm
21
 
22
 
23
### Exit with a zero status.
24
        .macro gdbasm_exit0
25
        lghi %r2, 0
26
        svc 1
27
        .endm
28
 
29
### Standard subroutine prologue.
30
        .macro gdbasm_enter
31
 
32
        # Save all the callee-saves registers.  What the heck.
33
        stmg %r6,%r15,48(%r15)
34
 
35
        # Allocate the stack frame, and write the back chain pointer.
36
        # Keep the original SP in %r11.
37
        lgr %r11,%r15
38
        aghi %r15,-168
39
        stg %r11,0(%r15)
40
        .endm
41
 
42
 
43
### Standard subroutine epilogue.
44
        .macro gdbasm_leave
45
 
46
        # Restore all our registers.  This also pops the frame, and
47
        # restores our return address.
48
        lmg %r6,%r15,216(%r15)
49
 
50
        # Jump to the return address.
51
        br %r14
52
 
53
        .endm
54
 
55
### Several nops.
56
        .macro gdbasm_several_nops
57
        lr %r0, %r0
58
        lr %r0, %r0
59
        lr %r0, %r0
60
        lr %r0, %r0
61
        .endm
62
 
63
### Declare an `int' variable.
64
        .purgem gdbasm_datavar
65
        .macro gdbasm_datavar name value
66
        .data
67
\name:
68
        .long \value
69
        .endm

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.