forked from mirror/qemu
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
1.3 KiB
PHTML
118 lines
1.3 KiB
PHTML
.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
|