The SPIE macro expanded into a PICA structure and a SVC 14 call. PICA contains a new program mask, the address of the exit routine supplied by the caller and the program check interrupts to trap.
SPIR is not a type 1 SVC and so a SVRB is created by FLIH to save the registers of the caller. SVC 14 will check if this is a request to eliminate or to cancel an existing SPIE set up. If not, it will check if it is the first SPIE to set up by checking the TCBPIE field for 0. It GETMAINto create a SCA and a PIE. SCA is made to point to PIE which points to PICA.
if there is an existing SPIE, put the address of the old PICA in R1 and change the PICA to point to the new PICA.
Lastly SVC 14 gets the program mask from RBOPSW and save it into TCBPMASK which is the first 4 bits in the first byte o TCBPIE. IT THEN BRACH TO EXIT PROLOG.
No comments:
Post a Comment