EXTEND 11110 |
00000 |
0 |
00 |
000 |
SHIFT 00110 |
rx |
ry |
sel = 1 |
SRL 10 |
5 |
5 |
1 |
2 |
3 |
5 |
3 |
3 |
3 |
2 |
MOVN rx, $0, ry |
MIPS16e2 |
Move Conditional on Not Equal to Zero Extended |
Move Zero Conditional on Not Equal to Zero Extended
To conditionally zero a GPR after testing a GPR value.
if GPR[ry] != 0 then GPR[rx] = 0
If the value in GPR ry is not equal to zero, GPR rx is written with the value of 0.
In implementations prior to MIPS16e2, this instruction yielded unpredictable results. It would typically be exexcuted as an SRL instruction.
if GPR[XLat[ry]] != 0 then GPR[XLat[rx]] = 0 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.