Assembly:

LUI rt, %hi(imm)

nanoMIPS

Load Upper Immediate.

Purpose:

Load Upper Immediate.Load upper 20 bits ofimmediate value imm to upper 20 bits of

register $rt, and set the lower 12 bits to zero.

Availability:

nanoMIPS

Format:

111000

rt

s[20:12]

s[30:21]

0

s[31]

6

5

9

10

1

1

imm = sign_extend(s, from_nbits=32)

Operation:

GPR[rt] = imm

For backwards compatibility, instances of LUI which use a literal value for the immediate will be treated as containing a 16 bit immediate which should be loaded into the upper 16 bits of the target register.

To access the upper 20 bits of the register, the ’%hi(imm)’ form of the immediate must be used.

Exceptions:

None.