ASMB,R,L,C HED APLDR-L 91750-16040 REV 2013 * (C) HEWLETT-PACKARD CO. 1980 NAM APLDR,1,40 91750-16040 REV.2013 800314 L SPC 1 * NAME: APLDL * SOURCE: 91750-18040 * RELOC: 91750-16040 * PGMR: JERRY BELDEN * ****************************************************************** * * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1980. 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. * ****************************************************************** SPC 1 ENT APLDR ENT WRITF,OPEN.,TMP.,O.BUF ENT SECUR,FINFO SPC 1 EXT #CNOD,#NODE EXT RMPAR,PRTN,EXEC,DSTIO,.ENTR EXT PL..,IO..,LO.. SPC 1 APL.. DEF PL.. AIO.. DEF IO.. ALO.. DEF LO.. SPC 3 * * NAME: APLDR (L) * SOURCE: 91750-182?? * BINARY: 91750-162?? * PRGRMR: GAB * DATE: 13 JUN 79 * SKP * * APLDR-L IS A PROGRAM WHICH WILL EXECUTE A SUBSET OF THE * RTE-L ACTION ROUTINES. IT IS SCHEDULED LOCALLY BY COMND (DS * VERSION) OR BY EXECW (DS MONITOR). THE ACTION ROUTINES WHICH * ARE AVAILABLE ARE THOSE THAT MUST DO THEIR OWN MASTER CALLS. * SPECIFICALLY, THESE ARE 'LO','PL', AND 'IO'. * * THE FOLLOWING COMMAND STRINGS CAUSE APLDR-L TO BE * SCHEDULED: * * IO * PL[,XX] (XX IS THE PROGRAM LIST OPTION) * LO,PNAME,SC,CRN (LOAD COMMAND VIA 'COMND') * LO,PNAME:SC:CRN (LOAD COMMAND VIA 'REMAT') * * APLDR-L IS SCHEDULED WITHTHE FOLLOWING PARAMETERS: * * P1 - REMOTE SCHED[15]/LU[11:4]/FUNCTION[3:0] * P2 - LOAD FILE SECURITY CODE ('LO' ONLY) OR * UNUSED * P3 - CHARS 1 & 2 OF FILE NAME ('LO') OR * LIST OPTION ('PL') OR * UNUSED * P4&P5 - LAST 4 CHARS. FILE NAME ('LO') OR * UNUSED * * WHERE FUNCTION IN P1 IS COMMAND TYPE: * 0 IS PL, 1 IS LO, AND 5 IS IO * SKP APLDR NOP ENTRY POINT JSB RMPAR PICK UP PARAMETERS DEF *+2 DEF ERLUF ARRAY ADDRESS JSB EXEC PICKUP UP LAST TWO PARAMETERS DEF *+5 DEF STCOD STRING PICKUP RCODE DEF .1 RETRIEVE FUNCTION DEF FINFO WILL CONTAIN CRN & FILE NODE # DEF .2 FOR 'LO' (2 WORDS) JMP APERR ERROR SZA ANY STRING ? JMP TERM1 NO, DON'T PROCESS (ILLEG. FATHER) CPB .2 2 PARAMETERS ? RSS JMP TERM1 NO, DON'T PROCESS LDA ERLUF REMOTE FLAG/LU/FUNCTION ALF,ALF ISOLATE LU FOR ALF CONSOLE/LIST AND B77 STA TMP. CLA STA IPRAM CLEAR ACTION ROUTINE ERR FLG. XOR B200 SET HONESTY MODE BIT FOR PRINT STA TMP.+1 SUBFUNCTION WORD (CONWD) LDA ERLUF AND B17 ISOLATE FUNCTION * LDB APL.. PRESET JUMP ADDR TO F=0 CPA .1 'LO' COMMAND ? LDB ALO.. YES CPA .2 OTHER 'LO' COMMAND? LDB ALO.. YES CPA .5 'IO' ? LDB AIO.. YES * * NEW ACTION ROUTINES ACCESSED VIA EXECW SHOULD INCLUDE * FUNCTION TEST & TRANSFER ADDRESS HERE. * JSB B,I CALL THE ROUTINE DEF *+4 DEF .1 PARAMETER COUNT (1 MAX) DEF PRGNM-1 PARAMETER BUFFER (PARSE FORMAT) DEF IPRAM ERROR CODE * * RETURN PROCESSING * LDA IPRAM ELA,CLE,ERA DON'T PRINT IO ERRORS SZA JMP ELOG AN ERROR, OUTPUT IT * TERM. JSB PRTN YES, RETURN ANY ERROR TO FATHER DEF *+2 DEF IPRAM TERM1 JSB EXEC DONE DEF *+2 DEF .6 SKP * * DUMMY OPEN CALL * ODCB BSS 2 * OPEN. NOP JSB .ENTR DEF ODCB JMP OPEN.,I SKP * * DUMMY WRITF ROUTINE (DOES ALL ASCII OUTPUT) * WDCB NOP WERR NOP WBUF NOP WLEN NOP * WRITF NOP JSB .ENTR DEF WDCB LDA TMP. WRITING TO SZA,RSS LU ZERO? JMP WRTRN YES, IGNORE LDA ERLUF LOCAL OR REMOTE SCHEDULE ? SSA,RSS SCHEDULED BY COMND ? JMP LOCAL YES LDA #CNOD SSA JMP LOCAL -1 IS LOCAL CPA #NODE NODE # MATCH ? JMP LOCAL YES * JSB DSTIO MUST BE REMOTE DEF *+6 DEF #CNOD DESTINATION NODE DEF N2 WRITE / NO ABORT DEF TMP. 2 WORD LU DEF WBUF,I DEF WLEN,I JMP DSERR * WRTRN CLA SET NO ERROR STA WERR,I INTO USER'S LOG JMP WRITF,I RETURN * DSERR DST IPRAM+1 SAVE ERROR LDA BIT15 STA IPRAM INDICATE IT JMP WRTRN DONE * LOCAL JSB EXEC DO LOCAL OUTPUT DEF *+5 DEF .2 WRITE DEF TMP. LU DEF WBUF,I DEF WLEN,I JMP WRTRN SKP * * ERROR PROCESSING * ELOG LDA IPRAM GET BACK ERROR LDB BLNK SET DEFAULT TO POSITIVE SSA LDB BSIGN NEG, GET MINUS SIGN STB ESGN SAVE ASCII SIGN SSA NEG ? CMA,INA YES, SET POS. CLB CLEAR B FOR DIVIDE DIV .10 DIVIDE BY 10. 2-DIGIT ERRORS ONLY ADB B60 MAKE REMAINDER ASCII ADA B60 MAKE QUOTIENT ASCII ALF,ALF POSITION QUOTIENT TO UPPER HALF IOR B PUT IN SECOND DIGIT STA ERCDE JSB WRITF OUTPUT THE ERROR DEF *+5 DEF DUMMY DEF DUMMY DEF ERBUF DEF .4 JMP TERM. DONE * ERBUF ASC 2,CMND ESGN NOP SIGN ERCDE NOP ERROR CODE IN ASCII * BLNK ASC 1, BSIGN ASC 1, - * APERR DST IPRAM+1 SAVE ERROR CODE LDA BIT15 STA IPRAM INDICATE ERROR MESSAGE JMP TERM. DONE SKP * * CONSTANTS * .1 DEC 1 .2 DEC 2 .4 DEC 4 .5 DEC 5 .6 DEC 6 .10 DEC 10 B17 OCT 17 B60 OCT 60 B77 OCT 77 B200 OCT 200 BIT15 OCT 100000 N2 OCT 100002 STCOD OCT 100016 RCODE FOR STRING RECOVERY * A EQU 0 B EQU 1 SPC 2 * * LOCAL DATA * O.BUF EQU * DUMMY ENTRY REQ'D BY ACTION ROUTINES DUMMY NOP IPRAM BSS 5 RETURNED ERROR CODE TMP. BSS 2 LU (1ST WORD) & SUBFUNCTION (2ND) FINFO BSS 2 REMOTE FILE CRN & NODE # FOR 'LO' * * DO NOT ARRANGE THE NEXT 3 PARAMETERS (5 WORDS) * ERLUF NOP REMOTE FLAG/LU/FUNCTION SECUR NOP LOAD FILE SECURITY CODE PRGNM BSS 3 LOAD FILE NAME OR PL OPTION END APLDR