📄 testutils.inc
字号:
# r0-r3 are used as tmps, consider them call clobbered by these macros. .macro start .datafailmsg: .ascii "fail\n"passmsg: .ascii "pass\n" .text .global _start_start: .endm .macro exit rc ldi8 r1, \rc ldi8 r0, #1 trap #0 .endm .macro pass ldi8 r3, 5 ld24 r2, passmsg ldi8 r1, 1 ldi8 r0, 5 trap #0 exit 0 .endm .macro fail ldi8 r3, 5 ld24 r2, failmsg ldi8 r1, 1 ldi8 r0, 5 trap #0 exit 1 .endm .macro mvi_h_gr reg, val .if (\val >= -128) && (\val <= 127) ldi8 \reg, \val .else seth \reg, high(\val) or3 \reg, \reg, low(\val) .endif .endm .macro mvaddr_h_gr reg, addr seth \reg, high(\addr) or3 \reg, \reg, low(\addr) .endm# Other macros know this only clobbers r0. .macro test_h_gr reg, val mvaddr_h_gr r0, \val beq \reg, r0, test_gr\@ failtest_gr\@: .endm .macro mvi_h_condbit val ldi8 r0, 0 ldi8 r1, 1 .if \val cmp r0, r1 .else cmp r1, r0 .endif .endm .macro test_h_condbit val .if \val bc test_c1\@ failtest_c1\@: .else bnc test_c0\@ failtest_c0\@: .endif .endm .macro mvi_h_accum0 hi, lo mvi_h_gr r0, \hi mvtachi r0 mvi_h_gr r0, \lo mvtaclo r0 .endm .macro test_h_accum0 hi, lo mvfachi r1 test_h_gr r1, \hi mvfaclo r1 test_h_gr r1, \lo .endm
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -