|
|
@@ -20,9 +20,25 @@ const encoders = {
|
|
20
|
20
|
'LUI': (rt, immediate) => {
|
|
21
|
21
|
let encoded = '001111'
|
|
22
|
22
|
encoded = encoded + '0'.repeat(5)
|
|
23
|
|
- encoded = encoded + utils.dec2binu(getReg(rt))
|
|
|
23
|
+ encoded = encoded + utils.dec2binu(getReg(rt), 5)
|
|
24
|
24
|
encoded = encoded + utils.hex2bin(immediate, 16)
|
|
25
|
25
|
return '0x' + utils.bin2hex(encoded, 8)
|
|
|
26
|
+ },
|
|
|
27
|
+ 'ORI': (rt, rs, immediate) => {
|
|
|
28
|
+ let encoded = '001101'
|
|
|
29
|
+ encoded = encoded + utils.dec2binu(getReg(rs), 5)
|
|
|
30
|
+ encoded = encoded + utils.dec2binu(getReg(rt), 5)
|
|
|
31
|
+ encoded = encoded + utils.hex2bin(immediate, 16)
|
|
|
32
|
+ return '0x' + utils.bin2hex(encoded, 8)
|
|
|
33
|
+ },
|
|
|
34
|
+ 'SW': (rt, offsetBase) => {
|
|
|
35
|
+ const [offset, base] = utils.splitOffsetBase(offsetBase)
|
|
|
36
|
+ let encoded = '101011'
|
|
|
37
|
+ encoded = encoded + utils.dec2binu(getReg(base), 5)
|
|
|
38
|
+ encoded = encoded + utils.dec2binu(getReg(rt), 5)
|
|
|
39
|
+ encoded = encoded + utils.int16_2bin(offset, 16)
|
|
|
40
|
+ console.log(encoded)
|
|
|
41
|
+ return '0x' + utils.bin2hex(encoded, 8)
|
|
26
|
42
|
}
|
|
27
|
43
|
}
|
|
28
|
44
|
|