mirror of
https://github.com/supleed2/ELEC50010-IAC-CW.git
synced 2024-12-22 21:35:48 +00:00
Fix divu testcases and add divu-5 testcase
Updated the edgecase ref file
This commit is contained in:
parent
88eadf4f27
commit
9aa405120f
|
@ -1,7 +1,7 @@
|
||||||
3c04ffff
|
3c04FFFF
|
||||||
34a4fffc
|
3484FFFC
|
||||||
3c05ffff
|
3c05ffff
|
||||||
34a5fffe
|
34A5FFFE
|
||||||
0085001B
|
0085001B
|
||||||
00001012
|
00001010
|
||||||
00000008
|
00000008
|
|
@ -1 +1 @@
|
||||||
2
|
4294967292
|
|
@ -1,6 +1,6 @@
|
||||||
34040004
|
34040004
|
||||||
3c05ffff
|
3c05FFFF
|
||||||
34a5fffe
|
34A5FFFC
|
||||||
0085001B
|
0085001B
|
||||||
00001012
|
00001010
|
||||||
00000008
|
00000008
|
|
@ -1 +1 @@
|
||||||
2
|
4
|
9
inputs/divu/divu-5.instr.txt
Normal file
9
inputs/divu/divu-5.instr.txt
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
3404FF00
|
||||||
|
3484FF04
|
||||||
|
340500FF
|
||||||
|
34A500FF
|
||||||
|
0085001A
|
||||||
|
00002010
|
||||||
|
00002812
|
||||||
|
00851021
|
||||||
|
00000008
|
1
inputs/divu/divu-5.ref.txt
Normal file
1
inputs/divu/divu-5.ref.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
260
|
|
@ -20,61 +20,63 @@ ref file = 2
|
||||||
00851021
|
00851021
|
||||||
00000008
|
00000008
|
||||||
|
|
||||||
divu - 3 // -ve/-ve
|
divu - 3 // check if unsigned despite MSB=1
|
||||||
|
|
||||||
lui $4, $0, 65535
|
lui $4, $0, 0xFFFF
|
||||||
ori $4, $4, -4
|
ori $4, $4, 0xFFFC
|
||||||
lui $5, $0, 65535
|
lui $5, $0, 0xFFFF
|
||||||
ori $5, $0, -2
|
ori $5, $5, 0xFFFE
|
||||||
divu $4, $5
|
divu $4, $5
|
||||||
mflo $2
|
mfhi $2 // look at remainder
|
||||||
jr $0
|
jr $0
|
||||||
|
|
||||||
reg file = 2
|
reg file = 4294967292 (0xFFFFFFFC)
|
||||||
|
|
||||||
3c04ffff
|
3c04FFFF
|
||||||
34a4fffc
|
3484FFFC
|
||||||
3c05ffff
|
3c05ffff
|
||||||
34a5fffe
|
34A5FFFE
|
||||||
0085001B
|
0085001B
|
||||||
00001012
|
00001010
|
||||||
00000008
|
00000008
|
||||||
|
|
||||||
divu - 4 // +ve/-ve
|
divu - 4 // +ve/(-ve value if signed but unsigned div here)
|
||||||
|
|
||||||
ori $4, $0, 4
|
ori $4, $0, 0x4
|
||||||
lui $5, $0, 65535 (All 1s 16 bits)
|
lui $5, $0, 0xFFFF
|
||||||
ori $5, $5, -2
|
ori $5, $5, 0xFFFC
|
||||||
divu $4, $5
|
divu $4, $5
|
||||||
mflo $2
|
mfhi $2
|
||||||
jr $0
|
jr $0
|
||||||
|
|
||||||
reg file = -2
|
reg file = 4 (0x4)
|
||||||
|
|
||||||
34040004
|
34040004
|
||||||
3c05ffff
|
3c05FFFF
|
||||||
3405fffe
|
34A5FFFC
|
||||||
0085001A
|
0085001B
|
||||||
00001012
|
00001010
|
||||||
00000008
|
00000008
|
||||||
|
|
||||||
|
|
||||||
divu - 5 // is it seperating quotients & remainders correctly - when dealing with negatives
|
divu - 5 // is it seperating quotients & remainders correctly
|
||||||
|
|
||||||
ori $4, $0, 4
|
lui $4, $0, 0xFF00
|
||||||
lui $4, $4, 65535
|
ori $4, $4, 0xFF04
|
||||||
ori $5, $0, 3
|
lui $5, $0, 0x00FF
|
||||||
lui $5, $5, 65535
|
ori $5, $5, 0x00FF
|
||||||
divu $4, $5
|
divu $4, $5
|
||||||
mfhi $4
|
mfhi $4
|
||||||
mflo $5
|
mflo $5
|
||||||
addu $2,$4,$5
|
addu $2,$4,$5
|
||||||
jr $0
|
jr $0
|
||||||
|
|
||||||
ref file = 2 - as we are adding -1 and -1 using addu
|
ref file = 256 (remainder) + 4 (quotient)
|
||||||
|
|
||||||
34040004
|
3404FF00
|
||||||
34050003
|
3484FF04
|
||||||
|
340500FF
|
||||||
|
34A500FF
|
||||||
0085001A
|
0085001A
|
||||||
00002010
|
00002010
|
||||||
00002812
|
00002812
|
||||||
|
@ -85,6 +87,3 @@ ref file = 2 - as we are adding -1 and -1 using addu
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue