.syntax no_register_prefix | |
.macro start | |
.text | |
.global main | |
main: | |
.endm | |
.macro quit | |
jump pass | |
nop | |
.endm | |
.macro pass | |
jump pass | |
nop | |
.endm | |
.macro startnostack | |
start | |
.endm | |
.macro fail | |
.data | |
99: | |
.asciz " checkr3 failed\n" | |
.text | |
move.d 99b, $r10 | |
jsr _fail | |
nop | |
.endm | |
.macro checkr3 val | |
cmp.d 0x\val, $r3 | |
beq 100f | |
nop | |
.data | |
99: | |
.asciz "checkr3 failed\n" | |
.text | |
move.d 99b, $r10 | |
jsr _fail | |
nop | |
100: | |
.endm | |
; Test the condition codes | |
.macro test_cc N Z V C | |
.if \N | |
bpl 9f | |
nop | |
.else | |
bmi 9f | |
nop | |
.endif | |
.if \Z | |
bne 9f | |
nop | |
.else | |
beq 9f | |
nop | |
.endif | |
.if \V | |
bvc 9f | |
nop | |
.else | |
bvs 9f | |
nop | |
.endif | |
.if \C | |
bcc 9f | |
nop | |
.else | |
bcs 9f | |
nop | |
.endif | |
ba 8f | |
nop | |
9: | |
.data | |
99: | |
.asciz "test_move_cc failed\n" | |
.text | |
move.d 99b, $r10 | |
jsr _fail | |
nop | |
8: | |
.endm | |
.macro test_move_cc N Z V C | |
.if \N | |
bpl 9f | |
nop | |
.else | |
bmi 9f | |
nop | |
.endif | |
.if \Z | |
bne 9f | |
nop | |
.else | |
beq 9f | |
nop | |
.endif | |
ba 8f | |
nop | |
9: | |
.data | |
99: | |
.asciz "test_move_cc failed\n" | |
.text | |
move.d 99b, $r10 | |
jsr _fail | |
nop | |
8: | |
.endm |