ASMB,R,B,L,C,Z     $EX30                        7905                            
      HED CORE RESIDENT EFMP MODULE 
      NAM $EX30,0,0                             7905                            
* 
****************************************************            7905            
*                                                  *            7905            
*        REV.        6-11-75                       *            79A5            
*     USE Z OPTION FOR EAU VERSION
*     USE N OPTION FOR NON EAU VERSION
*                                                  *            7905            
****************************************************            7905            
* 
      ENT $EX30,EFCON 
      EXT $BUF
      EXT $MDLD 
      EXT $DISC 
      EXT $IRT
      EXT $SYIO,$WAIT 
      EXT $CLER 
      EXT DEF04 
      EXT DEF31,DEF32,DEF33 
      ENT ENDTS,AINVC,SRCDR 
      ENT FLNGH,NOTRB,NSUWA,WPTRB,NXOTL,NXTFP 
      ENT OPNTB,STSWA,TRBUF,TRBSZ,ARQP1,DPNO
      ENT A$BUF,END$B,NOPAS,FTRBE,PN
      ENT OPNT1,PAKSC,OPNSZ,OPNTE,PNEAD,APN00 
      ENT DESIZ,TRKIO,SECIO,CNAME,NOSEC 
      ENT VALSU 
      ENT ERROR 
      ENT MOVCT,NXPTL,EBIAS,GTNXE,GSC,GNS 
      ENT MASUB 
A     EQU 0 
B     EQU 1 
.     EQU 53B 
@     EQU 100B
L7BT  EQU 73B 
L8BT  EQU 74B 
H8BT  EQU 75B 
UMLWA EQU @+0 
JBINS EQU @+1 
JBINC EQU @+2 
SYSBF EQU @+15B 
SECTR EQU @+16B 
XIRT  EQU @+37B 
DISCO EQU @+54B 
SYSSC EQU @+55B 
SCCNT EQU @+56B 
UDNTS EQU @+57B 
SYNTS EQU @+60B     NEXT SYST. DISC TRACK/SECT. 
CUDSC EQU @+61B 
CRFLG EQU @+62B     CURRENT DISC REQ. FLAG, 0=S,1=UD
CUDLA EQU @+63B 
EXMOD EQU @+145B
UMFWA EQU @+154B
TEMP  EQU @+205B
EOJFL EQU @+223B
XFLG  EQU @+230B
      SKP 
$EX30 EQU * 
      NOP           DUMMY 
      CCA 
      STA EFRUN     SET EFMP RUNNING
* 
* RESOLVE ADDRESS OF $BUF 
* 
      LDA A$BUF 
      RSS 
      LDA 0,I 
      RAL,CLE,SLA,ERA 
      JMP *-2 
      STA A$BUF     ADDR OF $BUF
       ADA D127 
      STA END$B     ADDRESS OF $BUF+127 
* 
      LDA EOJFL     END-OF-JOB FLAG 
      SZA           START OF NEW JOB? 
      JMP OLDJO     NO, OLD "JOB" 
      CLA 
      STA VALSU     REINITIALIZE VALID SETUP FLAG 
      STA NSUWA     NO. SECT. USED IN WORK
      LDA ADABR     ADDR. OF ABORT ROUTINE
      STA EOJFL     SET FOR DOS-M 
