EXTEND 11110 |
offset 10:5 |
offset 15:11 |
LBU 10100 |
rx |
ry |
offset 4:0 |
5 |
6 |
5 |
5 |
3 |
3 |
5 |
LBU ry, offset(rx) |
MIPS16e |
Load Byte Unsigned (Extended) |
Load Byte Unsigned (Extended)
To load a byte from memory as an unsigned value
GPR[ry] = memory[GPR[rx] + offset]
The 16-bit offset is sign-extended, then added to the contents of GPR rx to form the effective address. The contents of the byte at the memory location specified by the e fective address are zero-extended and loaded into GPR ry.
None
vAddr = sign_extend(offset) + GPR[Xlat(rx)] (pAddr, CCA) = AddressTranslation (vAddr, DATA, LOAD) pAddr = pAddrPSIZE-1..2 || (pAddr1..0 xor ReverseEndian2) memword = LoadMemory (CCA, BYTE, pAddr, vAddr, DATA) byte = vAddr1..0 xor BigEndianCPU2 GPR[Xlat(ry)] = zero_extend(memword7+8*byte..8*byte)
TLB Refill, TLB I valid, Bus Error, Address Error