Introduce the "with" command
[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, . - \name
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 comment "If there is a _stack symbol, use it for setting up the stack"
69 comment "pointer. In hosted mode (when there is no _stack symbol),"
70 comment "the operating system will have initialized it already."
71 mov.l .stackaddr, r0
72 tst r0, r0
73 bt .afterstackaddr
74 mov r0, r15
75 bra .afterstackaddr
76 nop
77 .align 2
78 .stackaddr:
79 .weak _stack
80 .long _stack
81 .align 1
82 .afterstackaddr:
83 .endm
84
85 comment "Declare a data variable"
86 .purgem gdbasm_datavar
87 .macro gdbasm_datavar name value
88 .data
89 .align 2
90 .type \name, @object
91 .size \name, 4
92 \name:
93 .long \value
94 .endm
This page took 0.031959 seconds and 4 git commands to generate.