Sync usage with man page.
[netbsd-mini2440.git] / gnu / dist / gdb6 / gdb / testsuite / gdb.asm / m68hc11.inc
blobe8f5018c0b212808cf7ed19562de526464d81ed0
1         comment "subroutine prologue"
2         .macro gdbasm_enter
3         ldx     _.frame
4         pshx
5         sts     _.frame
6         .endm
8         comment "subroutine epilogue"
9         .macro gdbasm_leave
10         pulx
11         stx     _.frame
12         rts
13         .endm
15         .macro gdbasm_call subr
16         jsr     \subr
17         .endm
19         .macro gdbasm_several_nops
20         nop
21         nop
22         nop
23         nop
24         .endm
26         comment "exit (0)"
27         .macro gdbasm_exit0
28         clra
29         clrb
30         wai
31         .endm
33         comment "crt0 startup"
34         .macro gdbasm_startup
35         .sect .data
36         .globl _.frame
37 _.frame: .word 0
38         .previous
39         lds     #0x2000
40         ; the linker script maps the data section in ROM (LMA) for its initial
41         ; content and in RAM (VMA) for its runtime value.  We have to do
42         ; what the default crt0 does: copy the ROM part in RAM.
43         ; (otherwise any 'globalvar' appears uninitialized)
44         ldx     #__data_image
45         ldy     #__data_section_start
46         bra     Start_map
47 Loop:
48         ldaa    0,x
49         staa    0,y
50         inx
51         iny
52 Start_map:
53         cpx     #__data_image_end
54         blo     Loop
55 Done:
56         clr     _.frame
57         clr     _.frame+1
58         .endm
60         comment "Declare a data variable"
61         .purgem gdbasm_datavar
62         .macro gdbasm_datavar name value
63         .data
64 \name:
65         .word   \value
66         .endm