ASMB,R,L,C,Q * NAME: RC.. * SOURCE: 92067-18219 * RELOC: 92067-16185 * PGMR: N.J.S. * * *************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS * * * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, * * * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT* * * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY. * * *************************************************************** * * NAM RC..,8 92067-16185 REV.1903 790314 ENT RC.. EXT .ENTR,DCMC,FM.ER,CNUMD,SESSN,NAM.. SUP * * * REMOVE CARTRIDGE ROUTINE FOR RTE * FILE MANAGER (FMGR) * * ENTERED ON COMMAND: * * DC,CARTRIDGE,RR * * WHERE * * CARTRIDGE - +CRN OR -LU OF DISC TO BE DISMOUNTED * RR - IF SPECIFIED MEANS RELEASE DISC RESOURCE BY TAKING * OUT OF SYSTEM CL, SCB, AND RELEASING TO DISC POOL * IF A POOL DISC. IF NOT SPECIFIED, SIMPLY MARK * DISC IN DISCS MOUNTED LIST INACTIVE. * * * DC.. EXTRACTS PARAMETERS FROM PARSE LIST AND CALLS * SUBROUTINE DCMC TO PERFORM THE DISMOUNT. * * * N NOP LIS NOP ER NOP RC.. NOP JSB .ENTR DEF N CLA CLEAR OUT OPTIONAL PARAMETER STA RR IN CASE ITS NOT SPECIFIED LDA N,I GET NUMBER OF PARAMETERS IN LIST SZA,RSS IF NONE WERE SPECIFIED, EXIT JMP EX50 NOT ENOUGH PARAMETERS ERROR CMA,INA MAKE NEGATIVE AND STA N USE AS A COUNTER * JSB SESSN SEE IF WE'RE UNDER SESSION CONTROL DEF *+2 DEF XEQT * LDB LIS INB LDA B,I GET CARTRIDGE FROM PARSE LIST SZA,RSS IF NONE SPECIFIED JMP EX56 EXIT NOT ENOUGH PARAMETERS ERROR STA DISID * SEZ,RSS IF UNDER SESSION GO SEE IF JMP PARM2 ANOTHER PARAMETER WAS PASSED LDA ASCRR WE'RE NOT UNDER SESSION CONTROL STA RR WANT TO FORCE AN RR WHETHER IT WAS SPECIFIED JMP CALL OR NOT. DC,CRN SHOULD REMOVE DISC FROM SYSTEM * PARM2 ISZ N INCREMENT COUNTER RSS STILL ANOTHER PARAMETER JMP CALL NO MORE PARAMETERS - CALL DCMC ADB .4 LDA B,I GET SECOND PARAMETER CPA ASCRR ASCRR?? STA RR YES - SAVE "RR" IN 2ND PARAMETER * CALL JSB DCMC CALL DCMC TO DISMOUNT THE DISC DEF RTN DEF ER,I DEF CODE DEF DISID DEF RR RTN EQU * JMP EXIT * EX50 LDA .50 NOT ENOUGH PARAMETERS RSS EX56 LDA .56 BAD PARAMETER STA ER,I * EXIT STA CRN SAVE CRN AND LU STB LU RETURNED FROM DCMC LDA ER,I SZA ERROR RETURNED? JMP EX YES * LDA CRN STUFF CRN AND BLANKS STA MESS+6 INTO THE MESSAGE DLD BLANK DST MESS+4 * JSB NAM.. IF CRN IS A LEGAL ASCII FILE DEF *+2 NAME THEN DON'T CONVERT IT DEF CRN SZA,RSS 2 ASCII CHARACTERS? JMP GETLN YES - SKIP CONVERSION * JSB CNUMD CONVERT CRN TO ASCII DEF *+3 DEF CRN DEF MESS+4 * GETLN LDA .23 SET MESSAGE LENGTH TO 23 IF NOT LDB LU RETURNED TO POOL, OTHERWISE SSB SET MESSAGE LENGTH TO 27 LDA .27 LDB RR SEE IF THIS WAS AN OPTION TO CPB ASCRR RELEASE RESOURCES RSS LDA .16 STA LNGTH * CPB ASCRR GET DIRECTION AGAIN RSS JMP INAMS JUST INACTIVATED THE DISC SO SAY SO LDB LU GET LU AGAIN RBL POSITION TO SYSTEM/SESSION INDICATOR SSB JMP SYSMG REMOVED FROM SYSTEM LDA SESN REMOVED FROM SESSION - PUT STA MESS+20 SESSION INTO MESSAGE DLD SESN+1 DST MESS+21 JMP MSG GO SEND MESSAGE * SYSMG LDA SYST PUT SYSTEM INTO MESSGE STA MESS+20 DLD SYST+1 DST MESS+21 JMP MSG * INAMS DLD INACT STUFF INACTIVE INTO MESSAGE DST MESS+11 DLD INACT+2 DST MESS+13 LDA INACT+4 STA MESS+15 * MSG LDA LU GET WORD WITH LU AND B377 MASK TO LOWER BYTE STA LU JSB CNUMD CONVERT LU TO ASCII DEF *+3 DEF LU DEF ARRY DLD ARRY+1 PUT 4 CHARACTERS OF DST MESS+9 LU INTO MESSAGE * JSB FM.ER DEF *+4 DEF ZERO DEF MESS DEF LNGTH EX JMP RC..,I * * B EQU 1 A EQU 0 XEQT EQU 1717B CODE OCT 2 DISID NOP RR NOP ZERO NOP LU NOP LNGTH NOP ARRY BSS 3 .1 DEC 1 .4 DEC 4 .8 DEC 8 .16 DEC 16 .23 DEC 23 .27 DEC 27 .50 DEC 50 .56 DEC 56 B377 OCT 377 * * CRN AND BLANK MUST STAY TOGETHER LIKE THIS CRN NOP ---\ BLANK ASC 2, ---/ * * ASCRR ASC 1,RR MESS ASC 27,DISC CRN LU DISMOUNTED FROM S (POOL) SYST ASC 3,YSTEM SESN ASC 3,ESSION INACT ASC 5, INACTIVE * END