ASMB,R,L,C HED (FMGR) CALL.: ACTION ROUTINE CALLER * NAME: CALL. * SOURCE: 92071-18207 * RELOC: 92071-16207 * PGMR: E.D.B. * * *************************************************************** * * (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. * * *************************************************************** * NAM CALL.,7 92071-1X207 REV.2041 800324 * ENT CALL., SEG.R, FM.AB * EXT .E.R, P.CNT, P.RAM, I.BUF, O.BUF EXT MSS. EXT CLOSE EXT .ENTR, EXEC SUP SKP * * DESCRIPTION * * CALL. IS USED TO CONTROL THE CALLING OF FMGR ACTION ROUTINES * (LOCATED WITHIN SEGMENTS OF FMGR). IT ASSUMES THAT * THE SEGMENT MAIN WILL RETURN TO THE LABEL SEG.R, WITH * THE ADDRESS OF A COMMAND TABLE IN THE A-REG. * * ACTION ROUTINES MAY EITHER RETURN NORMALLY, OR JUMP TO * THE LABEL FM.AB. * * CALLING SEQUENCE: * * CALL.(SEG,ROUTN) * * WHERE: * * SEG IS THE LAST ASCII CHARACTER OF THE SEGMENT NAME * CONTAINING THE ACTION ROUTINE TO BE CALLED. * * ROUTN IS THE ROUTINE NUMBER WITH THE SEGMENT TO BE CALLED. * USED AS AN OFFSET INTO THE COMMAND TABLE LOCATED * IN THE SEGMENT MAIN. SKP * * ENTRY * SEG NOP ROUTN NOP * CALL. NOP JSB .ENTR GET PARAMETERS DEF SEG * LDA SEG,I GET REQUESTED SEGMENT NAME CPA CURSG IF ALREADY IN MEMORY JMP EXQUT THEN CONTINUE * STA CURSG SAVE IN CURRENT SEGMENT JSB EXEC LOAD THE SEGMENT DEF *+3 DEF .8 DEF SEGNM SEGMENT NAME * SEG.R STA CADDR SEGMENT RETURN POINT. A= ADDRESS OF SEG TABLE * EXQUT LDA CADDR GET COMMAND TABLE ADDRESS ADA ROUTN,I ADD ROUTINE NUMBER LDA A,I AND GET ROUTINE ADDRESS STA ROUTN PUT IN COMMAND ADDRESS * CLA CLEAR OUT STA ER ERROR STA .E.R WORDS * JSB ROUTN,I CALL ACTION ROUTINE DEF *+4 DEF P.CNT DEF P.RAM DEF ER * FM.AB LDA ER GET ERROR CODE SZA,RSS IF NO ERROR OCCURRED, JMP KLOSE THEN GO CLOSE FILES * JSB MSS. ISSUE ERROR DEF *+2 DEF ER * KLOSE JSB CLOSE CLOSE INPUT FILE DEF *+2 DEF I.BUF * JSB CLOSE CLOSE OUTPUT FILE DEF *+2 DEF O.BUF * JMP CALL.,I AND RETURN SKP * * STORAGE AREA * .8 DEC 8 * SEGNM ASC 2,FMGR - CURSG NOP - CURRENTLY RESIDENT SEGMENT * CADDR NOP COMMAND TABLE ADDRESS ER NOP LOCAL ERROR CODE * A EQU 0 B EQU 1 * END EQU * * END