* gdb.asm/alpha.inc, gdb.asm/frv.inc, gdb.asm/i386.inc,
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.asm / sh.inc
1 # You'll find a bunch of nop opcodes in the below macros. They are
2 # there to keep the code correctly aligned. Be careful to maintain
3 # them when changing the code.
4
5 comment "subroutine declare"
6 .purgem gdbasm_declare
7 .macro gdbasm_declare name
8 .align 1
9 .global \name
10 \name:
11 .endm
12
13 comment "subroutine prologue"
14 .macro gdbasm_enter
15 mov.l r14,@-r15
16 sts.l pr,@-r15
17 mov r15,r14
18 nop
19 .endm
20
21 comment "subroutine epilogue"
22 .macro gdbasm_leave
23 mov r14,r15
24 lds.l @r15+,pr
25 mov.l @r15+,r14
26 rts
27 nop
28 nop
29 .endm
30
31 comment "subroutine end"
32 .purgem gdbasm_end
33 .macro gdbasm_end name
34 .size \name, .-_foo1
35 .align 1
36 .endm
37
38 comment "subroutine call"
39 .macro gdbasm_call subr
40 mov.l .Lconst\@,r1
41 bra .Lafterconst\@
42 nop
43 nop
44 .Lconst\@:
45 .align 2
46 .long \subr
47 .align 1
48 .Lafterconst\@:
49 jsr @r1
50 nop
51 .endm
52
53 .macro gdbasm_several_nops
54 nop
55 nop
56 nop
57 nop
58 .endm
59
60 comment "exit (0)"
61 .macro gdbasm_exit0
62 sleep
63 nop
64 .endm
65
66 comment "crt0 startup"
67 .macro gdbasm_startup
68 mov.l .stackaddr,r15
69 bra .afterstackaddr
70 nop
71 nop
72 .align 2
73 .stackaddr:
74 .long 196608 ! 0x30000
75 .align 1
76 .afterstackaddr:
77 .endm
78
79 comment "Declare a data variable"
80 .purgem gdbasm_datavar
81 .macro gdbasm_datavar name value
82 .data
83 .align 2
84 .type \name, @object
85 .size \name, 4
86 \name:
87 .long \value
88 .endm
This page took 0.036289 seconds and 5 git commands to generate.