OLDJO EQU * 
* MOVE ARGS INTO EFMP BUFFER ARG1 
      LDA ARQCN     ADDR. OF SOURCE 
      LDB MD10
      STB MOVCT 
      LDB AARGC     ADDR. OF DESTINATION
      JSB MOVE      MOVE ARRAY
      LDA UDNTS 
      STA .UDNT 
      LDA CUDSC 
      STA .CUDS 
      LDA ARG2,I    EFMP FUNCTION NO. 
      OCT 0         OCT 107001
      SZA,RSS       TOO SMALL?
      JSB ER1       YES 
      SSA 
      JSB ER1 
      CMA,INA 
      ADA MAXFN     (-) MAX. NO. OF FUNCTIONS 
      SSA           TOO BIG?
      JSB ER1       YES 
      LDB ARG2,I    EFMP FUNCTION NO. 
      ADB AERWD     POINTER TO ERROR TABLE
      LDA ARGCT     COUNT OF NO. OF PARAMETERS
      CPA B,I       VALID COUNT?
      RSS           YES 
      JSB ER20
      LDA AMODN     ADDR. OF MODULE NO. 
      ADA ARG2,I
      LDA A,I       PICK UP MODULE NO.
      LDB AFNTB     ADDR. OF FUNCTION TABLE 
      ADB ARG2,I    CALCULATE FUNCTION NO.
      LDB B,I       PICK UP CORE ADDR 
      CPA D30       CORE RES. LOCATION ?
      JMP B,I       YES 
      SPC 1 
      STB TEMP      SAVE FOR EXEC 
      JMP $MDLD     MODULE LOAD IN EXEC 
      SPC 1 
EFCON EQU *         EFMP CONTINUATION FROM MODULES
      CLA 
      SPC 3 
ERROR EQU * 
      STA EADDR+1   SAVE ERROR NO.
      STB EADDR 
      LDA ARGRT     RETURN ADDR.
      ADA MD1 
      LDA A,I       ADDR. OF ERROR WORD 
      CLB,INB       NO. WDS. TO CHECK 
      JSB CKCLM     CHECK CORE LIMITS 
      JMP ERERR     ERROR 9 
      STA B         SAVE EFFECTIVE ADDR. OF ERROR LOC.
      LDA EADDR+1   ERROR NO. 
      STA B,I 
ERERR EQU * 
      JSB RLEXM     RELEASE EXEC MODULE 
      LDA EADDR+1   ERROR NO. 
      SZA,RSS       ANY ERRORS ?
      JMP DOSUM     NO, DO CHECK SUM
      LDB ARG2,I
      CPB D1        DEFINE WITH ERROR ? 
      JMP NOSUM     YES, IGNORE CHECK SUM 
      CPA D12       BUFFER ERROR? 
      JMP *+3       YES, IGNORE CK. SUM 
DOSUM EQU * 
      JSB CKSUM     CALC. CK. SUM 
      STA VALSU     SAVE FOR NEXT ENTRY 
NOSUM EQU * 
      CLA 
      STA EFRUN     RESET EFMP RUNNING FLAG 
      LDA ARGRT 
      STA XIRT
      LDB EADDR 
      LDA EADDR+1 
      OCT 0         OCT 107002 FOR DEBUGGING
      JMP $IRT
      SPC 1 
RLEXM NOP           RELEASE EXEC MODS.
      LDA .UDNT 
      STA UDNTS 
      LDA .CUDS 
      STA CUDSC 
      LDA L8BT
      STA CUDLA 
      LDA EXMOD     EXEC MOD. CURRENTLY RUNNING 
      CPA MD31
      CMA,INA 
      CPA MD32
      CMA,INA 
      CPA MD33
      CMA,INA 
      STA EXMOD     RESTORE IT
      JMP RLEXM,I   RETURN
.UDNT OCT 0         TEMP. 
.CUDS OCT 0         TEMP. 
EADDR OCT 0,0 
MD31  DEC -31 
MD32  DEC -32 
MD33  DEC -33 
      SPC 3 
      SKP 
CKVSU NOP           CHECK IF VALID SETUP
      LDA VALSU     VALUE SETUP FLAG
      SZA,RSS       VALID?
      JSB ER12      NO
      JSB CKSUM     CALC. CK. SUM 
      CPA VALSU     SAME AS PREVIOUS EXIT?
      JMP CKVSU,I   YES, VALID. RETURN
      CLA 
      STA VALSU 
      JSB ER12
*     JMP CKVSU,I   NOT NEEDED
VALSU OCT 0         VALID SETUP FLAG
      SPC 1 
