Action Types Another view of ISA is what is its function. This can be broken into several catagories. Various commands in these catagories may overlap, but they are listed by their primary function. Program control - Jump, Call, Interrupt and the appropriate returns. These may be an absolute value or relative to the current IP settings. In general, each of these behaved slightly different. Data movement - movement between the registers and memory, or register and register. Data manipulation - changing the data in some way. Stack manipulation - push, pop, swap, rotate. On some systems that provide a stack, the stack is used for holding data other than the return address of a call. These may include using the stack as a scratch area for complex mathematical evaluatons or free a register for temporary use without loosing the data current stored in it.

For these to work, the stack has to be hardware (ISA) supported usually with a dedicated regiser.