EXTEND 11110 |
00000 |
1 |
00 |
rb |
SHIFT 00110 |
rx |
ry |
sel = 2 |
SRL 10 |
5 |
5 |
1 |
2 |
3 |
5 |
3 |
3 |
3 |
2 |
MOVN rx, rb, ry |
MIPS16e2 |
Move Conditional on Not Equal to Zero Extended |
Move Conditional on Not Equal to Zero Extended
To conditionally move a GPR after testing a GPR value.
if GPR[ry] != 0 then GPR[rx] = GPR[rb]
If the value in GPR ry is not equal to zero, then the contents of GPR rb are placed into GPR rx.
In implementations prior to MIPS16e2, this instruction yielded unpredictable results. It would typically be executed as an SRL instruction.
if GPR[XLat[ry]] != 0 then GPR[XLat[rx]] = GPR[XLat[rb]] endif
None
The non-zero value tested might be the condition true result from the SLT, SLTI, SLTU, and SLTIU comparison instructions or a boolean value read from memory.