TITLE 'ICATS QUIT COMMAND ROUTINE' QUI00010 *********************************************************************** QUI00020 * * QUI00030 * MODULE NAME = QUIT * QUI00040 * * QUI00050 * FUNCTION = SET THE FLAG THAT TELLS THE DISPATCHER TO QUIT * QUI00060 * DISPATCHING TASKS - IN OTHER WORDS, QUIT RUNNING * QUI00070 * THE ICATS PROGRAM AND RETURN TO CMS. * QUI00080 * THE QUIT COMMAND IS ONLY VALID FROM THE CONSOLE. * QUI00090 * * QUI00100 * ENTRY POINTS = QUIT * QUI00110 * * QUI00120 * LINKAGE = BALR R14,R15 FROM ICATS MAINLINE. * QUI00130 * * QUI00140 * REGISTER CONTENTS UPON ENTRY = * QUI00150 * R2 = POINTS TO THE ICATS COMMON DATA AREA, AS ALWAYS. * QUI00160 * R14 = RETURN ADDRESS BACK TO ICATS MAINLINE * QUI00170 * R15 = ENTRY POINT TO THIS MODULE * QUI00180 * * QUI00190 * REGISTER USAGE = * QUI00200 * R0-R1 = USED TO PASS PARAMETERS TO SUBROUTINES. * QUI00210 * R2 = USED TO ADDRESS THE ICATS COMMON DATA AREA. * QUI00220 * R3-R10 = FREE * QUI00230 * R11 = MY BASE REGISTER * QUI00240 * R14 = MY RETURN ADDRESS WHEN I CALL SOMEBODY * QUI00250 * R15 = SUBROUTINE ADDRESS * QUI00260 * * QUI00270 * MODULE LOGIC: * QUI00280 * 1) SEE WHERE THIS COMMAND CAME FROM. REJECT THIS * QUI00290 * COMMAND IF IT DIDN'T COME FROM THE CONSOLE. * QUI00300 * 2) ELSE GO AHEAD AND SET THE QUIT FLAG. * QUI00310 * * QUI00320 * NORMAL EXIT = * QUI00330 * R15 = 0 * QUI00340 * * QUI00350 * EXTERNAL REFERENCES = NONE * QUI00360 * * QUI00370 * MACROS = ICDATA = ICATS COMMON DATA AREA * QUI00380 * ETTE = ENTER TRACE TABLE ENTRY SUBROUTINE * QUI00390 * * QUI00400 * CHANGE ACTIVITY * QUI00410 * DATE NAME REASON FOR CHANGE * QUI00420 * 04/19/83 RICK JASPER BROKEN AWAY FROM ICATS MAINLINE INTO * QUI00430 * SEPARATE SUBROUTINE * QUI00440 * * QUI00450 *********************************************************************** QUI00460 PRINT GEN,NODATA QUI00470 QUIT CSECT QUI00480 USING ICDATA,R2 ADDRESS ICATS COMMON DATA AREA QUI00490 USING *,R15 USE R15 FOR NEXT INSTRUCTION ONLY QUI00500 STM R0,R14,QUITREGS SAVE ALL THE REGISTERS QUI00510 DROP R15 QUI00520 USING QUIT,R11 QUI00530 LR R11,R15 SWITCH BASE REGISTER TO R11 QUI00540 TM FLAGB,CONSCMD CONSOLE COMMAND ?? QUI00550 BO QUITCONA REJECT IF COMMAND NOT FROM CONSOLE QUI00560 L R15,AREJECT GO TO REJECT-THIS-COMMAND ROUTINE QUI00570 BALR R14,R15 QUI00580 B QUITBYE QUI00590 QUITCONA OI FLAGA,ENDPGM IT'S MILLER TIME QUI00600 SR R15,R15 RETURN CODE = 0 QUI00610 QUITBYE LM R0,R14,QUITREGS RESTORE ALL THE REGISTERS QUI00620 BR R14 BYE BYE QUI00630 QUITREGS DS 15F QUI00640 LTORG QUI00650 ICDATA QUI00660 END QUI00670