What operations can be done on data?- Instruction set
Data movement instructions: transfer data from one location to another.
- When there is a separate I/O address space, these instructions also include special I/O instructions.
- Stack manipulation instructions (e.g. push, pop) also fall into this category.
Integer arithmetic and logical instructions: can be one-operand (e.g. complement), two-operand or three-operand instructions.
- In some processors, different instructions are used for different data formats of their operands. There may be separate signed and unsigned multiply/divide instructions.
Shift and rotate instructions: left or right shifts and rotations.
- There are two types of shifts: logical and arithmetic.
Bit manipulation instructions: operate on specified fields of bits. The field is specified by its width and offset from the beginning of the word. Instructions usually include test (affecting certain flags), set, clear, and possibly others.