EXTEND 11110 |
offset 10:5 |
offset 15:11 |
LW 10011 |
rx |
ry |
offset 4:0 |
5 |
6 |
5 |
5 |
3 |
3 |
5 |
LW ry, offset(rx) |
MIPS16e |
Load Word (Extended) |
Load Word (Extended)
To load a word from memory as a signed value.
GPR[ry] = memory[GPR[rx] + offset]
The 16-bit offsetis sign-extended and then added to the contents of GPR rx to form the effective address. The contents of the word at the memory location specified by the e fective address are loaded into GPR ry.
The effective address must be naturally-aligned. If either of the 2 least-significanbits of the address is non-zero, an
Address Error exception occurs.
vAddr = sign_extend(offset) + GPR[Xlat(rx)] if vAddr1..0 != 02 then SignalException(AddressError) endif (pAddr, CCA) = AddressTranslation (vAddr, DATA, LOAD) memword = LoadMemory (CCA, WORD, pAddr, vAddr, DATA) GPR[Xlat(ry)] = memword
TLB Refill, TLB I valid, Bus Error, Address Error