LIST FILE 'JOBS' DEVICE HANDLER * VERS EQU 'B SWAP EQU ((((06260.RS.1)-(JOBS*(128/4)))/TERMS).AN.07774)*4 * DSEC DC -TERMS NUMBER OF HANDLERS * TEXT \JOBS\ GROUP NAME TEXT \J1@@\ J1 NAME DC 04560 FILE STRUCTURED, DEVICE TYPE 056 DC J1.AN.0177 ENTRY POINT AS 2 * TEXT \JOBS\ TEXT \J2@@\ J2 NAME DC 04560 DC J2.AN.0177 AS 2 * AIF TERMS.LT.3,.CONT TEXT \JOBS\ TEXT \J3@@\ DC 04560 DC J3.AN.0177 AS 2 AIF TERMS.LT.4,.CONT * TEXT \JOBS\ TEXT \J4@@\ DC 04560 DC J4.AN.0177 AS 2 * .CONT ANOP * ISEC 0 * ALIGN * DC VERS.AN.077 J1 INC JCNTR J2 INC JCNTR J3 INC JCNTR J4 INC JCNTR CAL TAD JCNTR CIA TAD TADJ DCA 1F LDI 02000 TAD 1F DCA 2F 1H HLT GET THE ARGUMENT ADDRESS DCA ADDR SAVE IT TAD INCJ 2H HLT RESET ENTRY POINT TADI ADDR GET FUNCTION WORD INC ADDR DCA FUNC TADI ADDR GET MEMORY ADDRESS INC ADDR DCA MEMADR TADI ADDR GET BLOCK NUMBER INC ADDR DCA BLOCK LDI -3 TAD JCNTR CLL SNA J1 ? JMP 7F YES DCA JCNTR 6H TAD =SWAP COMPUTE DISK OFFSET ISZ JCNTR FINISHED ? JMP 6B NO TAD =JOBS*128 16*(7*TERMS+JOBS) qqx TAD BLOCK COMPUTE ABSOLUTE DISK BLOCK NUMBER DCA BLOCK SZL OVERFLOW ? TAD =07621-07607 YES, COMPUTE RKB0 ENTRY ADDRESS 7H TAD =07607 DCA SYS DCA JCNTR CLEAR FOR NEXT CALL SZL CLA IS THIS A CALL TO RKB0 ? TAD =-06260 YES, CORRECT THE BLOCK NUMBER TAD BLOCK DCA BLOCK RDF GET THE RETURN FIELD TAD KCID DCA EXIT KCID CID %* JMSI SYS CALL THE SYSTEM DEVICE HANDLER FUNC DC 0 MEMADR DC 0 BLOCK DC 0 SKP ERROR RETURN FROM SYSTEM DEVICE HANDLER INC ADDR NORMAL RETURN EXIT HLT CID TO RETURN FIELD JMPI ADDR * ADDR DC 0 ARGUMENT AND RETURN POINTER SYS DC 0 POINTER TO SYSTEM DEVICE HANDLER JCNTR DC 0 DETERMINES DESIRED DEVICE TADJ TAD J4 RETRIEVES ARGUMENT ADDRESS INCJ INC JCNTR RESTORES DEVICE NUMBER MECHANISM * END