ADABR DEF ABORT 
ABORT NOP           ABORT CLEAN UP AND EOJ
      JSB $CLER     CLEAR ALL I/O 
      JSB IMAG1     GO TO IMAGE ROUTINE 1 
      LDA EFRUN 
      SZA,RSS       EFMP INTERRUPTED? 
      JMP NOERR     NO
      JSB $SYIO 
      DEC 2 
      OCT 1 
      DEF MS10
      ABS LM10
      DEF *+2 
      JMP $WAIT 
      JMP ABNO
NOERR EQU *         NO ERROR
      LDA UDNTS 
      STA .UDNT 
      LDA CUDSC 
      STA .CUDS 
      LDA VALSU     VALID SETUP 
      SZA,RSS       VALID?
      JMP ABNO      NO
      JSB CKSUM     CALC. CK.SUM
      CPA VALSU     SAME AS PREVIOUS? 
      JSB POST      YES, CLEAN UP BUFFERS 
ABNO  EQU * 
      CLA 
      STA EFRUN     SET EFMP NOT RUNNING
      STA EOJFL     RESET FLAG FOR DOS-M TO CALL EFMP 
      JSB RLEXM     RELEASE EXEC. MOD.
      JMP ABORT,I   RETURN TO DOS-M 
      SPC 1 
