Home | Projects | Notes > Computer Architecture & Organization > ARM Instruction Set Architecture (ISA) - Data Processing Instructions

ARM Instruction Set Architecture (ISA) - Data Processing Instructions

 

ARM Data-processing Instructions

 

Arithmetic Instructions

Addition

 

single-double-precision-addition

 

Subtraction

Negation

Comparison

Multiplication

  1. If it is guaranteed that two operands and the product will all fit into 32 bits.

  2. If the overflow is expected (or if you are not sure).

    The reason UMULL has to be used in this case is because MULLS will not set the CCR flags. (Because of how the MUL works there is no way to ensure the hardware can set flags correctly so it does NOTHING. The carry bits are tied to specific bits in the ALU. It is possible when a multiplication is performed, those specific bits can show no issues but there turns out to be overflow issues.

Division

 

Bitwise Logical Operations

Shift Operations

 

logical-shift

 

 

arithmetic-shift

 

 

circular-shift

 

 

arms-barrel-shifter