Assembly:

LHXS rd, rs(rt)

nanoMIPS

Load Half indeXed Scaled

Purpose:

Load Half indeXed Scaled. Load signed halfword to register $rd from memory address $rt+ 2*$rs (register plus scaled register).

Availability:

nanoMIPS

Format:

001000

rt

rs

rd

0100

1

000

111

6

5

5

5

4

1

3

3

Operation:

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

Exceptions:

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