ADDIU rt, rs, imm |
nanoMIPS, availability varies by format. |
Add Immediate (Untrapped) |
Add Immediate (Untrapped). Add immediate value imm to the 32-bit integer value in register$rs, placing the 32-bit result in register $rt, and not trapping on overflow.
nanoMIPS, availability varies by format.
|
000000 |
rt!=0 rt |
rs |
u |
|
6 |
5 |
5 |
16 |
imm = u
|
011000 |
rt |
00001 |
s[15:0] |
s[31:16] |
|
6 |
5 |
5 |
16 |
16 |
if C0.Config5.NMS == 1:
raise exception('RI')
imm = sign_extend(s, from_nbits=32)
rs = rt
|
011000 |
rt |
00010 |
s[15:0] |
s[31:16] |
|
6 |
5 |
5 |
16 |
16 |
if C0.Config5.NMS == 1:
raise exception('RI')
if pointers_are_64_bits():
raise behaves_like('DADDIU[GP48]')
imm = sign_extend(s, from_nbits=32)
rs = 28
|
010001 |
rt |
011 |
u |
|
6 |
5 |
3 |
18 |
if pointers_are_64_bits():
raise behaves_like('DADDIU[GP.B]')
imm = u
rs = 28
|
010000 |
rt |
u[20:2] |
00 |
|
6 |
5 |
19 |
2 |
if pointers_are_64_bits():
raise behaves_like('DADDIU[GP.W]')
imm = u
rs = 28
|
011100 |
rt3 |
1 |
u[7:2] |
|
6 |
3 |
1 |
6 |
if pointers_are_64_bits():
raise behaves_like('DADDIU[R1.SP]')
rt = decode_gpr(rt3, 'gpr3')
rs = 29
imm = u
|
100100 |
rt3 |
rs3 |
0 |
u[4:2] |
|
6 |
3 |
3 |
1 |
3 |
rt = decode_gpr(rt3, 'gpr3') rs = decode_gpr(rs3, 'gpr3') imm = u
|
100100 |
with rt!=0 rt |
s[3] |
1 |
s[2:0] |
|
6 |
5 |
1 |
1 |
3 |
rs = rt imm = sign_extend(s, from_nbits=4)
ADDIU[RS5] with rt=0 is used to provide a 16 bit NOP instruction.
|
100000 |
rt |
rs |
1000 |
u |
|
6 |
5 |
5 |
4 |
12 |
imm = -u
sum = GPR[rs] + imm GPR[rt] = sign_extend(sum, from_nbits=32)
Reserved Instruction for ADDIU[48] and ADDIU[GP48] formats on NMS cores.