Types of operations
Data transfer, Arithmetic, Logical, transfer of control
What is required when performing data transfer
Location of source and operands, Length of data must be indicated, addressing mode to be used
What are arithmetic shifts used for
Efficient ways to perform multiplication or division of signed integers by powers of two
Memory alignment
Data in memory is byte-level accessible, bus controller only accepts starting address that are multiples of 4. otherwise, misalignment
Clear bits by a mask
use 0 and AND operator
Set bits by a mask
use 1 and ORR operator
Invert bits by a mask
use 1 and XOR operator
Rotate left in ARM
use Rotate right = 32 - rotate left