LB rt, offset(rs) |
nanoMIPS |
Load Byte |
Load Byte. Load signed byte to register $rt from memory address $rs + offset (registerplus immediate).
nanoMIPS
100001 |
rt |
rs |
0000 |
u |
6 |
5 |
5 |
4 |
12 |
offset = u
010111 |
rt3 |
rs3 |
00 |
u |
6 |
3 |
3 |
2 |
2 |
rt = decode_gpr(rt3, 'gpr3') rs = decode_gpr(rs3, 'gpr3') offset = u
010001 |
rt |
000 |
u |
6 |
5 |
3 |
18 |
rs = 28 offset = u
101001 |
rt |
rs |
s[8] |
0000 |
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') data = read_memory_at_va(va, nbytes=1) GPR[rt] = sign_extend(data, from_nbits=8)
Address Error. Bus Error. TLB Invalid. TLB Read Inhibit. TLB Refill. Watch.