EXTEND 11110 |
Imm[10:5] |
Imm[15:11] |
SWSP 11010 |
rx |
sel = 1 |
Imm[4:0] |
5 |
5 |
5 |
5 |
5 |
3 |
3 |
SW rx, immediate(gp) |
MIPS16e2 |
Store Word (GP-relative) Extended |
Store Word (GP-relative) Extended
To store a word to memory.
memory[GPR[gp] + immediate] = GPR[rx]
The 16-bit immediate value is sign-extended, then added to the contents of GPR 28 to form the effective address. The contents of GPR rx are stored at the effective address.
Unpredictable prior to MIPS16e2. The effective address must be naturally-aligned. If either of the 2 least-significant bits of the address is non-zero, an Address Error exception occurs.
vAddr = sign_extend(immediate) + GPR[28] (pAddr, CCA) = AddressTranslation (vAddr, DATA, STORE) dataword = GPR[Xlat(rx)] StoreMemory (CCA, WORD, dataword, pAddr, vAddr, DATA)
TLB Refill, TLB Invalid, TLB Modified, Bus Error, Address Error