ELEC50010-IAC-CW/reference/edgecases/divurefneedsfixing.txt
jl7719 9aa405120f Fix divu testcases and add divu-5 testcase
Updated the edgecase ref file
2020-12-19 05:37:54 +00:00

90 lines
1 KiB
Plaintext

==========DIVU - Divide unsigned==========
divu - 2 // is it seperating quotients & remainders correctly
ori $4, $0, 4
ori $5, $0, 3
divu $4, $5
mfhi $4
mflo $5
addu $2,$4,$5
jr $0
ref file = 2
34040004
34050003
0085001B
00002010
00002812
00851021
00000008
divu - 3 // check if unsigned despite MSB=1
lui $4, $0, 0xFFFF
ori $4, $4, 0xFFFC
lui $5, $0, 0xFFFF
ori $5, $5, 0xFFFE
divu $4, $5
mfhi $2 // look at remainder
jr $0
reg file = 4294967292 (0xFFFFFFFC)
3c04FFFF
3484FFFC
3c05ffff
34A5FFFE
0085001B
00001010
00000008
divu - 4 // +ve/(-ve value if signed but unsigned div here)
ori $4, $0, 0x4
lui $5, $0, 0xFFFF
ori $5, $5, 0xFFFC
divu $4, $5
mfhi $2
jr $0
reg file = 4 (0x4)
34040004
3c05FFFF
34A5FFFC
0085001B
00001010
00000008
divu - 5 // is it seperating quotients & remainders correctly
lui $4, $0, 0xFF00
ori $4, $4, 0xFF04
lui $5, $0, 0x00FF
ori $5, $5, 0x00FF
divu $4, $5
mfhi $4
mflo $5
addu $2,$4,$5
jr $0
ref file = 256 (remainder) + 4 (quotient)
3404FF00
3484FF04
340500FF
34A500FF
0085001A
00002010
00002812
00851021
00000008