- EOP_C_DOP_IMM(cond, op, 0, op == A_OP_MOV ? 0 : r, r, ror2 & 0x0f, v & 0xff);
- if (op == A_OP_MOV)
- op = A_OP_ORR;
-
- v >>= 8;
- if (v & 0xff)
- EOP_C_DOP_IMM(cond, op, 0, r, r, (ror2 - 8/2) & 0x0f, v & 0xff);
- v >>= 8;
- if (v & 0xff)
- EOP_C_DOP_IMM(cond, op, 0, r, r, (ror2 - 16/2) & 0x0f, v & 0xff);
- v >>= 8;
- if (v & 0xff)
- EOP_C_DOP_IMM(cond, op, 0, r, r, (ror2 - 24/2) & 0x0f, v & 0xff);
+ EOP_C_DOP_IMM(cond, op, 0, rn, r, ror2 & 0x0f, v & 0xff);
+
+ if (op == A_OP_MOV) {
+ op = A_OP_ORR;
+ rn = r;
+ }
+ }