0011nnnnmmmm0100 q ← ZeroExtend1(Q); _m ← ZeroExtend1(M); t ← ZeroExtend1(T); op1 ← ZeroExtend32(SignExtend32(Rm)); op2 ← ZeroExtend32(SignExtend32(Rn)); oldq ← q; q ← op2< 31 FOR 1 >; op2 ← ZeroExtend32(op2 << 1) ∨ t; IF (oldq = _m) op2 ← op2 - op1; ELSE op2 ← op2 + op1; q ← (q ⊕ _m) ⊕ op2< 32 FOR 1 >; t ← 1 - (q ⊕ _m); Rn ← Register(op2); Q ← Bit(q); T ← Bit(t);