85 lines
919 B
ArmAsm
85 lines
919 B
ArmAsm
# mach: crisv3 crisv8 crisv10 crisv32
|
|
# output: 0\n0\n0\n0\n0\n0\n
|
|
|
|
# Test that jsr Rn and jsr [PC+] work.
|
|
|
|
.include "testutils.inc"
|
|
start
|
|
x:
|
|
move.d 0f,r6
|
|
setf nzvc
|
|
jsr r6
|
|
.if 1; ..asm.arch.cris.v32
|
|
nop
|
|
.endif
|
|
0:
|
|
test_move_cc 1 1 1 1
|
|
move srp,r3
|
|
sub.d 0b,r3
|
|
checkr3 0
|
|
|
|
move.d 1f,r0
|
|
setf nzvc
|
|
jsr r0
|
|
.if 1 ; ..asm.arch.cris.v32
|
|
moveq 0,r0
|
|
.endif
|
|
6:
|
|
nop
|
|
quit
|
|
|
|
2:
|
|
test_move_cc 0 0 0 0
|
|
move srp,r3
|
|
sub.d 3f,r3
|
|
checkr3 0
|
|
jsr 4f
|
|
.if 1 ; ..asm.arch.cris.v32
|
|
nop
|
|
.endif
|
|
7:
|
|
nop
|
|
quit
|
|
|
|
8:
|
|
move srp,r3
|
|
sub.d 7b,r3
|
|
checkr3 0
|
|
quit
|
|
|
|
4:
|
|
move srp,r3
|
|
sub.d 7b,r3
|
|
checkr3 0
|
|
move.d 5f,r3
|
|
jump r3
|
|
.if 1; ..asm.arch.cris.v32
|
|
moveq 0,r3
|
|
.endif
|
|
quit
|
|
|
|
.space 32770,0
|
|
1:
|
|
test_move_cc 1 1 1 1
|
|
move srp,r3
|
|
sub.d 6b,r3
|
|
checkr3 0
|
|
|
|
clearf cznv
|
|
jsr 2b
|
|
.if 1; ..asm.arch.cris.v32
|
|
nop
|
|
.endif
|
|
3:
|
|
|
|
quit
|
|
|
|
5:
|
|
move srp,r3
|
|
sub.d 7b,r3
|
|
checkr3 0
|
|
jump 8b
|
|
.if 1 ; ..asm.arch.cris.v32
|
|
nop
|
|
.endif
|
|
quit
|