Next
Instruction classified by actions
Data modification.
Data movement.
Instruction sequence modification.
Arithmetic
Accumulator activities on whole memory units.
Integer
Float and other in more advanced cpus.
Boolean - often a subcategory of arithmetic.
Boolean -performs logical instructions at bit level.
ALU used provide bit manipulation on whole memory unit.
AND - 11110111 AND data will force only bit 4 off.
OR - 00001000 OR data will force only bit 4 on.
XOR - 11111111 XOR (EOR) data will essentially generate the 1's
complement of the data.
Result of boolean action stored.
Bit manipulation
Setting or clearing condition flags
Shifts and rotates - often used for multiply/divide.
Test
Test - a variation of boolean uses to modify CCR flags without
changing the data being tested.
Not supported on some machines. - Save copy of original and use
boolean instruction.
Data Movement
All cpus support simple data movement.
Some support fractional portions of data bus size. Byte or half word,
word, double word.
String or block
String or block - supports action applied to a block of memory
with rules that vary according to data type.
Often compound, multi-register instructions.
MVCL RA,RB # both RA and RB are register pairs - move up to 2^24-1
Even register of each pair is address, Odd register is length
High byte of odd source register specify pad character if destination
storage longer than source data.
Transfer of control (program)
Transfer of control - used to modify the Program counter.
Branches - conditional or unconditional (relative).
Jumps - conditional or unconditional (absolute).
Function - transfers execution to a sub-section of program.
Pair of instructions.
Call - stores current PC in the stack and inserts a new value
specified in the operand into the PC.
Return - retrieves the orginal value from the stack.
Simulated for IBM 360 with standard linkage - programmer provides
stack function.
Interrupts - Transfer of control
Transfers execution to code external to program.
May be requested by program (standard system functions)
May be triggered by external events. (printer out of paper).
Should preserve PC, CCR, and other registers.
This responsibility may be a function of the cpu
Or have to be coded into the code being run.
When returning from an interrupt, the cpu should be restored to
its original state.