mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-06-09 08:47:48 +00:00
190 lines
2.8 KiB
Plaintext
190 lines
2.8 KiB
Plaintext
; This test checks the effect of SET15 on multiplications.
|
|
incdir "tests"
|
|
include "dsp_base.inc"
|
|
|
|
; Results are in capitals like this: UNSIGNED
|
|
|
|
test_main:
|
|
CLR15
|
|
|
|
; Test MULXMVZ - SET15
|
|
CLR $ACC0
|
|
CLRP
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX1.H, #0x100
|
|
MULXMVZ $AX0.L, $AX1.H, $ACC0 ; SIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
|
|
CLR $ACC0
|
|
CLRP
|
|
SET15
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX1.H, #0x100
|
|
MULXMVZ $AX0.L, $AX1.H, $ACC0 ; UNSIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
CLR15
|
|
|
|
; Test MULXMV - SET15
|
|
CLR $ACC0
|
|
CLRP
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX1.H, #0x100
|
|
MULXMV $AX0.L, $AX1.H, $ACC0 ; SIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
|
|
CLR $ACC0
|
|
CLRP
|
|
SET15
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX1.H, #0x100
|
|
MULXMV $AX0.L, $AX1.H, $ACC0 ; UNSIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
CLR15
|
|
|
|
; Test MULXAC - SET15
|
|
CLR $ACC0
|
|
CLRP
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX1.H, #0x100
|
|
MULXAC $AX0.L, $AX1.H, $ACC0 ; SIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
|
|
CLR $ACC0
|
|
CLRP
|
|
SET15
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX1.H, #0x100
|
|
MULXAC $AX0.L, $AX1.H, $ACC0 ; UNSIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
CLR15
|
|
|
|
; Test MULX - SET15
|
|
CLR $ACC0
|
|
CLRP
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX1.H, #0x100
|
|
MULX $AX0.L, $AX1.H ; SIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
|
|
CLR $ACC0
|
|
CLRP
|
|
SET15
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX1.H, #0x100
|
|
MULX $AX0.L, $AX1.H ; UNSIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
CLR15
|
|
|
|
|
|
; Test MADDX - SET15
|
|
CLR $ACC0
|
|
CLRP
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX1.L, #0x100
|
|
MADDX $AX0.L, $AX1.L ; SIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
|
|
CLR $ACC0
|
|
CLRP
|
|
SET15
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX1.L, #0x100
|
|
MADDX $AX0.L, $AX1.L ; SIGNED (!)
|
|
MOVP $ACC0
|
|
call send_back
|
|
CLR15
|
|
|
|
|
|
; Test MULC - SET15
|
|
CLR $ACC0
|
|
CLRP
|
|
LRI $AC0.M, #0xFFFF
|
|
LRI $AX0.H, #0x100
|
|
MULC $AC0.M, $AX0.H ; SIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
|
|
CLR $ACC0
|
|
CLRP
|
|
SET15
|
|
LRI $AC0.M, #0xFFFF
|
|
LRI $AX0.H, #0x100
|
|
MULC $AC0.M, $AX0.H ; SIGNED (!)
|
|
MOVP $ACC0
|
|
call send_back
|
|
CLR15
|
|
|
|
|
|
; Test MULCAC - SET15
|
|
CLR $ACC0
|
|
CLRP
|
|
LRI $AC0.M, #0xFFFF
|
|
LRI $AX0.H, #0x100
|
|
MULCAC $AC0.M, $AX0.H, $ACC0 ; SIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
|
|
CLR $ACC0
|
|
CLRP
|
|
SET15
|
|
LRI $AC0.M, #0xFFFF
|
|
LRI $AX0.H, #0x100
|
|
MULCAC $AC0.M, $AX0.H, $ACC0 ; SIGNED (!)
|
|
MOVP $ACC0
|
|
call send_back
|
|
CLR15
|
|
|
|
|
|
; Test MUL - SET15
|
|
CLR $ACC0
|
|
CLRP
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX0.H, #0x100
|
|
MUL $AX0.L, $AX0.H ; SIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
|
|
CLR $ACC0
|
|
SET15
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX0.H, #0x100
|
|
MUL $AX0.L, $AX0.H ; SIGNED (!)
|
|
MOVP $ACC0
|
|
call send_back
|
|
CLR15
|
|
|
|
|
|
; Test MULAC - SET15
|
|
CLR $ACC0
|
|
CLRP
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX0.H, #0x100
|
|
MULAC $AX0.L, $AX0.H, $ACC0 ; SIGNED
|
|
MOVP $ACC0
|
|
call send_back
|
|
|
|
CLR $ACC0
|
|
SET15
|
|
LRI $AX0.L, #0xFFFF
|
|
LRI $AX0.H, #0x100
|
|
MULAC $AX0.L, $AX0.H, $ACC0 ; SIGNED (!)
|
|
MOVP $ACC0
|
|
call send_back
|
|
CLR15
|
|
|
|
|
|
|
|
|
|
|
|
; We're done, DO NOT DELETE THIS LINE
|
|
jmp end_of_test
|