MS10  ASC 24,EFMP INTERRUPTED BEFORE PREVIOUS CALL COMPLETE.
LM10  EQU *-MS10
* IF IMAGE IS PRESENT, THE SUBROUTINE IMAG1 POSTS THE RUN TABLE 
* TO DISC TO PRESERVE THE INTEGRITY OF AN OPEN DATA BASE ON AN
* ABORT. IF DBPUT/DBDEL OR DBOPN(MODE=5) WAS EXECUTING AT ABORT,
* THE FOLLOWING MESSAGE APPEARS ON THE SYSTEM CONSOLE:
*     "CRITICAL IMAGE FUNCTION INTERRUPTED" 
*     "DATA BASE IS UNRELIABLE" 
*IF EFMP WAS EXECUTING, THE FOLLOWING MESSAGE IS PRINTED :
*    "DATA BASE IS UNRELIABLE"
*OTHERWISE, THE FOLLOWING MESSAGE IS PRINTED :
*     "DATA BASE IS INTACT" 
* IF EFMP WAS NOT EXECUTING, AND DBUPD WAS EXECUTING, 
* THE FOLLOWING MESSAGE IS PRINTED: 
*    "LAST DBUPD NOT COMPLETED" 
* 
DBZ   EQU 53B       BASE OF ZERO FOR EQUATES
TRKSC EQU DBZ+1     TRACK/SECTOR OF RUN TABLE 
ACSUB EQU DBZ+2     ACTIVITY FLAG AND SUBCHANNEL #
DBSTA EQU DBZ+3     DATA BASE STATUS ("LB" IF OPEN) 
DSETC EQU DBZ+6     DATA SET COUNT
DBSTB EQU DBZ+8     ADDRESS OF DATA SET TABLE 
B377  EQU 74B       377B MASK 
DBF   EQU 171B      $DISC A-REG BUFFER LOCATION 
DBUF  DEF DBF 
PTHCT BSS 1         # OF PATHS IN CURRENT SET 
SETCT BSS 1         NEGATIVE OF SET COUNT 
BUFAD BSS 1         ADDRESS OF FREEHE,FREECT BUF-$BUF 
DSET  BSS 1         CURRENT DSCB ADDRESS
ACFLG BSS 1         ACTIVITY(1=PUT,DEL,OPEN(MODE=5) 
*                   2=UPDATE  0=OTHER 
BUF1  BSS 1 
AIRUN BSS 1 
SIZE  OCT 0                                     79A5                            
TEMPX DEF BUF1
RUNOF DEC 1025
D16   DEC 16
SUB   BSS 1 
MESA  ASC 18,CRITICAL IMAGE FUNCTION INTERRUPTED
LMESA EQU *-MESA
MESB  ASC 12,DATA BASE IS UNRELIABLE
LMESB EQU *-MESB
MESC  ASC 10,DATA BASE IS INTACT
LMESC EQU *-MESC
MESD  ASC 12,LAST DBUPD NOT COMPLETED 
LMESD EQU *-MESD
IMAG1 NOP 
      CLA 
      LDA UMFWA 
      ADA RUNOF 
      STA AIRUN     SET AIRUN TO ADDRESS OF RUN TABL
      ADA DBSTA 
      LDB 0,I 
      CPB =ALB      IMAGE RUNNING (STATUS = "LB"?)
      JMP *+2 
      JMP IMAG1,I   NO, RETURN P+1
      LDB AIRUN     ACFLG = IMAGE ACTIVITY NUMBER 
      ADB ACSUB 
      LDA 1,I 
      AND H8BT
      ALF,ALF 
      STA ACFLG 
      JSB SETUP     SET UP NEG. DATA SET CT,BUF ADDR
FREE1 STA DSET
      ADA D6
      LDB 0,I       STORE FREECT AND FREEHD INTO BUF
      STB BUFAD,I   FOR EACH DATA SET 
      ISZ BUFAD 
      ISZ 0 
      LDB 0,I 
      STB BUFAD,I 
      ISZ BUFAD 
      JSB DSCB      GET ADDRESS OF NEXT DSCB
      ISZ SETCT 
      JMP FREE1 
      LDB AIRUN     CALCULATE RUN TABLE SIZE    79A5                            
      CMB,INB                                   79A5                            
      ADB A                                     79A5                            
      STB SIZE                                  79A5                            
      LDB AIRUN     READ IN RUN TABLE 
      ADB TRKSC 
      LDA 1,I 
      STA BUF1
      INB 
      LDA 1,I 
      AND B377
      LDB 0 
      STB SUB       SAVE DESIRED SUBCHANNEL 
      JSB CKDRI     SET SUBCHANNEL FOR RUN TABLE
      LDA DBUF      PREPARE $DISC BUFFER
      LDB BUF1
      STB 0,I 
      INA 
      LDB AIRUN 
      STB 0,I 
      INA 
      LDB SIZE
      STB 0,I 
      LDA DBUF
      CLB,INB 
      JSB $DISC 
      LDA AIRUN     IMAGE RUNNING ? DOUBLE CHECK
      ADA DBSTA     (STATUS = "LB" IN RUN TABLE ON
      LDB 0,I       DISC?)
      CPB =ALB
      JMP *+2 
      JMP IMAG1,I   NO, RETURN P+1
      CLA,INA       IF DBPUT/DBDEL OR DBOPN(MODE
      CPA ACFLG     =5) RUNNING AT TIME OF INTERRUPT
      JMP *+2       PRINT:"CRITICAL IMAGE FUNCTION
      JMP OKMES     INTERRUPTED"
      JSB $SYIO 
      DEC 2 
      OCT 1 
      DEF MESA
      ABS LMESA 
      DEF *+2 
      JMP $WAIT 
ERMES JSB $SYIO 
      DEC 2 
      OCT 1 
      DEF MESB
      ABS LMESB 
      DEF *+2 
      JMP $WAIT 
      JMP RESFR 
OKMES LDA EFRUN     IF IMAGE IS RUNNING, EFMP 
      SZA           NOT RUNNING, AND DBPUT/DBDEL
      JMP ERMES     NOT RUNNING, GENERATE MESSAGE:
      JSB $SYIO     "DATA BASE IS INTACT" 
      DEC 2 
      OCT 1 
      DEF MESC
      ABS LMESC 
      DEF *+2 
      JMP $WAIT 
      CLA,INA       IF DBUPD RUNNING AT TIME OF 
      INA           INTERRUPT,PRINT:"LAST DBUPD 
      CPA ACFLG     NOT COMPLETED"
      JMP *+2 
      JMP RESFR 
      JSB $SYIO 
      DEC 2 
      OCT 1 
      DEF MESD
      ABS LMESD 
      DEF *+2 
      JMP $WAIT 
RESFR JSB SETUP     SET UP NEG. DATA SET CT,BUFAD 
FREE2 STA DSET
      ADA D6
      LDB BUFAD,I   RESTORE FREECT AND FREEHD FROM
      STB 0,I       BUF INTO RUN TABLE FOR EACH 
      ISZ BUFAD     DATA SET
      ISZ 0 
      LDB BUFAD,I 
      STB 0,I 
      ISZ BUFAD 
      JSB DSCB      GET ADDRESS OF NEXT DSCB
      ISZ SETCT 
      JMP FREE2 
      LDB SUB       RESTORE DESIRED SUBCHANNEL
      JSB CKDRI     SET SUBCHANNEL FOR RUN TABLE
      LDA DBUF      PREPARE $DISC BUFFER
      LDB BUF1
      STB 0,I 
      INA 
      LDB AIRUN 
      STB 0,I 
      INA 
      LDB SIZE
      STB 0,I 
      LDA DBUF
      LDB D2
      JSB $DISC 
      JMP IMAG1,I 
SETUP NOP           SETUP PREPARES FOR SAVING AND 
      LDB AIRUN     RESTORING FREECT AND FREEHD.
      ADB DSETC     SETS DSETC TO NEG DATA SET CT,
      LDA 1,I       BUFAD TO ADDRESS OF $BUF, 
      CMA,INA       A-REG TO ADDR OF DATA SET TABLE 
      STA SETCT 
      LDA A$BUF 
      STA BUFAD 
      LDB AIRUN 
      ADB DBSTB 
      CCA 
      ADA AIRUN 
      ADA 1,I 
      JMP SETUP,I 
DSCB  NOP           DSCB CALCULATES THE ADDRESS OF
      LDB DSET      THE NEXT DATA SET CONTROL BLOCK 
      ADB D3        IN THE RUN TABLE. RETURNS IT
      LDA 1,I       IN THE A-REG. 
      AND B377
      ALS 
      STA PTHCT 
      LDA 1,I 
      ALF,ALF 
      AND B377
      ADA DSET
      ADA PTHCT 
      ADA D16 
      JMP DSCB,I
      SPC 3 
MASUB NOP           MAIN SUBROUTINE 
      STA MSA 
      STB MSB 
      LDA MASUB,I   PICK UP SUB INDEX 
      ADA ASUBT     ADDR. OF SUB. TABLE 
      LDA A,I       PICK UP ADDR. OF DESIRED SUB. 
      LDB MASUB 
      ADB MD2 
      LDB B,I       PICK UP RETURN ADDR.
      STB A,I       PACK RETURN ADDR. 
      INA           POINT TO 2ND LOC. IN SUB. DESIR.
      STA MACAL 
      LDA MSA 
      LDB MSB 
      JMP MACAL,I   CALL SUBROUTINE 
MSA   OCT 0         A-REG.
MSB   OCT 0         B-REG 
MACAL OCT 0         CALL LOCATION +1 FOR DESIRED SUB
ASUBT DEF SUBTB-1 
SUBTB EQU * 
      DEF MOVE           1
      DEF POST           2
      DEF POSTW          3
      DEF CKVSU          4
      DEF NAM0?          5
      DEF CRPN0          6
      DEF CKPN           7
      DEF SVPNS          8
      DEF CKNAP          9
      DEF SETD1          10 
      DEF SETD2          11 
      DEF GETDE          12 
      DEF REPNS           13
      DEF CNVDA          14 
      DEF CNPND          15 
      DEF MVPNT          16 
      DEF GETPN          17 
      DEF CKOPN          18 
      DEF SRCDR          19 
      DEF GTNPN          20 
      DEF CKDSP          21 
      DEF CKCLM          22 
      DEF CMPAR          23 
      DEF CKPNT          24 
      DEF PKDIR          25 
      DEF T.STS          26 
      DEF STT.S          27 
      DEF STZ            28 
      DEF GRTXX          29 
      DEF GWTXX          30 
      DEF CKSPC          31 
      DEF STPNO          32 
      DEF SFSTS          33 
      DEF PRETS          34 
      DEF PRWIO          35 
      DEF MPY            36 
      DEF DIV            37 
      SPC 3 
ER1   EQU * 
      OCT 0 
      LDA D1
      JSB ERR 
ER12  EQU * 
      OCT 0 
      LDA D12 
      JSB ERR 
ER15  EQU * 
      OCT 0 
      LDA D15 
      JSB ERR 
ER17  EQU * 
      OCT 0 
      LDA D17 
      JSB ERR 
ER20  EQU * 
      OCT 0 
      LDA D20 
      JSB ERR 
ER23  EQU * 
      OCT 0 
      LDA D23 
      JSB ERR 
ER24  EQU * 
      OCT 0 
      LDA D24 
      JSB ERR 
ER27  EQU * 
      OCT 0 
      LDA D27 
      JSB ERR 
ER28  EQU * 
      OCT 0 
      LDA D28 
      JSB ERR 
ERR   NOP 
      LDB ERR 
      ADB MD3 
      LDB B,I       PICK UP LOC OF ERROR
      JMP ERROR 
      HED CONSTANTS AND VARIABLES 
FNTBS EQU *         EFMP FUNCTION TABLE START 
      DEF DEF31     FUNC. NO. 1 
      DEF DEF31     FUNC. NO. 2 
      DEF DEF31     FUNC. NO. 3 
      DEF DEF31     FUNC. NO. 4 
      DEF DEF31     FUNC. NO. 5 
      DEF DEF32     FUNC. NO. 6 
      DEF DEF31     FUNC. NO. 7 
      DEF DEF32     FUNC NO. 8
      DEF DEF32     FUNC. NO. 9 
      DEF DEF32     FUNC. NO. 10
      DEF DEF33     FUNC. NO. 11
      DEF DEF33     FUNC. NO. 12
      DEF DEF32     FUNC. NO. 13
      DEF AFN14     FUNCTION NO. 14 
FNTBE EQU *         EFMP FUNCTION TABLE END 
MAXFN ABS FNTBE-FNTBS    MAX. FUNCTION NO.
      SPC 1 
MODNS EQU *         MODULE NUMBERS TABLE START
      DEC 31        FUNCTION NO.  1 
      DEC 31        FUNCTION NO.  2 
      DEC 31        FUNCTION NO.  3 
      DEC 31        FUNCTION NO.  4 
      DEC 31        FUNCTION NO.  5 
      DEC 32        FUNCTION NO.  6 
      DEC 31        FUNCTION NO. 7
      DEC 32        FUNCTION NO.  8 
      DEC 32        FUNCTION NO.  9 
      DEC 32        FUNCTION NO. 10 
      DEC 33        FUNCTION NO. 11 
      DEC 33        FUNCTION NO. 12 
      DEC 32        FUNCTION NO. 13 
      DEC 30        FUNCTION NO. 14 
ERWDS EQU *         ERROR WORD POSITION IN EXEC CALL
      DEC 8         FUNCTION 1
      DEC 8         FUNCTION  2 
      DEC 6         FUNCTION  3 
      DEC 8         FUNCTION  4 
      DEC 5         FUNCTION  5 
      DEC 6         FUNCTION  6 
      DEC 5         FUNCTION 7
      DEC 6         FUNCTION  8 
      DEC 6         FUNCTION  9 
      DEC 8         FUNCTION 10 
      DEC 4         FUNCTION 11 
      DEC 5         FUNCTION 12 
      DEC 6         FUNCTION 13 
      DEC 3         FUNCTION 14 
      SPC 1 
ARQCN ABS 224B
AARGC DEF ARGCT 
ARQP1 DEF ARG1
AERWD DEF ERWDS-1 
AFNTB DEF FNTBS-1,I 
AMODN DEF MODNS-1 
MD24  DEC -24                                   79A5                            
MD16  DEC -16 
MD12  DEC -12 
MD10  EQU .-10
MD9   EQU .-9 
MD8   EQU .-8 
MD6   EQU .-6 
MD5   EQU .-5 
MD4   EQU .-4 
MD3   EQU .-3 
MD2   EQU .-2 
MD1   EQU .-1 
D1    EQU .+1 
D2    EQU .+2 
D3    EQU .+3 
D4    EQU .+4 
D5    EQU .+5 
D6    EQU .+6 
D7    EQU .+7 
D8    EQU .+8 
D9    EQU .+9 
D10   EQU .+10
B12   EQU D10 
D11   DEC 11
B13   EQU D11 
D14   DEC 14
D12   DEC 12
D15   DEC 15
D17   DEC 17
D20   DEC 20
D23   DEC 23
D24   DEC 24
D27   DEC 27
D28   DEC 28
D30   DEC 30
D100  DEC 100 
D127  DEC 127 
D128  DEC 128 
D200  DEC 200 
D999  DEC 999 
MB60  OCT -60 
END$B NOP           ADDRESS OF $BUF+127 
ENDTS OCT 144000    END T/S +1
MXWPE DEC 9 
AINVC DEF INVCH 
INVCH OCT 177400    INVALID CHAR
      OCT 177400    INVALID CHAR
      OCT 177400    INVALID CHAR
WPOTE DEC 16        WORDS/OPEN TABLE ENTRY
FLNGH OCT 0         TOTAL FILE LENGTH OF DOS-M FILE 
NOTRB OCT 0         TEMP. RECORD BUFFER VALUES
NSUWA OCT 0         NO. SECT. USED IN WORK AREA 
WPTRB OCT 0         WORDS/TRB 
NXPTL OCT 0         NEXT AVAIL PACK NO. ENTRY IN OPEN TABLE 
FTRBE OCT 0         ADDR OF FIRST TRB ENTRY IN OPEN TABLE 
NXOTL OCT 0         NEXT O.T. LOCATION
NXTFP OCT 0         NEXT FILE POSITION IN DIRECTORY 
OPNSZ OCT 0         SIZE OF OPENED TABLE
OPNTE OCT 0         ADDR. OF OPEN TABLE END 
OPNTB OCT 0,0       ADDR. OF OPENED TABLE START 
OPNT1 EQU OPNTB+1 
STSWA OCT 0         STARTING T/S OF WORK AREA 
TRBUF OCT 0         ADDR. OF TEMP. RECORD BUFFER
TRBSZ OCT 0         SIZE OF TEMP. RECORD BUFFER 
      SPC 1 
ARGCT OCT 0 
ARGRT OCT 0 
ARG1  OCT 0 
ARG2  OCT 0 
ARG3  OCT 0 
ARG4  OCT 0 
ARG5  OCT 0 
ARG6  OCT 0 
ARG7  OCT 0 
ARG8  OCT 0 
EFRUN OCT 0         EFMP RUNNING FLAG 
      HED POST FUNCTION 
* 
*         POST FUNCTION 
* 
AFN14 DEF FUN14 
FUN14 EQU * 
      JSB CKVSU     CHECK IF VALID DEFINE PREVIOUSLY
      JSB POST
      JMP EFCON     RETURN TO USER
      SPC 3 
* 
* POST ALL TRB
* 
POST  NOP           POST ALL TRB'S
      LDA NOTRB     NO. OF TRB'S
      CMA,INA 
      STA POSTI     POST INDEX
      LDB FTRBE     GET ADDR OF FIRST TRB 
POSTM EQU *         POST MORE 
      JSB POSTW     POST WRITE
      LDB POSTP     POINTER TO THIS TRB VECTOR
      ADB D3        BIAS TO NEXT TRB VECTOR 
      ISZ POSTI     FINISHED W/ TRB VECTORS 
      JMP POSTM     NO, POST MORE 
      JMP POST,I    RETURN
      SPC 3 
POSTW NOP           POST WRITE
      STB POSTP     POST POINTER
                                                                                                                                                                                                                                              