Module 5
Module 5
The long multiply instructions (SMLAL, SMULL, UMLAL, and UMULL) produce a
64-bit result. The result is too large to fit a single 32-bit register so the result is
placed in two registers labeled RdLo and RdHi. RdLo holds the lower 32 bits of
the 64-bit result, and RdHi holds the higher 32 bits of the 64-bit result.
BranchInstructions
• A branch instruction changes the flow of execution or is
used to call a routine. This type of instruction allows
programs to have subroutines, if-then-else structures, and
loops.
Branch Instructions
The address label is stored in the instruction as a signed pc-relative off set and must
be within approximately 32MB of the branch instruction.T refers to theThumb bit in
the cpsr.When instructions set T, the ARM switches to Thumb state.
3.2Branch Instructions
Load-StoreInstructions
• When the processor executes an SWI instruction, it sets the program counter pc to
the offset 0x8 in the vector table.
• The instruction also forces the processor mode to SVC,which allows an operating
System routine to be called in a privileged mode.
• Each SWI instruction has an associated SWI number,which is used to represent a
Particular function call or feature.
Software Interrupt Instruction
Program Status Register Instructions