📄 sh.inc
字号:
# You'll find a bunch of nop opcodes in the below macros. They are# there to keep the code correctly aligned. Be careful to maintain# them when changing the code. comment "subroutine declare" .purgem gdbasm_declare .macro gdbasm_declare name .align 1 .global \name\name: .endm comment "subroutine prologue" .macro gdbasm_enter mov.l r14,@-r15 sts.l pr,@-r15 mov r15,r14 nop .endm comment "subroutine epilogue" .macro gdbasm_leave mov r14,r15 lds.l @r15+,pr mov.l @r15+,r14 rts nop nop .endm comment "subroutine end" .purgem gdbasm_end .macro gdbasm_end name .size \name, .-_foo1 .align 1 .endm comment "subroutine call" .macro gdbasm_call subr mov.l .Lconst\@,r1 bra .Lafterconst\@ nop nop.Lconst\@: .align 2 .long \subr .align 1.Lafterconst\@: jsr @r1 nop .endm .macro gdbasm_several_nops nop nop nop nop .endm comment "exit (0)" .macro gdbasm_exit0 sleep nop .endm comment "crt0 startup" .macro gdbasm_startup mov.l .stackaddr,r15 bra .afterstackaddr nop nop .align 2.stackaddr: .long 196608 ! 0x30000 .align 1.afterstackaddr: .endm comment "Declare a data variable" .purgem gdbasm_datavar .macro gdbasm_datavar name value .data .align 2 .type \name, @object .size \name, 4\name: .long \value .endm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -