"Group", "Instruction", "Operation", "Notes" "Logical", "EOR", "Rd := Rn EOR Op2", "Bitwise EOR" "", "ORR", "Rd := Rn OR Op2", "Bitwise OR" "", "AND", "Rd := Rn AND Op2", "Bitwise AND" "", "BIC", "Rd := Rn AND NOT(Op2)", "Bitwise AND" "Arithmetic", "ADD", "Rd := Rn + Op2", "Addition" "", "ADC", "Rd := Rn + Op2 + C", "Addition" "", "SUB", "Rd := Rn - Op2", "Subtraction" "", "SBC", "Rd := Rn - Op2 - (1 - C)", "Subtraction" "", "RSB", "Rd := Op2 - Rn", "Subtraction, reversed operands" "", "RSC", "Rd := Op2 - Rn - (1 - C)", "Subtraction, reversed operands" "Assignment", "MOV", "Rd := Op2", "'Rn' unused" "", "MVN", "Rd := NOT(Op2)", "'Rn' unused" "Test", "CMP", "Flags: Rn - Op2", "'Rd' unused, 'S' implied" "", "CMN", "Flags: Rn + Op2", "'Rd' unused, 'S' implied" "", "TEQ", "Flags: Rn EOR Op2", "'Rd' unused, 'S' implied" "", "TST", "Flags: Rn AND Op2", "'Rd' unused, 'S' implied" "Multiplication", "MUL", "Rd := (Rn * Rs)", "Multiply" "", "MLA", "Rd := (Rn * Rs) + Rn", "Multiply-accumulate"