mirror of
https://github.com/supleed2/ELEC50010-IAC-CW.git
synced 2024-12-22 21:35:48 +00:00
reference to with these instructions
This commit is contained in:
parent
044e972176
commit
88eadf4f27
90
reference/edgecases/divurefneedsfixing.txt
Normal file
90
reference/edgecases/divurefneedsfixing.txt
Normal file
|
@ -0,0 +1,90 @@
|
|||
==========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 // -ve/-ve
|
||||
|
||||
lui $4, $0, 65535
|
||||
ori $4, $4, -4
|
||||
lui $5, $0, 65535
|
||||
ori $5, $0, -2
|
||||
divu $4, $5
|
||||
mflo $2
|
||||
jr $0
|
||||
|
||||
reg file = 2
|
||||
|
||||
3c04ffff
|
||||
34a4fffc
|
||||
3c05ffff
|
||||
34a5fffe
|
||||
0085001B
|
||||
00001012
|
||||
00000008
|
||||
|
||||
divu - 4 // +ve/-ve
|
||||
|
||||
ori $4, $0, 4
|
||||
lui $5, $0, 65535 (All 1s 16 bits)
|
||||
ori $5, $5, -2
|
||||
divu $4, $5
|
||||
mflo $2
|
||||
jr $0
|
||||
|
||||
reg file = -2
|
||||
|
||||
34040004
|
||||
3c05ffff
|
||||
3405fffe
|
||||
0085001A
|
||||
00001012
|
||||
00000008
|
||||
|
||||
|
||||
divu - 5 // is it seperating quotients & remainders correctly - when dealing with negatives
|
||||
|
||||
ori $4, $0, 4
|
||||
lui $4, $4, 65535
|
||||
ori $5, $0, 3
|
||||
lui $5, $5, 65535
|
||||
divu $4, $5
|
||||
mfhi $4
|
||||
mflo $5
|
||||
addu $2,$4,$5
|
||||
jr $0
|
||||
|
||||
ref file = 2 - as we are adding -1 and -1 using addu
|
||||
|
||||
34040004
|
||||
34050003
|
||||
0085001A
|
||||
00002010
|
||||
00002812
|
||||
00851021
|
||||
00000008
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
48
reference/edgecases/sraref.txt
Normal file
48
reference/edgecases/sraref.txt
Normal file
|
@ -0,0 +1,48 @@
|
|||
==SRAV Shift right arithmetic variable ==
|
||||
|
||||
srav -2 // Will it be able to handle shifts greater than the highest 1 value
|
||||
|
||||
ori $4,$0,6
|
||||
ori $5,$0,16
|
||||
srav $2,$5,$4
|
||||
jr $0
|
||||
|
||||
ref = 0
|
||||
|
||||
34040006
|
||||
34050010
|
||||
00000008
|
||||
00851007
|
||||
|
||||
|
||||
srav - 3 // negative number - does it sign extened (negative)
|
||||
|
||||
lui $4, 0xFFFF
|
||||
ori $4, $4, 0x00FF
|
||||
ori $5, $0, 4
|
||||
srav $2, $4, $5
|
||||
jr $0
|
||||
|
||||
ref = FFFFF00F (4294963215 / -4081)
|
||||
|
||||
3c04ffff
|
||||
348400ff
|
||||
34050004
|
||||
00000008
|
||||
00A41007
|
||||
|
||||
srav - 4 // Does it sign extend 0s
|
||||
|
||||
lui $4, 0x0FFF
|
||||
ori $4, $4, 0x00FF
|
||||
ori $5, $0, 4
|
||||
srav $2, $4, $5
|
||||
jr $0
|
||||
|
||||
ref = 00FFF00F (16773135)
|
||||
|
||||
3c040fff
|
||||
348400ff
|
||||
34050004
|
||||
00000008
|
||||
00A41007
|
48
reference/edgecases/sravref.txt
Normal file
48
reference/edgecases/sravref.txt
Normal file
|
@ -0,0 +1,48 @@
|
|||
==SRAV Shift right arithmetic variable ==
|
||||
|
||||
srav -2 // Will it be able to handle shifts greater than the highest 1 value
|
||||
|
||||
ori $4,$0,6
|
||||
ori $5,$0,16
|
||||
srav $2,$5,$4
|
||||
jr $0
|
||||
|
||||
ref = 0
|
||||
|
||||
34040006
|
||||
34050010
|
||||
00000008
|
||||
00851007
|
||||
|
||||
|
||||
srav - 3 // negative number - does it sign extened (negative)
|
||||
|
||||
lui $4, 0xFFFF
|
||||
ori $4, $4, 0x00FF
|
||||
ori $5, $0, 4
|
||||
srav $2, $4, $5
|
||||
jr $0
|
||||
|
||||
ref = FFFFF00F (4294963215 / -4081)
|
||||
|
||||
3c04ffff
|
||||
348400ff
|
||||
34050004
|
||||
00000008
|
||||
00A41007
|
||||
|
||||
srav - 4 // Does it sign extend 0s
|
||||
|
||||
lui $4, 0x0FFF
|
||||
ori $4, $4, 0x00FF
|
||||
ori $5, $0, 4
|
||||
srav $2, $4, $5
|
||||
jr $0
|
||||
|
||||
ref = 00FFF00F (16773135)
|
||||
|
||||
3c040fff
|
||||
348400ff
|
||||
34050004
|
||||
00000008
|
||||
00A41007
|
28
reference/edgecases/srlref.txt
Normal file
28
reference/edgecases/srlref.txt
Normal file
|
@ -0,0 +1,28 @@
|
|||
==SRLV Shift right logical ==
|
||||
|
||||
srl -2 // Will it be able to handle shifts greater than the highest 1 value
|
||||
|
||||
ori $4,$0,16
|
||||
srl $2,$4,6
|
||||
jr $0
|
||||
|
||||
ref = 0
|
||||
|
||||
34040010
|
||||
00000008
|
||||
00041182
|
||||
|
||||
|
||||
srl - 3 // negative number - does it push in a 0? (not sign extend)
|
||||
|
||||
lui $4, 0xFFFF
|
||||
ori $4, $4, 0x00FF
|
||||
srl $2, $4, 4
|
||||
jr $0
|
||||
|
||||
ref = 0FFFF00F (268431375)
|
||||
|
||||
3c04ffff
|
||||
348400ff
|
||||
00000008
|
||||
00041102
|
32
reference/edgecases/srlvref.txt
Normal file
32
reference/edgecases/srlvref.txt
Normal file
|
@ -0,0 +1,32 @@
|
|||
==SRLV Shift right logical variable==
|
||||
|
||||
srlv -2 // Will it be able to handle shifts greater than the highest 1 value
|
||||
|
||||
ori $4,$0,6
|
||||
ori $5,$0,16
|
||||
srlv $2,$5,$4
|
||||
jr $0
|
||||
|
||||
ref = 0
|
||||
|
||||
34040006
|
||||
34050010
|
||||
00000008
|
||||
00851006
|
||||
|
||||
|
||||
srlv - 3 // negative number - does it push in a 0? (not sign extend)
|
||||
|
||||
lui $4, 0xFFFF
|
||||
ori $4, $4, 0x00FF
|
||||
ori $5, $0, 4
|
||||
srlv $2, $4, $5
|
||||
jr $0
|
||||
|
||||
ref = 0FFFF00F (268431375)
|
||||
|
||||
3c04ffff
|
||||
348400ff
|
||||
34050004
|
||||
00000008
|
||||
00A41006
|
36
reference/edgecases/suburef.txt
Normal file
36
reference/edgecases/suburef.txt
Normal file
|
@ -0,0 +1,36 @@
|
|||
==SUBU Subtract unsigned==
|
||||
|
||||
subu - 2 // can it deal with "negative" outputs
|
||||
|
||||
ori $4,$0,5
|
||||
ori $5,$0,3
|
||||
subu $2,$5,$4
|
||||
jr $0
|
||||
|
||||
34040005
|
||||
34050003
|
||||
00a41023
|
||||
00000008
|
||||
|
||||
register_v0 = FFFFFFFE (4294967294)
|
||||
|
||||
subu - 3 // can it deal with 2 negatives
|
||||
|
||||
lui $4, 0xFFFF
|
||||
ori $4, $4, 0xFFFE
|
||||
lui $5, 0xFFFF
|
||||
ori $5, $5, 0xFFFF
|
||||
subu $2, $4, $5
|
||||
jr $0
|
||||
|
||||
|
||||
|
||||
register_v0 = FFFFFFFF (4294967295)
|
||||
|
||||
|
||||
3c04ffff
|
||||
3484fffe
|
||||
3c05ffff
|
||||
34a5ffff
|
||||
00851023
|
||||
00000008
|
3
reference/edgecases/swref.txt
Normal file
3
reference/edgecases/swref.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
==SW Store word==
|
||||
|
||||
Negative & postive offset as well as actual functionality already tested
|
29
reference/edgecases/xoriref.txt
Normal file
29
reference/edgecases/xoriref.txt
Normal file
|
@ -0,0 +1,29 @@
|
|||
==XORI Bitwise exclusive or immediate==
|
||||
|
||||
xori -3 //checking if all 1s gives us 0 for the first 16 bits
|
||||
|
||||
lui $4, 0xFFFF
|
||||
ori $4, $4, 0xFFFF
|
||||
xori $2, $4, 0xFFFF
|
||||
jr $0
|
||||
|
||||
ref = 4294901760 - (FFFF0000)
|
||||
|
||||
3c04ffff
|
||||
3484ffff
|
||||
3882ffff
|
||||
00000008
|
||||
|
||||
xori -4 //should have all 1s
|
||||
|
||||
lui $4, 0xFFFF
|
||||
ori $4, $4, 0xFFFF
|
||||
xori $2, $4, 0x0000
|
||||
jr $0
|
||||
|
||||
ref = 4294967295 - (FFFFFFFF)
|
||||
|
||||
3c04ffff
|
||||
3484ffff
|
||||
38820000
|
||||
00000008
|
40
reference/edgecases/xorref.txt
Normal file
40
reference/edgecases/xorref.txt
Normal file
|
@ -0,0 +1,40 @@
|
|||
==XOR Bitwise exclusive or ==
|
||||
|
||||
xor -3 //checking if all 1s gives us 0 for all 1 inputs
|
||||
|
||||
lui $4, 0xFFFF
|
||||
ori $4, $4, 0xFFFF
|
||||
lui $5, 0xFFFF
|
||||
ori $5, $5, 0xFFFF
|
||||
xor $2, $4, $5
|
||||
jr $0
|
||||
|
||||
ref = 0
|
||||
|
||||
3c04ffff
|
||||
3484ffff
|
||||
3c05ffff
|
||||
34a5ffff
|
||||
00851026
|
||||
00000008
|
||||
|
||||
==XOR Bitwise exclusive or ==
|
||||
|
||||
xor -4 //checking if all 1s gives us 1 for all opposite inputs
|
||||
|
||||
lui $4, 0xFFFF
|
||||
ori $4, $4, 0xFFFF
|
||||
lui $5, 0x0000
|
||||
ori $5, $5, 0x0000
|
||||
xor $2, $4, $5
|
||||
jr $0
|
||||
|
||||
ref = 4294967295 (FFFFFFFF)
|
||||
|
||||
3c04ffff
|
||||
3484ffff
|
||||
3c050000
|
||||
34a50000
|
||||
00851026
|
||||
00000008
|
||||
|
Loading…
Reference in a new issue