Next: PSW FORMAT Up: Specifications Previous: ERRORS:


Extended Program Memory (EPM) refers to a PM size of 64kW instead of 4kW. This is achieved by using a 16-bit PC instead of a 12-bit PC. This extended PC is too large to be saved in the PSW, so two instructions must be used instead of one.

In order to remain compatible with existing SSP software, EPM is initially disabled on power-up. When EPM is disabled, only the lower 4k words of program memory may be accessed, and the Program Counter (PC) is 12 bits long. When EPM is enabled, the full 64k words of program memory is available, and the PC is 16 bits long.

Initial Program Load (IPL) loads the PC with the PM address found in Data Memory address zero (DM 0), and also sets the system masks (LSMSK, LPMSK). Programs compiled for EPM must have an initial DM 0 of 0080, not 8080, and the system mask must be set with an SSM instruction if required. A DM 0 of 8080 would cause the SSP to start executing at address 8080 in addition to setting the mask.

When EPM is enabled, the instructions BAL, BALR0 save a 16-bit PC and do not save the program masks. Thus the link address is saved in the register, but the original values of the condition codes and system masks are lost. If these are required, they must be explicitly saved beforehand using a BALR0M instruction.

When EPM is enabled, the interrupt microcode (IOERR) clears the system mask (disabling interrupts) and saves a 16-bit PC. The error handler code must perform a BALR0M instruction to save the condition codes. The previous value of the system mask is lost, but if a consistent procedure is used to set and clear the mask then a copy may be kept in data memory. On exit from the error handler, an LMSK instruction should be executed to restore the condition codes and masks, followed by an LPC instruction to restore the PC. Executing an LPSW instruction while EPM is enabled would cause the upper PC bits to be set to the CC and masks values.

With EPM enabled, a base register must be used (as in the IBM 370) to access the upper 60kW of Program Memory.

Next: PSW FORMAT Up: Specifications Previous: ERRORS: