SWAB=7431 FIELD 1 *2611 JMS I .+1 / JMS to the spooler patch SPLFIX *5400 SPLINT, 0 / Do before execution start NOP / For displaced instruction RPE / Enable punch interrupt CLL STA / NL-1 KKIE, KIE / Enable console interrput SPLCDF, HLT / CDF Spooler field TAD I P200 / Change JMP I target DCA I P200 / in spooler JMP I SPLINT / and do it P200, 200 SPLFIX, 0 CLA CLL IAC RTL / NL4 AND I P7726 / Spooler running? SNA CLA / Then SKP JMP PATXIT / No - no harm done CDF 00 / Get interrupt link STA CLL / NL-1 - change CIF to CDF TAD I PONE / Get CIF spooler field DCA SPLCDF / Save for later TAD I P4033 / Get word wuP{tvvPw{rysytzrFMDbi`Dahfdgj]XDWPpwrPyp{rPswyPr|ryzz|wwFEDj`bLeeniDLWPnCA RETIF /Arrive here with CIF (and CDF) to home TAD I YFRTS /Get the address of the FRTS routine DCA FRSUB ISZ YFRTS /Bump return TAD I YFRTS /ARG 2=AC contents to pass to routine ISZ YFRTS /Bump again CDF 0 /Now change data fields to here JMS I FRSUB /And go to the FRTS routine RETIF, HLT /Stuff with return CIF (CDF) X JMP I YFRTS /And return to user program FRSUB, 0 IFNZRO YFRTS-7564 <****ERROR.....Change Loader****> /The above routine allows the user to branch to FRTS subroutines from /mode 8 programs, and then to return to the user. The following limits /apply: / 1)Any value which the called routine expects to find in the /acumulator must be passed as the second argument. / 2)The first argument must be the address of the FRTS routine. / 3)When branching to the FRTS routine, the acumulator must /contain the return field, in the form of a CIF X (62X2). /Optionally the user may elect to specify the return data field /at the same time, as either the return instruction field, or 0. /Simply send a CDI X in the ac so return DF=return IF / 4)Routines wich require arguments after the sr call may not /be accessed with this patch. / 5)This patch is used by branching to loc 7564 in field 0 /(A JMS) /EXAMPLE: / TAD KCDI / CIF 0 / JMS I FRTS / 2715 /Address of a routine in FRTS /FWORD, 0 /The AC must be set to this value / REST OF PROGRAM /Return here from FRTS /KCDI, CDI X0 /X=current IF /FRTS, 7564 /Address of the patch! /End of RTS.PA FIELD 1 /Set up for RTL.PA