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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gdb-7.1/] [gdb/] [testsuite/] [gdb.asm/] [m68hc11.inc] - Rev 816

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

        comment "subroutine prologue"
        .macro gdbasm_enter
        ldx     _.frame
        pshx
        sts     _.frame
        .endm

        comment "subroutine epilogue"
        .macro gdbasm_leave
        pulx
        stx     _.frame
        rts
        .endm

        .macro gdbasm_call subr
        jsr     \subr
        .endm

        .macro gdbasm_several_nops
        nop
        nop
        nop
        nop
        .endm

        comment "exit (0)"
        .macro gdbasm_exit0
        clra
        clrb
        wai
        .endm

        comment "crt0 startup"
        .macro gdbasm_startup
        .sect .data
        .globl _.frame
_.frame: .word 0
        .previous
        lds     #0x2000
        ; the linker script maps the data section in ROM (LMA) for its initial
        ; content and in RAM (VMA) for its runtime value.  We have to do
        ; what the default crt0 does: copy the ROM part in RAM.
        ; (otherwise any 'globalvar' appears uninitialized)
        ldx     #__data_image
        ldy     #__data_section_start
        bra     Start_map
Loop:
        ldaa    0,x
        staa    0,y
        inx
        iny
Start_map:
        cpx     #__data_image_end
        blo     Loop
Done:
        clr     _.frame
        clr     _.frame+1
        .endm

        comment "Declare a data variable"
        .purgem gdbasm_datavar
        .macro gdbasm_datavar name value
        .data
\name:
        .word   \value
        .endm

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

powered by: WebSVN 2.1.0

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