LHU rt, offset(rs) |
nanoMIPS |
Load Half Unsigned |
Load Half Unsigned. Load unsigned halfword to register $rt from memory address $rs +offset (register plus immediate).
nanoMIPS
100001 |
rt |
rs |
0110 |
u |
6 |
5 |
5 |
4 |
12 |
offset = u
011111 |
rt3 |
rs3 |
1 |
u[2:1] |
0 |
6 |
3 |
3 |
1 |
2 |
1 |
rt = decode_gpr(rt3, 'gpr3') rs = decode_gpr(rs3, 'gpr3') offset = u
010001 |
rt |
100 |
u[17:1] |
1 |
6 |
5 |
3 |
17 |
1 |
rs = 28 offset = u
101001 |
rt |
rs |
s[8] |
0110 |
0 |
00 |
s[7:0] |
6 |
5 |
5 |
1 |
4 |
1 |
2 |
8 |
offset = sign_extend(s, from_nbits=9)
va = effective_address(GPR[rs], offset, 'Load') GPR[rt] = read_memory_at_va(va, nbytes=2)
Address Error. Bus Error. TLB Invalid. TLB Read Inhibit. TLB Refill. Watch.