Assembly:

LWXS rd, rs(rt)

nanoMIPS

Load Word indeXed Scaled

Purpose:

Load Word indeXed Scaled. Load word to register $rd from memory address

$rt + 4*$rs

(register plus scaled register).

Availability:

nanoMIPS

Format:

LWXS[32]

001000

rt

rs

rd

1000

1

000

111

6

5

5

5

4

1

3

3

LWXS[16]

010100

rt3

rs3

rd3

1

6

3

3

3

1

rd = decode_gpr(rd3, 'gpr3')
rs = decode_gpr(rs3, 'gpr3')
rt = decode_gpr(rt3, 'gpr3')

Operation:

va = effective_address(GPR[rs]<<2, GPR[rt], 'Load')
data = read_memory_at_va(va, nbytes=4)
GPR[rd] = sign_extend(data, from_nbits=32)

Exceptions:

Address Error. Bus Error. TLB Invalid. TLB Read Inhibit. TLB Refill. Watch.