TRAPCHEC867

(George Source)

Macros used: BRUSEN, BXU, CHAIN, CJOBLOCK, CLOSE, COMBRKIN, COMERR, ENDCOM, FINDFEXTRA, FINDNAME, FINDWFL, FINDWFN, FREECORE, FSHCODE, FSHENTRY, FSHSKIP, GEOERR, HUNT, JBS, LOGACCESS, MENDAREA, MFREE, MHUNT, MHUNTW, MONOUT, NAME, NAMETOP, OPENDIR, OUTBLOCK, OUTPARAM, PROPUSER, READAGAIN, REPALLER, SEG, SEGENTRY, SETNCORE, SIX, SPRIVTEST, STEP, TESTHOOK, TESTNAMX, TESTREP2, TESTREPNOT, TESTUSER, TRACE, TRANSFIN, UNNORM, UP

TRAPCHEC867.txt
228= ...      SEG   TRAPCHEC,3,FILE,USERCOMS,G400   
22BG ...[   
22JQ ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD  1982   
22R2 ...[   
22^= ...#   
23DW ...#UNS G400   
23YG ...#     THIS CHAPTER IS FOR G3PLUS-IH MK2 
25CB    #     THIS SEGMENT IS USED BY THE TRAPCHECK COMMAND AND THE CHECKTRAP   
25X2    #     A SEARCH IS MADE FOR THE TRAP FOR THE GIVEN USER (OR HIS GROUP) OR
26BL    #     GROUP TRAP OF A SUPEROOR USER. AN APPROPRIATE REPLY IS GIVEN. ERRO
26W=    #     ARE REPORTED WHERE A USER ATTEMPTS TO ASCERTAIN THE ACCESS OF ANOT
27*W    #     IN ANOTHER USER'S FILE OR WHERE HE IS NOT ALLOWED ACCESS IN ANOTHE
27TG    #     USER'S FILE IE THE RESULT OF THE SEARCH IS NEGATIVE.  
28*6    [   
28SQ          SEGENTRY K3TRAPCHEC,PARAMSDONE
29#B          SEGENTRY K5TRAPCHEC,ZCHECKTRA 
29LR ...      SEGENTRY K7TRAPCHEC,(GEOERR)[OLD AND REDUNDANT ENTRYPOINT 
29^8 ...
2=6C ...      FSHENTRY K8TRAPCHEC,,RETFROMA,RETFROMA
2=?L    [   
2J46    ONE            +1   
2JHQ    PARA1   
2K3B          +5
2KH2          8HGROUP   
2L2L    PARA2   
2LG=          +3
2L^W          8HALL 
2MFG    PARA3   
2M^6          +5
2NDQ          8HERASE   
2NYB          +5
2PD2          8HWRITE   
2PXL          +6
2QC=          8HAPPEND  
2QWW           +4   
2RBG          8HREAD
2RW6          +7
2S*Q          8HEXECUTE 
2STB    PARA4   
2T*2    PM6            4H:  
2TSL    MASTER 12HMASTER
2W#=    MANAG 12HMANAGER
2WRW    ZGEOER1 
2X?G          GEOERR   1,JBBLOCK?   
2XR6    RCHEQNAME   
2Y=Q    #     ROUTINE CHECKS IF THE NAME IN THE "TRAP-TYPE" BLOCK AT X1 IS  
2YQB    #     EQUAL TO ANY OF THE NAMES IN THE FULLY EXPANDED ABS.NAME BLOCK
2^=2    #     AT X2.CALLED BY X7,USES X2,X3,X4,X0.  
2^PL          LDX   4  A1(2)               [
329=          SBN   4  4                   [
32NW          STOZ     3                   [X4= COUNT OF NAMES IN FABSNB LESS 1 
338G          SMO      FX1                 [MUST BE 1 OR MORE   
33N6          DVD   3  SIX                 [
347Q          ADX   2  A1(2)               [A1(2) NOW   
34MB    TESTA                              [POINTS TO   
3572          SBN   2  6                   [NEXT NAME UP
35LL          TESTNAMX 3,A1+1(2),ETRUSER1(1),TBCT,3 [J IF NAMES ONEQUAL 
366=          EXIT  7  1                   [EXIT +1 IF OK   
36KW    TBCT
375G          BCT   4  TESTA               [J FOR NEXT NAME 
37K6          EXIT  7  0                   [TOP NAME IS :MASTER,SO DON'T NEED   
384Q                                       [TO CHECK IT.
38JB    SIX   +6
3942    #           X7 IS USED TO INDICATE WHETHER TRAPCHECK COMMAND OR MACRO   
39HL    #           B1=1,B2=0 INDICATES COMMAND 
3=3=    #           B1=1,B2=1 INDICATES MACRO   
3=GW    [   
3*Y=    ZCHECKTRA   
3DBB    #     THIS SECTION INITIALISES ACCUMULATORS 
3DW2          LDCT  7  #300                [MACRO MARKER
3F*L          LDCT  4  #400                [TO SET B0 OF X4 =1 AS A MARKER  
3FT=          LDN   6  0                   [INITIALISE X6   
3G#W          LDN   5  0
3GBK ...#UNS G400   
3GC2 ...(   
3GCC ...      SEGENTRY K20TRAPCHEC  
3GCS ...      NULL  
3GD# ...      TESTHOOK XCHWF               [ IGNORE ALL TRAPS IF IN A HOOK  
3GDW ...      SEGENTRY K21TRAPCHEC  
3GFD ...)   
3GG4 ...      SEGENTRY K90TRAPCHEC  
3GM= ...      NULL  
3GSG ...      JBS      XCHWF,2,CXTSYSIS   [J IF SYSISSUED ACT   
3H4# ...      SEGENTRY K91TRAPCHEC  
3H#6          BRUSEN   T30Q                [J IF NO JOBBLOCK
3HRQ          CJOBLOCK 3                   [FIND CURRENT JOBLOCK
3M96          SPRIVTEST JSSTART,3,T30Q     [TEST IF PRIV,J TO T30Q IF NOT HELD  
3MNQ    XCHWF   
3N8B          HUNT  1,FILE,FABSNB          [J ROUND WINDING THRU'ENTRY  
3NN2          LDN   0  #200                [FOR W/F'S   
3P7L          ANDX  0  ATYPE(1) 
3PM=          BNZ   0  QEOF 
3Q6W    RSTEP STEP                         [THIS SECTION SETS POINTER TO END OF 
3QLG          BZE   3  QEOF 
3R66          LDX   5  ERES-A1(3)   
3RKQ          BNZ   5  RSTEP               [ZERO IF NEXT ENTRY  
3S5B    QEOF
3SK2          LDN   5  CALL 
3T4L    #SKI  K6TRAPCHEC>99-99  
3TJ=          TRACE    3,PRIVHELD   
3W3W          BRN      PRIV2
3W?N ...      SEGENTRY K92TRAPCHEC  
3WHG    T30Q
3X36          MHUNT  1,FILE,FABSNB  
3XGQ          LDN   0  #200 
3Y2B          ANDX  0  ATYPE(1) 
3YG2          BZE   0  NOWF1
3Y^L          LDN   0  1                   [IN CASE OF NON-FILESTORE ENTRANT WHI
3^F=          ANDX  0  ATYPE(1)            [IS WORKFILE, TREAT AS ORDINARY FILE 
3^YW          BNZ   0  NOWF1               [IT WILL BE A WORKTAPE   
42DG          FINDWFN ,3                  [X3->FCB  
42Y6          FINDFEXTRA 3,3               [X3 -> FEXTRA
43CQ          LDX   5  FWORKTRAP(3)        [TRAPS.  
43XB          BRN      PRIV4
44C2    NOWF1   
44WL          SETNCORE 4,3,FILE,FAPB,      [SET UP FAPB FOR COMPARISON  
45B=          LDN   0  4
45TW          STO   0  A1(3)               [R.H.
46*G    #SKI  ANOUSER   
46T6          BRUSEN   NOJOBLOCK           [J IF NO JOBLOCK 
47#Q          CJOBLOCK 2                   [JOBLOCK 
47SB          LDX   0  ALOGLEN(2)          [FOR A  CHECKTRAPS IN NO USER
48#2          SBN   0  ASTJOB              [CONTEXT,WE NEED THE USER-NAME   
48RL          BNZ   0  YJOBLK              [J IF EXISTS JOBBLK  
49?=          PROPUSER                     [GET PROPER USER 
49QW          MHUNTW   3,FILE,FAPB  
4==G          TESTREP2 OK,NOJOBLO          [J IF ALREADY PROPER 
4=Q6          ADN   2  ACOMMUNE1
4?9Q          BRN      MOIT 
4?PB    YJOBLK  
4#92          ADN   2  JUSER               [ORIGIN  
4#NL    MOIT
4*8=          ADN   3  A1+1                [DESTINATION 
4*MW          MOVE  2  3                   [NAME GOES ACROSS
4B7G          BRN      T30                 [J. TO SET UP FABSNB 
4BM6    NOJOBLOCK   
4C6Q    NOJOBLOK
4CLB          LDX   2  FX2                 [PTR TO CPREFIX  IN  CURRENT 
4D62    NOJOBLO 
4DKL          ADN   2  CPREFIX             [ACTIVITY
4F5=          BRN      MOIT 
4FJW    #   
4G4G    #     THIS     ROUTINE  CHECKS THAT,IF A USER PARAM IS GIVEN
4GJ6    #     AND   THE CURRENT USER DOES NOT OWN THE FILE-NAME GIVEN,  
4H3Q    #     THE USERNAME PARAMETER IS EQUAL TO THE CURRENT USER.  
4HHB    #     IF NOT,AN ERROR IS REPORTED   
4J32    TSEST   
4JGL          BNG   4  T43A    [MARKER SET BY TRAPPARA,NO USER PARAM
4K2=    #SKI  ANOUSER   
4KFW    (   
4K^G    #SKI  K6TRAPCHEC
4LF6          BRUSEN   ZGEOER1             [ERROR IF NO JOBLOCK 
4LYQ    )   
4MDB          CJOBLOCK 3
4MY2          MHUNTW   1,FILE,FAPB         [COMPARE 
4NCL          LDN   2  3                   [3.WORDS 
4NX=    QLP 
4PBW          SMO      2                   [IN FAPB 
4PWG          LDX   0  A1(1)               [WITH JOB'S  PROPER  
4QB6          SMO      2                   [USER-NAME   
4QTQ          BXU   0  JUSER-1(3),QUEER 
4R*B          BCT   2  QLP  
4RT2          BRN      T43A 
4S#L    QUEER   
4SS=          CLOSE 
4T?W ...      COMERR   ERNOAUTH 
4TRG ...#   
4WQQ    #  ENTRY FROM  TRAPPARA. THE FAPB HAS BEEN SET UP AND B0 OF X6 SET IF   
4X=B    #  A'GROUP'PARAMETER GINEN. 
4XQ2    #  THE DIRECTORY IS OPENED AND OWNERSHIP OF THE FILE CHECKED
4Y9L    [   
4YP=    PARAMSDONE  
4^8W    [   
4^NG          LDN   5  0
5286          MHUNTW   3,FILE,FTRAP        [RENAME FTRAP BLOCK  
52MQ          NAMETOP  3,FILE,FAPB  
537B          MHUNT  2,FILE,FABSNB  
53M2          LDN   0  2
546L          ORS   0  ATYPE(2) 
54L=          LDN   0  #200 
555W          ANDX  0  ATYPE(2) 
55KG          BZE   0  NOTWF5   
5656          LDN   0  1
56JQ          ANDX  0  ATYPE(2)            [IF NON-FILESTORE I.E. WORKTAPE, TREA
574B          BNZ   0  NOTWF5              [AS NON-WORKFILE 
57J2          FINDWFL  3                   [-> FCB  
583L          FINDFEXTRA 3                 [-> FEXTRA   
58H=          LDX   5  FWORKTRAP(3) 
592W          MHUNT  1,FILE,FNAME   
59GG          NAMETOP  1,CPB,CUNI   
59Q# ...      FSHSKIP   
5=26          BRN      YZYZ 
5=7# ...      FSHCODE  AORB 
5=#G ...      BRN      YYYZ 
5=FQ    NOTWF5  
5=^B          OPENDIR  ZBRAK,READ,QUERY 
5?F2          MHUNT  3,FILE,FNAME   
5?YL          CHAIN   3,FX2 
5#D=          NAMETOP 3,CPB,CUNI           [RENAME FNAME BLOCK  
5#XW          TESTREP2 OK,OKDIROP          [JIF OK  
5*CG ...      REPALLER                    [REPORT ERRORS
5*G5 ...      FSHCODE  A,SKIPINB2   
5*JN ...(   
5*M? ...      TRANSFIN ,,ALIEN  
5*PW ...SKIPINB2
5*SF ...)   
5*X6 ...      ENDCOM
5G?Q    OKDIROP 
5GRB          OWNERCHECK
5H?2          TESTREPNOT OK,TSEST      [J IF NOT OWNER  
5HQL          LDCT  5  #400            [MARKER  
5J==    T43A
5JPW    T30                                [ENTRY FOR CHECKTRAPS MACRO  
5K9G          SETNCORE 4,3,FILE,FABSNB     [SET UP FABSNB   
5KP6          MHUNTW  2,FILE,FAPB   
5L8Q          ADN   2  ETRUSER1            [MOVE PTRS   
5LNB          ADN   3  A1+1                [
5M82          MOVE  2  3                   [MOVE IN USER-NAME   
5MML          SBN   3  A1+1 
5N7=          LDN   0  4
5NLW          STO   0  A1(3)               [R.H.
5P6G    SEARCH  
5PL6          STEP                         [STEP ONTO 1ST TRAPS RECORD  
5Q5Q          BZE   3  NDENT               [JIF END-OF-FILE 
5QKB          LDX   0  ERES-A1(3)          [X0=2ND WORD OF RECORD   
5R52          BZE   0  NDENT               [JIF NEXT NAME REC   
5RJL          BPZ   0  SEARCH              [JIF NOT TRAP REC
5RLT ...      LDEX  0  ETRAPMODES-A1(3)    [TRAPS IN RECORD 
5RP4 ...      LDEX  4  5                   [TRAPS FOUND SO FAR  
5RR? ...      ANDX  4  0                   [TRAPS IN RECORD WE HAVE ALREADY 
5RTG ...                                   [FOUND USER TO POSSESS   
5RXP ...      ERX   4  0                   [ARE THERE ANY OTHER TRAPS IN REC
5R^Y ...      BZE   4  SEARCH              [IF NOT, IGNORE RECORD   
5S4=          LDX   0  ETRAPMODES-A1(3)    [MODES WORD  
5SHW          BPZ   0  TCNOGRUP            [J IF NOT GROUP TRAP 
5T3G          LDX   0  MANAG(1) 
5TH6          BXU   0  ETRUSER1-A1(3),MACROCHTR [J IF NOT :MANAGER  
5W2Q          LDX   0  MANAG+1(1)   
5WGB          LDX   2  MANAG+2(1)   
5X22          TXU   0  ETRUSER2-A1(3)   
5XFL          BXU   2  ETRUSER3-A1(3),MACROCHTR 
5X^=          LDEX  0  ETRAPMODES-A1(3)    [MANAGER,GROUP = EVERYONE
5YDW          ORX   5  0
5YYG          BRN      XMANAT   
5^D6    MACROCHTR   
5^XQ    #     THIS SECTION LOOKS TO SEE WHETHER A USER IS ALLOWED ACCESS TO A FI
62CB    #     AS A MEMBER OF A GROUP BY COMPARING THE TRAP USERNAME WITH EACH   
62X2    #     COMPONENT OF THE EXPANDED FULL ABSOLUTE NAME OF THE TRAPEE
63BL    #     IF OK THE TRAPSTYLE BITS ARE CRED INTO X5 
63W=          HUNT  2,FILE,FABSNB   
64*W          TESTNAMX  3,A1+1(2),MASTER(1),YFOUND,3
64TG          BRN      YFIND               [IF NAME ALREADY UP TO :MASTER   
65*6    YFOUND                             [DO NOT EXPAND USING FINDNAME
65SQ          FINDNAME  
66#B          TESTREPN NOUSER,YFIND        [J IF OK 
66S2          GEOERR 1,CORRDICT 
67?L    YFIND   
67R=          READAGAIN 
68=W          MHUNTW  1,FILE,FRB
68QG          STO   7  AWORK1(2)
69=6          HUNT  2, FILE,FABSNB  
69PQ          CALL  7  RCHEQNAME           [CHECK NAMES IN FABSNB   
6=9B          BRN      T7                  [NAMES NOT EQUAL 
6=P2          LDEX  0  ETRAPMODES(1)       [OR IN TRAPBITS,EX. FOR  
6?8L          ORS   0  5                   [GROUP BIT   
6?N=          SMO      FX2  
6#7W          LDX   7  AWORK1   
6#MG          FREECORE 1                   [FREE  FRB   
6*76    XMANAT  
6*LQ          LDEX  0  5
6B6B          SBN   0  CALL                [J IF"ALL"NOT YET ESTABLISHED
6BL2          BNZ   0  SEARCH   
6C5L          BRN      NDENTF   
6CK=    T7  
6D4W          MFREE   FILE,FRB  
6DJG          LDX   7  AWORK1(2)
6F46          BRN      SEARCH   
6FHQ    TCNOGRUP
6G3B          BNG   6  SEARCH              [JIF NOT GROUP BUT GROUP REQD
6GH2          MHUNTW  2,FILE,FAPB   
6H2L          LDN   1  3
6HG=    TCLOOPQ 
6H^W          SMO      1
6JFG          LDX   0  A1(2)               [CHECK IF NAMES THE SAME 
6J^6          SMO      1                   [IN FAPB & TRAP  
6KDQ          BXU   0  0(3),SEARCH  
6KYB          BCT   1  TCLOOPQ  
6LD2          LDEX  0  4(3)                [TRAPBITS
6LXL          ORX   5  0                   [DON'T WANT"GROUP" BIT   
6MC=          LDEX  0  5
6MWW          SBN   0  CALL                [J BACK TO FINISH SEARCH THROUGH 
6NBG          BNZ   0  SEARCH   
6NW6    NDENTF  
6P*Q    #SKI  K6TRAPCHEC>99-99  
6PTB          TRACE    5,TRAPBITS   
6Q*2    T49   STEP  
6QSL          BZE   3  NDENT
6R#=          LDX   0  ERES-A1(3)          [LOOP THRU TO
6RRW          BNZ   0  T49  
6S?G    NDENT   
6SR6          SLL   7  2
6T=Q          BZE   7  YY   
7G=L    PRIV
7GQ=          MFREE    FILE,FABSNB         [FREE FABSNB 
7H9W    PRIV3   
7HPG          MFREE  FILE,FAPB  
7J96    PRIV4   
7JNQ          ANDX  5  BITS22LS 
7K8B    PRIV2   
7KD8 ...      LDX   2  FX2  
7KN2          STO   5  ACOMMUNE7(2)        [STORE REPLY 
7L7L          UP
7L9T ...YY  
7L#4 ...#UNS  ILOGACC   
7LB? ...(   
7LDG ...#      LOG THIS ACCESS OR ATTEMPTED ACCESS  
7LGP ...      MHUNTW   2,FILE,FAPB  
7LJY ...      NAME     2,FILE,FTRAP 
7LM7 ...      ORS   6  ETRAPMODES(2)      [INDICATE IF GROUP
7LPB ...      LOGACCESS 10  
7LRK ...      MHUNTW   2,FILE,FTRAP 
7LTS ...      NAME     2,FILE,FAPB  
7LY3 ...      ERS   6  ETRAPMODES(2)
7M2= ...)   
7M4F ...      CLOSE                        [CLOSE DIRECTORY 
7M6W          MFREE    FILE,FABSNB  
7M8K ...YYYZ
7M=# ...      FSHCODE  A,SKIPINB1   
7M#3 ...(   
7M*Q ...      LDN   7  1
7MCF ...      TRANSFIN 7,,ALIEN 
7MF8 ...SKIPINB1
7MGX ...)   
7MJL ...RETFROMA
7MLG         BNZ    5  YZYZ                [DO NOT JUMP IF NOT OWNER AND NO ACCE
7N66    #     NORMALLY WHEN THERE IS A NEGATIVE RESPONSE TO A CHECK BY A USER AB
7NKQ    #     HIS ACCESS TO ANOTHER USER'S FILE AN ERROR IS REPORTED, BUT FOR TE
7P5B    #     PURPOSES, A REPLY WILL BE GIVEN INDICATING THAT NO ACCESS IS PERMI
7PK2          MONOUT   JNOACC   
7Q4L          BRN      TERM 
7QJ=    YZYZ ANDX   5  BITS22LS            [CLEAR B0 OF X5  
7R3W          BNZ   5  Y14  
7RHG    MICH  MONOUT   CHTRAPREP2   
7S36          BRN      TERM 
7SGQ    Y14   ORX   5  6
7T2B          LDN   7  4                   [X7 CONTAINS SIZE FOR OUTBLOCK   
7TG2          BPZ   5  NOGPOUT             [J IF NEED NO GROUP PARM 
7T^L          ADN   7  3
7WF=    NOGPOUT 
7WYW          LDN   3  4                  [DEFAULT COUNT FOR LOOP   
7XDG          LDEX  0  5
7XY6          SBN   0  CALL 
7YCQ          BNZ   0  NOTALLP             [J IF NOT ALL
7YXB          ADN   7  3                   [ONLY NEED ONE MORE PARAM IF ALL 
7^C2          BRN      SETBLOQ  
7^WL    NOTALLP 
82B=          ADN   0  CALL 
82TW    Y59 
83*G          SRC   0  1
83T6          BPZ   0  PARACT              [J IF NEXT BIT NOT SET   
84#Q          ADN   7  3                   [IF IT IS,ADD ANOTHER 3WDS TO OUTBLOK
84SB    PARACT  
85#2          BCT   3  Y59                 [BRN ON COUNT
85RL    SETBLOQ 
86?=          MHUNT 1,FILE,FABSNB   
86QW          LDX   0  ALOGLEN(1)        [IF FABSNB ONLY & 6 WDS LONG,USE CUNI  
87=G          SBN   0  4                   [BLOCK TO OUTPARAM ENTRANT NAME.O/W  
87Q6          BZE   0  USECUNIPARA         [USE LOCAL NAME IN FABSNB FOR UP-TO- 
889Q                                       [DATE DETAILS
88PB          LDN   0  #200 
8992          ANDX  0  ATYPE(1) 
89NL          BNZ   0  USECUNIPARA         [J IF W/F.   
8=8=          ADX   1  ALOGLEN(1)   
8=MW          LDX   0  A1-6(1)  
8?7G          BZE   0  USECUNIPARA         [EXIT IF NAMELESS FILE(I.E.M.T.).
8?M6          TESTUSER A1-6(1),USECUNIPARA [OR IF DIR BEING TRAPCHECKED-ELSE
8#6Q                                       [NNORM GOES POTTY & GEOERRS SHORTFAB.
8#LB          SETNCORE 10+CPDATA-A1+1,1,ADATA,CREADL
8*62          STOZ     A1(1)
8*KL          UNNORM   TWO                 [CONVERT ABSOLUTE NAME   
8B5=          MHUNTW   1,ADATA,CREADL   
8BJW          LDX   6  A1(1)              [CHAR.CT. 
8C4G          LDX   0  6
8CJ6          ADN   0  1                   [MIN NO. WDS. TO CONTAIN PARAM   
8D3Q          SRA   0  2
8DHB          ADX   7  0
8F32          OUTBLOCK  7                  [PARAM BLOCK 
8FGL          OUTPARAM 6,CPDATA,ADATA,CREADL
8G2=          MFREE    CPB,CUNI 
8GFW          BRN      OUTUSER  
8G^G    USECUNIPARA 
8HF6          MHUNT   2,CPB,CUNI
8HYQ          ADX   7  ALOGLEN(2)          [SIZE OF FILENAME PARAM  
8JDB          SBN   7  1
8JY2          OUTBLOCK 7                   [OUTPUT BLOCK
8KCL          MHUNT  1,CPB,CUNI 
8KX=          LDEX  6  ANUM(1)  
8LBW          OUTPARAM 6,APARA,CPB,CUNI    [OUTPARAM FILE NAME  
8LWG          MFREE    CPB,CUNI 
8MB6    OUTUSER 
8MTQ          LDN   6  12   
8N*B          OUTPARAM 6,A1+1,FILE,FAPB    [OUTPARAM USERNAME   
8NT2          BPZ   5  NOGRPAR             [J IF NO GP. MODE
8P#L          ADN   1  PARA1
8PS=          CALL  6  OUTPARAM            [OUTPUT GROUP PARAM  
8Q?W    NOGRPAR 
8QRG          LDEX  0  5
8R?6          SBN   0  CALL                [J IF NOT ALL
8RQQ          BNZ   0  PARALOOP 
8S=B          ADN   1  PARA2
8SQ2          CALL  6  OUTPARAM            [OUTPUT "ALL" PARAM  
8T9L          BRN      MONOUT   
8TP=    PARALOOP
8W8W          LDN   3  PARA4-PARA3  
8WNG    ZP2Q  SRC   5  1
8X86          BPZ   5  NOLUK               [J IF NEXT BIT NOT SET   
8XMQ          ADN   1  PARA3-3(3)   
8Y7B          CALL  6  OUTPARAM            [OUTPUT APPR. PARAM  
8YM2    NOLUK   
8^6L          SBN   3  3
8^L=          BNZ   3  ZP2Q                [J BACK IF COUNT NOT EXPIRED 
925W    MONOUT  
92KG          MFREE FILE,FAPB              [FREE OUR TRUSTY FAPB
9356          MONOUT   CHTRAPREP           [OUTPUT MESSAGE  
93JQ    TERM
944B          ENDCOM
94J2    OUTPARAM
953L          SBX   6  FX1  
95H=          LDX   4  0(1)                [NO. CHARS   
962W          ADN   1  1                   [PTR FOR  MOVE   
96GG          MHUNTW   2,FILE,FAPB         [MOVE IN 2 WORDS 
9726          ADN   2  A1   
97FQ          MOVE  1  2
97^B          OUTPARAM 4,A1,FILE,FAPB      [OUTPARAM PARAMETER FROM FAPB
98F2          ADX   6  FX1  
98YL          EXIT  6  0
99D=    ZBRAK   
99N4 ...      FSHSKIP   
99XW          COMBRKIN  
9=54 ...      FSHCODE  AORB 
9=== ...      BRN      (GEOERR) 
9=CG    [   
9=X6          MENDAREA 25,K99TRAPCHEC   
9?BQ    #END
^^^^ ...12764344000200000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1