ASMB,R,L,C,Q * NAME: AC.. * SOURCE: 92067-18255 * 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 AC..,8 92067-16185 REV.1903 790129 ENT AC.. EXT .ENTR,DCMC,SESSN SUP * * * ALLOCATE CARTRIDGE ROUTINE FOR RTE * FILE MANAGER (FMGR) * * ENTERED ON COMMAND: * * AC,CRN[,P/G[,SIZE[,ID[,#DIR TRACKS]]]] * * WHERE * * CRN - CARTRIDGE REFERENCE NUMBER TO BE ASSIGNED TO DISC THAT * IS ALLOCATED TO THE USER * P/G - P INDICATES DISC IS TO BE MOUNTED AS PRIVATE, G AS GROUP * SIZE - # TRACKS NEEDED ON THE ALLOCATED DISC. DEFAULT WILL BE TO * FIRST AVAILABLE DISC IN DISC POOL * ID - 6-CHAR ASCII IDENTIFIER * # DIR TRACKS - # DIRECTORY TRACKS MADE NEGATIVE WHEN SENT TO DCMC * * * AC.. EXTRACTS PARAMETERS FROM PARSE LIST AND CALLS * SUBROUTINE DCMC. TO PERFORM THE MOUNT. * * N NOP LIS NOP ER NOP AC.. NOP JSB .ENTR DEF N CLA CLEAR STA P/G PARAMETERS STA SIZE TO BE STA ID PASSED TO STA ID+1 DCMC. STA ID+2 STA DIRTK JSB SESSN FIND OUT IF CALLER'S UNDER SESSION CONTROL DEF *+2 DEF XEQT SEZ UNDER SESSION CONTROL? JMP EX45 NO - SHOULDN'T BE DOING AN AC COMMAND LDA N,I GET NUMBER OF PARAMETERS IN PARSE LIST SZA,RSS IF THERE WEREN'T ANY JMP EX50 EXIT NOT ENOUGH PARAMETERS CMA,INA MAKE IT NEGATIVE STA N TO USE AS A COUNTER LDB LIS LDA B,I GET CARTRIDGE FROM PARSE LIST (FLAG WORD) SZA,RSS IF NONE SPECIFIED JMP EX50 EXIT NOT ENOUGH PARAMETERS INB LDA B,I SSA,RSS SZA,RSS OR IF A ZERO SPECIFIED JMP EX56 EXIT BAD PARAMETER STA DISID ISZ N RSS JMP CALL * ADB .3 LDA B,I GET PRIVATE/GROUP INDICATOR (FLAG WORD) CPA .1 CAN'T BE NUMBERIC JMP EX56 EXIT BAD PARAMETER INB LDA B,I SZA CPA P IF PRIVATE SET TO 0 JMP PG2 CPA G IF GROUP SET TO 1 JMP PG1 JMP EX56 ELSE EXIT BAD PARAMETER PG1 ISZ P/G PG2 ISZ N RSS JMP CALL * ADB .3 LDA B,I GET SIZE IN TRACKS (FLAG WORD) CPA .3 CAN'T BE ASCII JMP EX56 EXIT BAD PARAMETER INB LDA B,I SIZE IN TRACKS SSA CAN'T BE NEGATIVE JMP EX56 BAD PARAMETER STA SIZE ISZ N RSS JMP CALL * ADB .3 LDA B,I GET LABEL (FLAG WORD) CPA .1 CAN'T BE NUMBERIC JMP EX53 EXIT BAD PARAMETER INB LDA B,I FIRST TWO CHARACTERS OF ASCII IDENTIFIER STA ID INB LDA B,I 3RD AND 4TH CHARACTERS OF ASCII IDENTIFIER STA ID+1 INB LDA B,I 5TH AND 6TH CHARACTERS OF ASCII IDENTIFIER STA ID+2 ISZ N RSS JMP CALL * INB LDA B,I GET NUMBER OF DIR TRACKS (FLAG WORD CPA .3 CAN'T BE ASCII JMP EX56 EXIT BAD PARAMETER INB LDA B,I NUMBER OF DIRECTORY TRACKS SSA CAN'T BE NEGATIVE JMP EX56 BAD PARAMETER CMA,INA STA DIRTK * * CALL JSB DCMC CALL DCMC. TO MOUNT THE DISC. DEF RTN DEF ER,I DEF CODE DEF DISID DEF P/G DEF SIZE DEF ID DEF DIRTK RTN EQU * JMP EXIT * EX45 LDA .45 RSS EX50 LDA .50 NOT ENOUGH PARAMETERS RSS EX53 LDA .53 RSS EX56 LDA .56 BAD PARAMETER STA ER,I EXIT JMP AC..,I * * XEQT EQU 1717B B EQU 1 CODE OCT 1 .1 OCT 1 .3 OCT 3 .4 OCT 4 .45 DEC 45 .50 DEC 50 .53 DEC 53 .56 DEC 56 G OCT 43440 P OCT 50040 DISID NOP P/G NOP SIZE NOP ID BSS 3 DIRTK NOP LABEL NOP * END