Purpose: | To request services of more priviledged software | ||||||||||||
Format: | opcode code.rw | ||||||||||||
Operation: |
|
||||||||||||
Condition Codes: |
N <- 0; Z <- 0; V <- 0; C <- 0; |
||||||||||||
Exceptions: | halt | ||||||||||||
Opcodes: |
|
||||||||||||
Description: | Change mode instructions all processes to change their access mode in a controlled manner. The instruction only increases priviledge mode (i.e. decreases the access mode) A change in mode also results in a change of stack pointers; the old stack pointer is saved, the new pointer is loaded. The PSL, PC and code operand are pushed onto the stack of the new mode. The saved PC addresses the instruction following the CHMx instruction. The code is sign-extended to a longword. After Execution the stack looks like:
The destination mode selected by the opcode is used to select a location from the System Control Block. This location addresses the CHMx dispatcher for the specified mode. |