PRINT70

(George Source)

Macros used: ABANDCOM, ASSMESS, BS, CHNUMCON, CLOSE, CLOSEMULT, CLOSESTREAM, COMBRKIN, CREATEB, ENDCOM, ERRORX, FLIPS, FPCACA, FREECORE, GEOERR, GETWORDX, HUNT, INPRINTX, LDNBIT, MENDAREA, MFREE, MHUNT, MHUNTW, MONOUT, NAMETOP, OUTBLOCN, OUTMON, OUTNUM, PARABEGX, PARABRAC, PARAFREE, PARALYSE, PARALYSX, PARAPASS, PARUNACC, REPERR, SEGENTRY, SETBIT, SETNCORE, SPARANOT, STEP, TBS, TESTBRKIN, TESTGETW, TESTMULT, TESTRACE, TESTREAM, TESTREP, TESTREP2, TESTREPNOT, TRACE, UNSETBIT, USEROPEN, VFREE, WORDFIN

PRINT70.txt
22FL ...#SEG  PRINT70                      [JOHN P. TITORENKO   
22^=    #LIS  K0PRINT>K0ALLGEO>K0GREATGEO   
23DW    #OPT  K6PRINT=K6ALLGEO>K6GREATGEO   
23YG                   8HPRINT  
24D6    #   
24XQ          SEGENTRY K1PRINT,XX1P 
25CB    #   
25X2    # THIS SEGMENT DEALS WITH THE PRINT COMMAND. IF A FILE DESCRIPTION  
26BL    # PARAMETER IS INCLUDED THE SEGMENT INSERTS IN THE SPECIFIED FILE   
26W=    # THE WORDS OF OBJECT PROGRAM SPECIFIED BY THE FOLLOWING PARAMETERS 
27*W    # OF THE COMMAND,OTHERWISE OUTPUT IS TO THE MONITORING FILE, THE
27TG    # WORD IS INTERPRETED IN CHARACTER,OCTAL,DECIMAL AND INSTRUCTION FORM   
28*6    # ENTRY IS MADE AT K1   
28SQ    #   
29#B    SPIT           6HREGION 
29S2    SALL           3HALL
2=?L    #   
2=R=    XACCESS        +GREAD+CHUSED+GNOMESS
2?=W    MAGIC          +7036875 
2?QG    XCAT           #200 
2#=6    THREE          +3   
2#PQ    SPACE          #00000020
2*9B    X7CHARS        +1.3 
2*P2    XJNOTUSED      +JNOTUSED
2B8L    PERM1          +ERUNPAIR           [ERROR MESSAGES  
2BN=    PERM3          +CHNUMIN 
2C7W    PERM4          +GWERRES 
2CMG    PERM5          +JPOSWDS 
2D76    PERM6          +JPARMIS 
2DLQ    PERM7          +JMTRACE 
2F6B    PERM8          +APFERR  
2FL2    PERM9          +EREXQUOTA   
2FTS ...PJMAXPAR       +JMAXPAR 
2G5L    #   
2GK=    #     LOCATIONS IN BUFFER(ADATA/CSTORE) 
2H4W    #DEF  PADDR=A1  
2HJG    #DEF  PCHAR=PADDR+3 
2J46    #DEF  PSDEC=PCHAR+2 
2JHQ    #DEF  POCTAL=PSDEC+2
2K3B    #DEF  PINST=POCTAL+4
2KH2    #DEF  PACCDUMP=PINST+4  
2L2L    #   
2LG=    #     WORKING SPACE 
2L^W    #   
2MFG    #DEF  PFLAG=AWORK1  
2M^6    #   
2NDQ    # PFLAG IS USED TO HOLD VARIOUS FLAGS AS FOLLOWS
2NYB    #   
2P88 ...#DEF  STARTAREA=23  
2PD2    #DEF  RESVIOL=22
2PXL    #DEF  PPRES=21  
2QC= ...#DEF  STARTCOM=20   
2QWW ...#DEF  STARTPRINT=19 
2RBG    #DEF  UFILE=18  
2RW6    #DEF  POPEN=17  
2S*Q    #DEF  REGION=16 
2STB    #SKI  G4
2T*2    #DEF  NU1=15
2TSL    #DEF  ONEP=14   
2W#=    #DEF  PMODE=5   
2WRW    #   
2X?G    # THIS S/R IS USED TO FIND A PARAMETER STARTING WITH A SPECIFIED
2XR6    # CHARACTER STRING  
2Y=Q    PBEG
2YQB          SBX   7  FX1  
2^=2          PARABEGX 3,4,,,0  
2^PL          MHUNT 3,CPB,CUNI  
329=          LDX   4  ANUM(3)  
32NW          LDX   5  JPARNUM(3)   
338G          LDCH  6  APARA(3)            [OBTAIN 1ST CHARACTER
33N6          ADX   7  FX1  
347Q          EXIT  7  0
34MB    #   
3572    # THIS S/R SPLITS UP THE PARAMETER FOUND BY PBEG, LEAVING THEM IN A 
35LL    # MULTY BLOCK AT LEVEL 2
366=    PLYSE   
36KW          SBX   7  FX1  
375G          PARALYSE ,,5                 [SPLIT AT PAIRED PARENTHESIS 
37K6          TESTREP  UNPAIR,PERR1A       [J IF UNPAIRED PARENTHESIS   
37SY ...      TESTREP  TOOMANY,PERR11   
384Q          MFREE    CPB,CUNI 
38JB          LDN   4  2
3942          LDN   5  #34                 [, AS SEPARATOR  
39HL          PARALYSX 5,,4                [SPLIT REGIONES  
39RD ...      TESTREP  TOOMANY,PERR11   
3=3=          ADX   7  FX1  
3=GW          EXIT  7  0
3?2G    #   
3?G6    # THIS S/R DOES A PARAPASS & FINDS THE CUNI BLOCK   
3?^Q    PPASS   
3#FB          SBX   7  FX1  
3#^2    #SKI  AJOBUSE<1$1   
3*DL    (   
3*Y=          HUNT     3,CPB,CMULTI 
3BCW          BNG   3  UNACC
3BXG          PARAPASS  
3CC6          BRN      SEARCH   
3CWQ    UNACC   
3DBB    )   
3DW2          PARUNACC  
3F*L    SEARCH  
3FT=          MHUNT 3,CPB,CUNI  
3G#W          ADX   7  FX1  
3GSG          EXIT  7  0
3H#6    #   
3HRQ    #   
3J?B    XX1P
3JR2    #   
3K=L          SETNCORE 18,3,ADATA,CSTORE   [BLOCK TO CONTAIN OUTPUT TO  
3KQ=                                       [ THE MONITORING FILE
3L9W          LDN   5  0
3LKK ...#FID  STARTCOM STARTCOM 1   
3L^# ...#FID  STARTPRINT STARTPRINT 1   
3M*3 ...#FID  STARTAREA STARTAREA 1 
3MNQ          STO   5  PFLAG(2)            [INITIALISE FLAG WORD
3N8B    # THE FIRST PART OF T8E SEGMENT DOWN TO LABEL ZOUTPUT  NALYSES THE NEXT 
3NN2    # PARAMETER, IF THIS IS A FILE NAME THE SPECIFIED FILE IS  PENED AND
3P7L    # THE COMMON PATH JOINED TO ACCESS THE NEXT PARAMETER.  THERWISE THE
3PM=    # PARAMETER IS TESTED FOR VALIDITY AND THE 0/P ADDRESS OF T E 1ST WORD  
3Q6W    # TO BE PRINTED INSERTED IN X5. A COUNT OF THE NUMBER OF  ORDS T  BE
3QLG    # PRINTED IS INS RTED IN X4. CONTROL T EN PASSES TO ZOUTPUT 
3R66    #   
3RKQ    #   
3S5B    NEWPAR  
3SK2          CALL  7  PPASS               [GET PARAM & POINTER TO BLOCK
3T4L          LDX   4  ANUM(3)  
3TJ= ...      TBS   STARTCOM,PFLAG(2),5      [TEST START SWITCH 
3W3W          BZE   5  OREC                [IF NOT SET -NOT 1ST PARAM   
3WHG          ERS   5  PFLAG(2)            [UNSET SWITCH
3X36          BZE   4  RECO                [IF NULL NO FILE NAME PARAMETER  
3XGQ ...      BNG   4  NEWPARG             [NO PARAMETER
3Y2B          LDCH  0  APARA(3) 
3YG2          SBN   0  #12                 [TEST IF :   
3Y^L          BZE   0  NREG 
3^F=          SBN   0  #7                  [TEST IF !   
3^YW          BZE   0  NREG 
42DG          SBN   0  #20                 [TEST IF ALPHABETIC  
42Y6          BNG   0  RECO 
43CQ          SBN   0  #32  
43XB          BPZ   0  RECO 
44C2    NREG
44WL          MFREE   CPB,CUNI  
45B=          SETBIT   UFILE,PFLAG(2)      [INDICATE OUTPUT TO FILE 
45TW    #   
46*G    #     REGION LIST FORMAT
46T6    #   
47#Q    #     LOOK FOR'ALL' 
47SB    NPAR
48#2          LDN   4  3                   [CHARACTER COUNT 
48RL          LDX   5  SALL(1)  
49?=          LDN   3  1
49QW          CALL  7  PBEG                [SEARCH FOR ALL  
4==G          BNG   4  PPAR                [GO TO LOOK FOR'REGIONS' 
4=Q6          SETBIT   ONEP,PFLAG(2)
4?9Q          FPCACA   3,2  
4?PB          LDX   4  ALIMIT(3)
4#92          STOZ     5
4#NL          BRN      ZOUTPUT             [GO TO PRINT PROGRAM 
4*8=    #   
4*MW    # 1 REGION LIST PARAMETER FINISHED OR A NON EXISTENT PARAMETER FOUND
4B7G    #   
4BM6    NEWPARG 
4C6Q          TBS   REGION,PFLAG(2),3      [SEE IF PRINTING FINISHED
4CLB          BZE   3  PR1                 [PRINTING IS FINISHED
4D62          PARAFREE                     [FREE MULTY BLOCKS   
4DKL    #   
4F5=    # REGION LIST FORMAT BUT NO'ALL'
4FJW    #   
4G4G    # LOOK FOR PARAMETER PRECEDED BY 'REGION'   
4GJ6    #   
4H3Q    PPAR
4HHB          LDN   3  1                   [SET UP ACCS FOR S/R 
4J32          SETBIT   REGION,PFLAG(2)  
4JGL ...      LDN   4  6
4K2=          LDX   5  SPIT(1)  
4KFW          LDX   6  SPIT+1(1)
4K^G          CALL  7  PBEG                [SEARCH FOR REGIONS  
4LF6          BNG   4  PERR8               [NO'REGIONS'-PARAMETER FORMAT ERROR  
4LYQ          SBN   6  #30                 [SEE IF 1ST CHAR IS A '('
4MDB          BNZ   6  ONEPAR              [IF NOT-ASSUME 1 PARAMETER ONLY  
4MY2          CALL  7  PLYSE               [SPLIT REGIONS PARAM 
4NCL          BRN      NEWPAR   
4NX=    #   
4PBW    # 'REGIONS' PARAMETER WITHOUT PAIRED PARENTHESIS
4PWG    #   
4QB6    ONEPAR  
4QTQ          BZE   4  ORE1 
4R*B          SETBIT   ONEP,PFLAG(2)
4RT2          BRN      ROCO 
4S#L    #   
4SS=    OREC
4T?W          BZE   4  ZFUNI               [NULL PARAMETER  
4TRG          BPZ   4  ROCO                [J IFF IF EXISTS 
4W?6    ORE1
4WQQ          MFREE    CPB,CUNI 
4X=B          BRN      NEWPARG  
4XQ2    #   
4Y9L    RECO  LDN   7  #200                [TEST IF MONITORING FILE POSL0MORT   
4YP=          TESTRACE 7,PERR7             [CATEGORY ALLOWED
4^8W          BZE   4  NPAR 
4^NG    ROCO  SRL   4  12                  [TYPE TO B12-23  
5286          BZE   4  TP1A                [BRANCH IF SIMPLE
52MQ          SBN   4  2
537B          BNG   4  Q1END               [IF PSEUDO-SIMPLE AVOID QUICK
53M2                                       [ ANALYSIS-BOUND TO FAIL 
546L          BNZ   4  TP3A                [BRANCH IF QUALIFIED 
54L=                                       [OTHERWISE COMPOSITE 
555W    #   
55KG    #                                  [A QUICK TEST FOR PARAMETER OF TYPE  
5656    #                                  [ (N,M) WHERE N,M ARE DECIMAL INTS.  
56JQ          LDN   4  #7777
574B          ANDX  4  ANUM(3)             [PARAMETER LENGTH
57J2          SBN   4  1
583L          BCHX  3  £                   [FIRST CHAR KNOWN TO BE (
58H=          CALL  0  XCDB 
592W          BNZ   6  Q2END               [QUICK TEST FAILS IF N DOUBLE LENGTH 
59GG          STO   7  ACC5(2)             [REMEMBER N  
5=26          LDN   5  #34                 [IE ,
5=FQ          CALL  0  XTEST               [IS NEXT CHAR A , ?  
5=^B          BRN      Q2END               [IF NOT,QUICK TEST FAILS 
5?F2          BZE   4  Q2END               [IF COUNT EXHAUSTED,QUICK TEST FAILS 
5?YL          CALL  0  XCDB 
5#D=          BNZ   6  Q2END               [QUICK TEST FAILS IF M DOUBLE LENGTH 
5#XW          BZE   4  Q2END               [ OR IF COUNT EXHAUSTED  
5*CG          STO   7  ACC4(2)             [REMEMBER M  
5*X6          LDN   5  #31                 [IE )
5BBQ          CALL  0  XTEST
5BWB          BRN      Q2END               [QUICK TEST FAILS IF NEXT CHAR NOT ) 
5CB2          BNZ   4  Q2END               [ OR IF COUNT NOT EXHAUSTED  
5CTL          LDX   4  ACC4(2)             [OTHERWISE TEST OK   
5D*=          LDX   5  ACC5(2)             [ RESTORE X4,X5, 
5DSW          LDN   7  0                   [ INDICATE TYPE 2 PARAM  
5F#G          BRN      VCHK                [ AND CHECK PARAMETER VALUES 
5FS6    #   
5G?Q    #   
5GRB    TP1A  LDX   4  ANUM(3)             [A QUICK TEST FOR PARAMETER OF TYPE  
5H?2          ANDN  4  #7777               [ N WHERE N IS A DECIMAL INTEGER.
5HQL          CALL  0  XCDB 
5J==          BNZ   4  Q1END               [QUICK TEST FAILS IF COUNT NOT   
5JPW    #                                  [ EXHAUSTED  
5K9G          BNZ   6  Q1END               [ OR IF NUMBER WENT DOUBLE LENGTH
5KP6          LDN   4  1                   [NUMBER OF PRINTWORDS
5L8Q          LDX   5  7                   [THE CONVERTED NUMBER
5LNB          BPZ   5  ZOUTPUT             [IF NUMBER > OR = 0,ANALYSIS COMPLETE
5M82          BRN      PERR4               [OTHERWISE ERROR 
5MML    #   
5N7=    TP3A                               [A QUICK TEST FOR PARAMETER OF TYPE  
5NLW          LDN   4  #7777               [ M(N) WHERE M,N ARE DECIMAL INTEGERS
5P6G          ANDX  4  ANUM(3)             [COUNT TO X4 
5PL6          CALL  0  XCDB 
5Q5Q          BNZ   6  Q3END               [IF M WENT DOUBLE LENGTH,TEST FAILS  
5QKB          STO   7  ACC5(2)             [REMEMBER M  
5R52          LDN   5  #30  
5RJL          CALL  0  XTEST               [IS NEXT CHARACTER A ( ? 
5S4=          BRN      Q3END               [IF NOT QUICK TEST FAILS 
5SHW          BZE   4  Q3END               [QUICK TEST FAILS IF COUNT EXHAUSTED 
5T3G          CALL  0  XCDB 
5TH6          BNZ   6  Q3END               [IF N WENT DOUBLE LENGTH,TEST FAILS  
5W2Q          BZE   4  Q3END               [DITTO IF COUNT EXHASTED 
5WGB          STO   7  ACC4(2)             [REMEMBER N  
5X22          LDN   5  #31  
5XFL          CALL  0  XTEST               [IS NEXT CHARACTER A ) ? 
5X^=          BRN      Q3END               [IF NOT QUICK TEST FAILS 
5YDW          BNZ   4  Q3END               [DITTO IF COUNT NOT EXHAUSTED
5YYG          LDX   4  ACC4(2)             [IF TEST SUCCESSFUL,RESTORE X4,X5
5^D6          LDX   5  ACC5(2)  
5^XQ          NGN   7  1                   [INDICATES TYPE 3 PARAM  
62CB          BRN      VCHK                [CHECK PARAMETER VALUES  
62X2    #   
63BL    Q1END LDN   7  1                   [ SET TYPE 1 MARKER  
63W=          BRN      PCON 
64*W    Q2END LDN   7  0                   [SET TYPE 2 MARKER   
64TG          BRN      PBRAC
65*6    Q3END NGN   7  1                   [ SET TYPE 3 MARKER  
65SQ    PBRAC PARABRAC                     [ REDUCE PARAMETER TO A NUMBER STRING
66#B          TESTREPNOT OK,PERR1          [ UNPAIRED PARENTHESES   
66S2          MHUNT 3,CPB,CUNI  
67?L          LDX   5  ANUM(3)  
67R=          BZE   5  PERR3
68=W    #   
68QG    #   
69=6    PCON                               [REACH HERE WITH N OR N,M IN UNI BLOC
69PQ    #SKI  K6PRINT>699-699   
6=9B    (   
6=P2          TRACE    1,PTCOMCV
6?8L    )   
6?N=          CHNUMCON 1,REAKIN            [ATTEMPT TO CONVERT NUMBERS  
6#7W          TESTREP2 CHNUMERR,PERR3A     [TEST FOR ERROR  
6#MG          MHUNTW   3,CPAR,GNUMCON   
6*76          LDX   6  A1(3)               [THE NO. OF EXPRESSIONS CONVERTED
6*LQ          LDX   5  A1+1(3)             [IF DEFINED,THE O/P BASE ADDR
6B6B          LDX   4  A1+2(3)             [IF DEFINED,EITHER O/P WORDCOUNT (TP3
6BL2                                       [ PARAM),OR TOP OF PT AREA (TP2PARAM)
6C5L          FREECORE 3                   [FREE THE GNUMCON BLOCK  
6CK=          BCT   6  X6GT1
6D4W          LDN   4  1                   [IF 1 CONVN SET WORDCOUNT TO 1   
6DJG          LDN   7  1                   [ AND INDICATE TYPE 1 PARAMETER  
6F46          BRN      VCHK                [ AND CHECK X4,X5 FOR LEGALITY   
6FHQ    X6GT1 BCT   6  PERR3               [ERROR IF >2 CONVERSIONS 
6G3B    #   
6GH2    VCHK  BNG   5  PERR4               [IF O/P BASE ADDR <0,ERROR   
6H2L          BZE   7  TP2A                [BRANCH IF TYPE 2 PARAMETER  
6HG=          BZE   4  TP3B                [PARAM WAS LIKE  6(0)
6H^W          BNG   4  PERR5               [NO OF PRINTWORDS NEGATIVE   
6JFG          BRN      ZOUTPUT  
6J^6    #   
6KDQ    TP2A  SBX   4  5                   [CONVERT TYPE 2 PARAM (N,M) TO   
6KYB    #                                  [        TYPE 3 FORM   N(M-N+1)  
6LD2          BNG   4  PERR5               [IF UPPER BND < LOWER BND
6LXL          ADN   4  1
6MC=          BRN      ZOUTPUT  
6MWW    #   
6NBG    #                      ERROR  CASES 
6NW6    #   
6P*Q    PERR1 LDX   1  FX1  
6PTB          LDX   4  PERM1(1)            [UNPAIRED PARENTHESES
6Q*2          BRN      XERCL
6QSL    PERR3A  
6R#=          LDN   0  #1000
6RRW          ANDX  0  CONTEXT(2)   
6S?G          BZE   0  ULTND               [PACK UP IF LOAD ERROR   
6SR6    PERR3 LDX   1  FX1  
6T=Q          LDX   4  PERM3(1)            [INVALID NUMBER FORMAT   
6TQB          BRN      XERCL
6W=2    PERR4 LDX   1  FX1  
6WPL          LDX   4  PERM4(1)            [RESERVATION VIOLATION   
6X9=          BRN      XERCL
6XNW    PERR5 LDX   1  FX1  
6Y8G          LDX   4  PERM5(1)            [NO OF PRINTWORDS < 0
6YN6    XERCL CALL  7  SRERR               [ISSUE ERROR MESSAGE 
6^7Q    PERR2   
6^MB    TP3B  SETBIT   PPRES,PFLAG(2)      [PARAMETER PRESENT BIT   
7272    ZFUNI VFREE    CPB,CUNI 
73KW          BRN      NEWPAR   
745G    #   
74K6    PERR1A  
754Q          LDX   4  PERM1(1) 
75JB          CALL  7  SRERR
7642          SETBIT   PPRES,PFLAG(2)      [PARAMETER PRESENT BIT   
76HL          BRN      ORE1 
76L9 ...PERR11  
76NS ...      LDX   4  PJMAXPAR(1)  
76RC ...      CALL  7  SRERR
76W2 ...      SETBIT   PPRES,PFLAG(2)   
76YK ...      BRN      ORE1 
773=    #   
77GW    # THE REST OF THIS SEGMENT.DOWN TO LABEL PR1,OUTPUTS TO THE MONITORING  
782G    # FILE THE CONTENTS OF [X4] WORDS COMMENCING AT OBJECT PROGRAM ADDRESS  
78G6    # [X5].GETWORD REQUESTS ACCESS TO A MAXIMUM OF 512 WORDS.   
78^Q    #   
79FB    #   
79^2    ZOUTPUT 
7=8S ...      SETBIT   STARTAREA,PFLAG(2)   
7=DL          SETBIT   PPRES,PFLAG(2)   
7=Y=          STOZ     AWORK4(2)           ['ZERO COUNT' WORD   
7?CW          FPCACA   3,2                 [FIND THE PCA
7?XG          LDX   0  ALIMIT(3)
7#C6          SBX   0  5                   [X0=NO OF PRINTWORDS ALLOWED WITHOUT 
7#WQ                                       [ RESERVATION VIOLATION  
7*BB          BNG   0  PERR4
7*W2          BZE   0  PERR4               [J IF NO PRINTWORDS IN RESERVATION   
7B*L          TXL   0  4
7BT=          BCC      RESOK               [J IF PRINT REQUEST WITHIN   
7C#W    #                                  [RESERVATIONS
7CSG          LDX   4  0                   [ADJUST REQUEST TO BE WITHIN RESERVN 
7D#6          SETBIT   RESVIOL,PFLAG(2) 
7DRQ          BRN      QQQ  
7F?B    RESOK LDNBIT   RESVIOL,0
7FR2          ANDS  0  PFLAG(2)            [UNSET RESVIOL FLAG  
7G=L    QQQ 
7GQ=          TBS      UFILE,PFLAG(2),0 
7H9W          BZE   0  XNOFI               [J IF NO FILE
7HPG          TBS      POPEN,PFLAG(2),0 
7J96          BNZ   0  XNOFI               [J IF FILE OPEN  
7JNQ          FLIPS    PFLAG(2),,POPEN     [INDICATE FILE OPEN  
7K8B          LDN   1  0
7KN2          SPARANOT 1,1                 [GET PARAMETER FRO M CALAS   
7L7L    XFID  MHUNT    3,CPB,CMULTI 
7LM=          BNG   3  XNOFID   
7M6W          NAMETOP  3,ADATA,ERREPLY     [RENAME MULTI SO AS NOT TO CONFUSE   
7MLG          BRN      XFID                [USEROPEN
7N66    XNOFID  
7NKQ          MHUNT 3,CPB,CUNI  
7P5B          NAMETOP  3,FILE,FNAME        [RENAME BLOCK
7PK2          CREATEB                      [SET UP FILE/CREATE BLOCK
7PXC ...      MHUNT 3,FILE,CREATE   
7Q9S ...      BS       3,CESERIAL   
7QJ=          LDCT  0  #400 
7R3W          ADN   0  #12  
7RHG          STO   0  CETM(3)  
7S36    #SKI  AMULTUSER 
7SGQ          USEROPEN REAKIN,APPEND,CREATE,EMPTY,MULT,FILE 
7T2B    #SKI  AMULTUSER<1$1 
7TG2          USEROPEN REAKIN,APPEND,CREATE,EMPTY,STREAMS   
7T^L    UNFID MHUNT    3,ADATA,ERREPLY  
7WF=          BNG   3  NOFID
7WYW          NAMETOP  3,CPB,CMULTI 
7XDG          BRN      UNFID
7XY6    NOFID   
7YCQ          REPERR   YAKO 
7YXB          BRN      ULTND               [PACK UP IF ERROR
7^C2    REAKIN  
7^WL          COMBRKIN                     [ACTION IF BREAKIN   
82B=    XNOFI   
82TW    QBRKN TESTBRKIN ZBRKN              [TEST FOR BREAK-IN   
83*G    YAKO
83T6 ...      TBS      STARTPRINT,PFLAG(2),0
84#Q          BNZ   0  NOSPACE  
84SB          CALL  6  SPACES              [OUTPUT ALINE OF SPACES  
85#2    NOSPACE 
85RL    ZOUT  STOZ     AWORK2(2)
86?=          LDX   6  4
86QW          SBN   6  512  
87=G          BNG   6  ZGTWD               [IF REQUEST FOR < OR = 512 WORDS THEN
87Q6    #                                  [ SET AWORK2 TO 0 AND LEAVE X4 ALONE 
889Q          STO   6  AWORK2(2)           [OTERWISE X4=512 FOR THE CURRENT 
88PB          LDN   4  512                 [ GETWORD AND THE EXCESS IS STORED IN
8992    #                                  [ AWORK2 
89NL    ZGTWD   
8=8=    #SKI  K6PRINT>699-699   
8=MW          TRACE    4,PTGETWDC   
8?7G    # X5=O/P ADDR;X6=GEORGE ADDR;X4=WORDS REQUESTED;X7=WORDS GIVEN(G3)  
8?M6    # OR WORDS TO THE END OF UNACCESSED AREA
8#6Q          GETWORDX 5,6,XACCESS(1),7,4,ZBRKN,1   
8#LB          TESTREP  OK,ZGOOD 
8*62          TESTREP2 LOADERR,TIFO 
8*KL    #SKI  G4
8B5=    (   
8BJW          TESTREPN NOTUSED,RELERR   
8C4G          LDX   0  AWORK2(2)           [WORDS STILL TO BE PRINTED   
8CJ6          ADX   0  4                   [+WORDS REQUESTED-NO OF WORDS TO 
8D3Q          SBX   0  7                   [THE END OF UNACCESSED AREA IN X0
8DHB          BZE   0  P1FIN               [J IF ZERO   
8F32          BNG   0  P1FIN               [OR NEGATIVE 
8FGL          STO   0  4                   [OTHERWISE X4=NO OF WORDS REMAINING  
8G2=          LDX   0  5
8GFW          ADX   0  7
8G^G          STO   0  AWORK2(2)           [AWORK2=O/P ADDRESS  
8HF6          CALL  7  OUTLINE             [OUTPUT PARAMETER IF NECESSARY   
8HYQ          LDX   5  AWORK2(2)           [SET X5=O/P ADDRESS  
8JDB          BRN      ZOUT                [AND DO ANOTHER GETWORDX 
8JY2    #   
8KCL    P1FIN   
8KX=          CALL  7  OUTLINE             [OUTPUT PARAMETER
8LBW          ADX   5  4                   [O/P ADDRESS OF LAST WORD REQUESTED  
8LWG          ADX   5  AWORK2(2)           [+NO OF WORDS STILL TO BE PRINTED
8MB6          SBN   5  1
8MTQ          CALL  7  XOUTPAR             [OUTPUT PARAMETER
8N*B          CALL  7  XOUTMESS            [OUTPUT'NOTUSED'MESSAGE  
8NT2          UNSETBIT NU1,PFLAG(2)        [REMOVE NOTUSED MARKER AND   
8P#L          BRN      ZFUNI               [LOOK FOR MORE PARAMETERS
8PS=    RELERR  
8Q?W    )   
8QRG          GEOERR   1,PRINT1 
8R?6    ZGOOD   
8RQQ          SBX   5  6
8S=B          NGS   5  AWORK3(2)           [AWORK3=G.ADDR-O/P ADDR  
8SQ2          LDX   5  6                   [X5=GEORGE ADDRESS OF PRINTWORD  
8T9L          ADX   4  AWORK2(2)           [IF WE HAVE ACCESS ALL WORDS 
8TP=          LDX   0  4                   [ REQUIRED,PROCEED TO PRINT THEM 
8W8W          SBX   0  7
8WNG          STO   3  ACOMMUNE1(2)        [REMEMBER PREVIOUS WORD  
8X86          BNG   0  ZGOTAL   
8XMQ          LDX   4  7                   [...OTHERWISE PRINT THE NUMBER GIVEN 
8Y7B          STO   0  AWORK2(2)           [ AND SET AWORK2 TO THE RESIDUE. 
8YM2          BRN      ZIN  
8^6L    ZGOTAL  
8^L=          STOZ     AWORK2(2)
925W    ZIN 
92KG    #SKI  G4
9356    (   
93JQ          TBS      NU1,PFLAG(2),0   
944B          BZE  0   ZBETTER             [J IF PRGEDING AREA NOT'NOTUSED' 
94J2          ERS   0  PFLAG(2)            [UNSET NOTUSED FLAG  
953L          STO   5  AWORK4(2)           [THIS IS SILLY   
95H=          SBX   5  AWORK3(2)
962W          SBN   5  1
96GG          CALL  7  XOUTPAR             [OUTPUT LAST LOCATION AS PARAMETER   
9726          LDX   5  AWORK4(2)
97FQ          STOZ     AWORK4(2)
97^B          CALL  7  XOUTMESS            [OUTPUT MESSAGE  
98F2          CALL  6  SPACES   
98YL          SMO      5
99D=          LDX   6  0                   [X6=CURRENT PRINTWORD
99XW          BRN      ZPRT 
9=CG    ZBETTER 
9=X6    )   
9?BQ ...      TBS      STARTPRINT,PFLAG(2),0
9?WB ...      BZE   0  ZIN1                [J IF NOT 1ST PARAM TO BE PRINTED
9#B2          ERS   0  PFLAG(2) 
9#TL          FPCACA  1,2,N 
9**=          LDX   0  ALMT(1)  
9*SW          ANDN  0  #40                 [PICK UP BRANCH MOD& 
9B#G          SRC   0  11   
9BS6          ORS   0  PFLAG(2) 
9CRB    ZIN1
9D?2          SMO      5
9DQL          LDX   6  0                   [X6=THE VALUE OF THE NEXT O/P WORD   
9DXS ...      TBS      STARTAREA,PFLAG(2),0 
9F52 ...      BZE   0  PHINE
9F=8 ...      ERS   0  PFLAG(2) 
9FCB ...      BRN      X6NE 
9FJJ ...PHINE TXU   6  ACOMMUNE1(2) 
9FPW          BCS      X6NE                [J IF NOT EQUAL TO PREVIOUS WORD 
9G9G          LDX   0  AWORK4(2)           [COUNT = 0?  
9GP6          BNZ   0  ZNFT                [J IF NOT
9H8Q          LDN   0  1                   [OTHERWISE ADD 1 TO COUNT
9HNB          STO   0  AWORK4(2)
9J82    ZNFT  LDN   7  1
9JML          TXU   7  4
9K7=          BCS      X6Z  
9KLW          LDX   0  AWORK2(2)
9L6G          BZE   0  X6ZT                [IF X6=0 AND THIS IS THE LAST PRINTWO
9LL6    X6Z   LDX   0  AWORK4(2)           [ZERO COUNT  
9M5Q          TXU   0  THREE(1)            [INCREMENT THE ZERO COUNT UNLESS 
9MKB          BCC      X6ZA                [ IT WAS PREVIOUSLY  
9N52          ADS   7  AWORK4(2)           [   THREE
9NJL    X6ZA  SMO      0
9P4=          BRN      X6ZB 
9PHW    X6ZB  BRN      ZPRT                [IF ZERO COUNT=0,PRINT CURRENT WORD  
9Q3G          BRN      ZFIN                [             =1,IGNORE CURRENT WORD 
9QH6          CALL  6  SPACES              [             =2,OUTPUT ALINE OF SPAC
9R2Q          BRN      ZFIN                [             =3,IGNORE CURRENT WORD 
9RGB    #   
9S22    X6ZT  LDX   0  AWORK4(2)           [ZERO COUNT  
9SFL          BZE   0  ZPRT                [IF 0,STRAIGHTFORWARD PRINT  
9S^=          SBN   0  2
9TDW          BNZ   0  ZC13T               [IF ZERO COUNT = 2,  
9TYG          CALL  6  SPACES              [OUTPUT ALINE OF SPACES  
9WD6    ZC13T CALL  7  PRINTOLD 
9WXQ          BRN      ZFIN 
9XCB    #   
9XX2    X6NE  LDX   0  AWORK4(2)           [ZERO COUNT WORD 
9YBL          STOZ     AWORK4(2)           [RESET IT TO ZERO
9YW=          SBN   0  2
9^*W          BNG   0  ZPRT                [IF COUNT 0 OR 1 PRINT   
9^TG          LDN   6  0
=2*6          SBN   5  1                   [BACKSTEP TO PREVIOUS WORD   
=2SQ          CALL  7  PRINTOLD            [PRINT IT
=3#B          ADN   5  1                   [STEP FORWARD TO CURRENT WORD
=3S2    #                                  [ PRINTWORD. 
=4?L    ZPRT  CALL  7  PRINT               [CURRENT PRINTWORD TO MONITORING FILE
=4R=    #   
=5=W    ZFIN  TESTBRKIN ZBRKN              [TEST FOR BREAK-IN   
=5QG    #   
=6=6          SMO      5
=6PQ          LDX   6  0
=79B          STO   6  ACOMMUNE1(2)        [REMEMBER PREVIOUS WORD  
=7P2          ADN   5  1                   [STEP GEORGE ADDRESS OF O/P WORD 
=88L          BCT   4  ZIN1                [IF COUNT NOT EXHAUSTED CONTINUE 
=8N=    #                                  [ INNER LOOP 
=97W          LDX   4  AWORK2(2)
=9MG          BZE   4  QRVFS               [EXIT FROM OUTER LOOP IF ALL PRINTING
==76          LDX   3  ACOMMUNE1(2)        [COMPLETE
==LQ          SBX   5  AWORK3(2)           [OTHERWISE RESET X4 TO TOTAL COUNT OF
=?6B    #                                  [ PRINTWORDS,SET X5 TO O/P ADDRESS   
=?L2          BRN      ZOUT                [ AND DO ANOTHER GETWORD.
=#5L    QRVFS TBS      RESVIOL,PFLAG(2),0   
=#K=          BZE   0  ZFUNI
=*4W                                       [  NEXT PARAMETER
=*JG          BRN      PERR4               [ OTHERWISE ISSUE ERROR MESSAGE FIRST
=B46    #   
=BHQ    # THE LAST PART OF THIS SEGMENT CLEARS UP AFTER BREAK-IN OR AT END OF   
=C3B    # COMMAND.  
=CH2    #   
=D2L    PR1   TBS   PPRES,PFLAG(2),0
=DG=          BNZ   0  TERM                [J IF PARAMETER PRESENT BIT SET  
=D^W          LDX   4  PERM6(1)            [ISSUE ERROR MESSAGE 
=FFG          CALL  7  SRERR
=F^6    TERM
=GDQ    TIFO  LDN   7  0                   [SET X7 FOR NORMAL TERMINATION   
=GYB    TPR1  TBS   POPEN,PFLAG(2),0
=HD2          BZE   0  YNF                 [J IF NO USER FILE   
=HXL    #SKI  AMULTUSER 
=JC=    NOST  TESTMULT STCL 
=JWW    #SKI  AMULTUSER<1$1 
=KBG    NOST  TESTREAM STCL                [J IF MULTIFILE  
=KW6          MFREE    FILE,FABSNB  
=L*Q          CLOSE 
=LTB          BRN      YNF  
=M*2    STCL  CLOSE 
=MSL    #SKI  AMULTUSER 
=N#=    STC   CLOSEMULT                    [CLOSE SDF   
=NRW    #SKI  AMULTUSER<1$1 
=P?G    STC   CLOSESTREAM                  [CLOSE SDF   
=PR6    YNF   TESTGETW NOGWD
=Q=Q          WORDFIN                      [CLEAR UP IF GETWORD 
=QQB    NOGWD BZE   7  ULTND               [J IF NOT BREAKIN
=R=2          ABANDCOM                     [RETURN TO COMMAND PROCESSOR 
=RPL    ULTND ENDCOM                       [  "      "   "      "     " 
=S9=    XTOF  LDN   7  0                   [FILE OPEN & NO BREAKIN  
=SNW          BRN      NOST 
=T8G    XABAN LDN   7  1                   [FILE OPEN & BREAKIN 
=TN6          BRN      NOST 
=W7Q    NIKAERB 
=WMB          LDN   7  1                   [SDF OPEN & BREAKIN  
=X72          BRN      STC  
=XLL    #   
=Y6=    ZBRKN LDN   7  1                   [SET X7 FOR BREAK-IN 
=YKW          BRN      TPR1 
=^5G    #   
=^K6    # ERROR CASES WHICH END COMMAND 
?24Q    #   
?2JB    PERR7 LDX   1  FX1  
?342          LDX   4  PERM7(1) 
?3HL          CALL  7  SRERR
?43=          BRN      ULTND
?4GW    PERR8   
?52G ...      TBS   STARTPRINT,PFLAG(2),0   
?5G6          BZE   0  PR1                 [J IF REGION FOUND   
?5^Q          CALL  7  PPASS
?6FB          LDX   4  PERM8(1) 
?6^2          CALL  7  SRERR               [PARAMETER FORMAT ERROR  
?7DL          BRN      TIFO 
?7Y=    PERR9   
?8CW          SBX   5  AWORK3(2)
?8XG          SBN   5  1
?9C6          OUTNUM   5,0  
?9WQ          MONOUT   JFILEVIOL
?=BB          BRN      XTOF 
?=W2    PERR10  
??*L          LDX   4  PERM9(1) 
??T=          CALL  7  SRERR
?##W          BRN      XTOF 
?#SG    #   
?*#6    #                              SUBROUTINES  
?*RQ    #   
?B?B    # THE FOLLOWING TWO SUBROUTINES SET UP THE BUFFER READY FOR OUTPUT AND  
?BR2    # CALL THE S/R XMSOUT TO OUTPUT TO THE APPROPRIATE FILE 
?C=L    # PRINTOLD ONLY SETS THE ADDRESS,AS THE REMAINDER OF THE BUFFER WILL
?CQ=    # HAVE BEEN SET UP BY THE PREVIOUS LINE OF OUTPUT   
?D9W    #   
?DPG    PRINTOLD
?F96          LDN   6  0
?FNQ          BRN      START
?G8B    #   
?GN2    PRINT                              [CONVERTS A GIVEN WORD TO VARIOUS
?H7L    #                                  [CHARACTER FORMS AND INSERTS THEM
?HM=                                       [IN THE MONITORING FILE  
?J6W          LDN   6  1
?JLG    START MHUNTW   3,ADATA,CSTORE      [FIND THE DATA BLOCK 
?K66          LDX   1  FX1  
?KKQ          LDX   2  FX2  
?L5B          STO   4  PACCDUMP(3)         [REMEMBER COUNT  
?LK2          STO   5  PACCDUMP+1(3)       [REMEMBER GEORGE ADDR OF PRINTWORD   
?M4L          SBX   7  FX1  
?MJ=          STO   7  PACCDUMP+2(3)       [REMEMBER RELATIVISED CALL ADDRESS   
?N3W          LDX   0  ACES                [SPACE WORD  
?NHG          STO   0  PADDR(3) 
?P36          STO   0  PADDR+1(3)          [SPACE FILL ADDR AREA OF BUFFER  
?PGQ          BZE   6  ZINAD
?Q2B    PFRIG SMO      5
?QG2          LDX   6  0                   [OTHERWISE X6:=PRINTWORD 
?Q^L          LDN   4  PADDR(3) 
?RF=          LDN   5  PADDR+1(3)   
?RYW          MOVE  4  14                  [SPACE FILL THE BLOCK
?SDG          STO   6  PCHAR(3)            [STORE WORD IN CHARACTER FORM
?SY6          LDX   1  6                   [OCTAL FORM IN A1+7,A1+8 
?TCQ          LDN   7  8
?TXB    PR2   LDN   0  0
?WC2          SLL   01 3
?WWL          DCH   0  POCTAL+1(3)  
?XB=          BCHX  3  £
?XTW          BCT   7  PR2  
?Y*G          LDN   0  #23                 [IE #
?YT6          SBN   3  2                   [RESET X3 TO START OF BLOCK  
?^#Q          SMO      3
?^SB          DCH   0  POCTAL              [ # TO CHAR POSN 3 OF POCTAL 
#2#2    #   
#2RL    #                                  [INSTRUCTION FORM TO A1+11 - A1+14   
#3?=          LDCH  4  PFLAG(2)            [MODE OF MEMBER 0
#3QW          LDN   7  PINST
#4=G          INPRINTX 6,7,4,ADATA,CSTORE   
#4Q6          MHUNTW   3,ADATA,CSTORE   
#59Q    #   
#5PB                                       [SIGNED DECIMAL FORM TO A1+5 - A1+6  
#692          LDN   0  6
#6NL          LDN   5  #33                 [IE +
#78=          BPZ   6  Q5                  [IF PRINTWORD POSITIVE,CONVERT IT
#7MW          LDN   5  #35                 [IE -
#87G          NGX   6  6                   [OR IF NEGATIVE,BUT NOT #40000000
#8M6          BPZ   6  Q5                  [ NEGATE AND CONVERT 
#96Q          LDX   6  MAGIC(1)            [IF #40000000,NEGATION SHOULD HAVE   
#9LB          LDN   7  0                   [ GIVEN #37777777+1,WHICH,WHEN MULT- 
#=62          BRN      Q99                 [ IPLIED BY MAGIC LEAVES X6,X7 SET UP
#=KL    #                                  [ AS SPECIFIED   
#?5=    Q5    MPY   6  MAGIC(1) 
#?JW    Q99   MODE     1                   [SUPPRESS NON-SIGNIFICANT ZEROS  
##4G          LDX   2  3                   [X2 WILL BE LEFT POINTING TO THE 
##J6          BCHX  3  £                   [ POSITION OF THE ARITHMETIC SIGN
#*3Q    Q6    CBD   6  4
#*HB          TXU   4  SPACE(1)            [IF CBD PRODUCES A SPACE,
#B32          BCS      Q8   
#BGL          LDX   2  3                   [ UPDATE X2  
#C2=    Q8    DCH   4  PSDEC(3) 
#CFW          BCHX  3  £
#C^G          BCT   0  Q6   
#DF6          MODE     0                   [LAST ZERO UNSUPRESSED   
#DYQ          CBD   6  PSDEC(3) 
#FDB          DCH   5  PSDEC(2) 
#FY2          SBX   3  X7CHARS(1)          [X3 POINTS TO DATA BLOCK AGAIN   
#GCL          LDX   2  FX2  
#GX=    #   
#HBW    #                                  [ AND INSERTED IN A1 TO A1+1 
#HWG    ZINAD   
#JB6          LDX   4  PACCDUMP+1(3)       [GEORGE [DDRESS OF PRINTWORD 
#JTQ          SBX   4  AWORK3(2)           [-CONVERTED TO O/P ADDRESS   
#K*B          MPY   4  MAGIC(1) 
#KT2          LDN   0  6
#L#L          BCHX  3  £                   [STEP FIRST CHARACTER POSITION   
#LS=          MODE     1                   [ZERO SUPPRESSION
#M?W    Q9    CBD   4  PADDR(3) 
#MRG          BCHX  3  £
#N?6          BCT   0  Q9   
#NQQ          MODE     0                   [-EXCEPT LAST CHARACTER  
#P=B          CBD   4  PADDR(3) 
#PQ2          SBN   3  1                   [X3 POINTS TO DATA BLOCK (+0.3)  
#Q9L    #   
#QP=    #                                  [BUFFER NOW SET UP   
#R8W          LDX   4  PACCDUMP(3)  
#RNG          LDX   5  PACCDUMP+1(3)
#S86          LDX   7  PACCDUMP+2(3)
#SMQ          LDN   3  17   
#T7B          CALL  6  XMSOUT   
#TM2    #   
#W6L          ADX   7  FX1                 [MAKE CALL ADDRESS ABSOLUTE  
#WL=          EXIT  7  0
#X5W    #   
#XKG    #   
#Y56    #   
#YJQ    XCDB                               [CONVERTS CHARACTER STRING TO BINARY,
#^4B          LDCT  6  #200                [ HALTING AT END OF STRING OR FIRST  
#^J2          LDN   7  0                   [ NOW NUMERIC CHARACTER.COUNT (X4)   
*23L    ZCVT  CDB   6  APARA(3)            [ AND POINTER (X3) UPDATED FOR EACH  
*2H=          BCS      ZEND                [ NUMERIC CHAR FOUND 
*32W          BCHX  3  £                   [ S/L RESULT IN X7.  
*3GG          BCT   4  ZCVT                [IF EITHER CONVERTED NO. WAS DOUBLE  
*426    ZEND  EXIT  0  0                   [ LENGTH OR FIRST CHARACTER NON- 
*4FQ                                       [ NUMERIC X6 SET NZ.X6 INITIALISED   
*4^B                                       [ T0 #20000000 SO 1ST CDB MAKES X6=0 
*5F2    #   
*5YL    #   
*6D=    #   
*6XW    XTEST                              [TESTS CHARACTER IN X5 AGAINST'THAT  
*7CG          LDCH  1  APARA(3)            [ POINTED TO BY X3,STEPING X3 IF 
*7X6          TXU   1  5                   [ THESE COINCIDE 
*8BQ          BCS      ZDIF 
*8WB          BCHX  3  £
*9B2          SBN   4  1
*9TL          EXIT  0  1                   [EXIT IF MATCH FOUND 
*=*=    ZDIF  EXIT  0  0                   [EXIT IF MATCH NOT FOUND 
*=SW    #   
*?#G    #   
*?S6    #   
*#?Q    SRERR                              [JUST THE MACRO ERRORX FOR THE OUTPUT
*#RB          SBX   7  FX1                 [ OF MONITORING FILE MESSAGES
**?2          ERRORX   4
**QL          ADX   7  FX1  
*B==          EXIT  7  0
*BPW    #   
*C9G    #   
*CP6    SPACES  
*D8Q          LDN   3  2
*DNB    #   
*F82    #     THIS SUBROUTINE OUTPUTS A LINE TO THE MONITORING FILE OR MOVES
*FML    #     DATA TO A FILE FUWB.ON ENTRY X3 CONTAINS THE NUMBER OF WORDS  
*G7=    #     INVOLVED  
*GLW    XMSOUT  
*H6G          SBX   6  FX1  
*HL6          LDX   2  FX2  
*J5Q          TBS      UFILE,PFLAG(2),0 
*JKB          BZE   0  XMON                [J IF OUTPUT TO M/F  
*K52          TBS      POPEN,PFLAG(2),0 
*KJL          BZE   0  YMON                [NOTHING IF NO FILE OPEN 
*L4=          LDX   7  3                   [REMEMBER X3 
*LHW    OKAY  LDX   3  7
*M3G          STEP  ,0(3),XABAN 
*MH6          TESTREP  REFUSED,PERR10   
*N2Q          TESTREPN FILEFULL,TST        [IF FILEFULL- TO NEXT STREAM 
*NGB    #SKI  AMULTUSER 
*P22          TESTMULT TNOC 
*PFL    #SKI  AMULTUSER<1$1 
*P^=          TESTREAM TNOC 
*QDW          BRN      PERR9               [OUTPUT MESSAGE  
*QYG    TNOC  CLOSE                        [CLOSE ELEMENT   
*RD6          CREATEB   
*RXQ          MHUNT    3,FILE,CREATE
*SCB          LDCT  0  #420 
*SKL ...      STO   0  CEINF1(3)
*SRW ...      LDCT  0  #400 
*T26 ...      ADN   0  #12  
*T8B ...      STO   0  CETM(3)  
*TBL    #SKI  AMULTUSER 
*TW=          USEROPEN NIKAERB,APPEND,CREATE,EMPTY,MULTEL   
*W*W    #SKI  AMULTUSER<1$1 
*WTG          USEROPEN NIKAERB,APPEND,CREATE,EMPTY,STREAMCOMP   
*X*6          REPERR   OKAY                [TEST FOR ERROR  
*XSQ          LDN   7  0                   [SDF OPEN & BREAKIN  
*Y#B          BRN      STC  
*YS2    TST   SMO      7
*^?L          LDN   0  0                   [WORD COUNT  
*^R=          STO   0  0(3) 
B2=W          LDN   0  #41  
B2QG          STO   0  1(3) 
B3=6          SBN   7  2
B3PQ          BZE   7  XSPACES             [J IF LINE OF SPACES 
B49B          ADN   3  2                   [UPDATE POINTER  
B4P2          MHUNT    2,ADATA,CSTORE      [FIND BLOCK  
B58L          ADN   2  PADDR
B5N=          SMO      7
B67W          MOVE  2  0                   [MOVE A DATA 
B6MG    XSPACES 
B776          LDX   7  PACCDUMP+2-PADDR(2) [RESET X7
B7LQ          BRN      YMON                [AND EXIT
B86B    XMON
B8L2          SBN   3  2
B95L          BZE   3  PMON                [J IF SPACES 
B9K=          SLL   3  2                   [SET CHARACTER COUNT 
B=4W    PMON
B=JG          SMO      FX1  
B?46          LDX   1  XCAT                [CATEGOIY BRTS   
B?HQ          OUTMON   3,PADDR,1,ADATA,CSTORE   
B#3B    YMON
B#H2          LDX   2  FX2  
B*2L          LDX   1  FX1  
B*G=          ADX   6  FX1  
B*^W          EXIT  6  0
BBFG    #   
BB^6    #   
BCDQ    #   
BCYB    #SKI  G4
BDD2    (   
BDXL    #   
BFC=    #                      G4 SUBROUTINES   
BFWW    #                      ==============   
BGBG    #   
BGW6    # THIS SUBROUTINE IS OBEYED FOLLOWING A NOTUSED REPLY FROM GETWORD  
BH*Q    # IF THIS IS THE 1ST NOTUSED REPLY IT WILL:-
BHTB    #     1)OUTPUT THE LAST LOCATION ACCESSED IF THIS WAS THE LAST IN A 
BJ*2    #       SERIES OF IDENTICAL LOCATIONS   
BJSL    #     2)OUTPUT A LINE OF SPACES 
BK#=    #     3)SET UP A PARAMETER BLOCK AND OUTPUT THE 1ST LOCATION ADDRESS
BKRW    #       AS A PARAMETER  
BL?G    #   
BLR6    OUTLINE 
BM=Q          SBX   7  FX1  
BMQB          TBS      NU1,PFLAG(2),0   
BN=2          BNZ   0  PTNOT1              [J IF NOT 1ST NOTUSED REPLY  
BNPL          SETBIT   NU1,PFLAG(2) 
BP9=          LDX   0  AWORK4(2)
BPNW          SBN   0  2
BQ8G          STO   7  AWORK4(2)           [REMEMBER X7 
BQN6          BNG   0  NOTZE               [J IF NOT MORE THAN 1
BR7Q          SBN   5  1
BRMB          STOZ     AWORK3(2)           [BIG FIDDLE  
BS72          CALL  7  PRINTOLD 
BSLL          ADN   5  1
BT6=    NOTZE CALL  6  SPACES              [OUTPUT A LINE OF SPACES 
BTKW          OUTBLOCN 8                   [OUTPUT PARAMETER BLOCK  
BW5G          CALL  7  XOUTPAR             [OUTPUT 1ST LOCATION 
BWK6          LDX   7  AWORK4(2)
BX4Q          STOZ     AWORK4(2)
BXJB    PTNOT1  
BY42          ADX   7  FX1  
BYHL          EXIT 7   0
B^3=    #   
B^GW    #   
C22G    # OUTPUTS THE CONTENTS OF X5 AS A PARAMETER 
C2G6    #   
C2^Q    XOUTPAR 
C3FB          SBX   7  FX1  
C3^2          OUTNUM   5,0  
C4DL          ADX   7  FX1  
C4Y=          EXIT  7  0
C5CW    #   
C5XG    #   
C6C6    # OUTPUTS THE NOTUSED MESSAGE TO THE APPROPRIATE FILE .CALLS XMSOUT IF  
C6WQ    # THIS IS AN USER SPECIFIED FILE
C7BB    #   
C7W2    XOUTMESS
C8*L          SBX   7  1
C8T=          TBS      UFILE,PFLAG(2),0 
C9#W          BNZ   0  XFILE               [J IF OUTPUT TO FILE 
C9SG          MONOUT   JNOTUSED 
C=#6          BRN      XNOFILE  
C=RQ    XFILE   
C??B          ASSMESS  XJNOTUSED(1) 
C?R2          STO   7  AWORK4(2)
C#=L          MHUNT    1,GMON,AOUT  
C#Q=          LDX   3  A1(1)
C*9W          ADN   1  A1+2 
C*PG          MHUNT    2,ADATA,CSTORE   
CB96          ADN   2  PADDR
CBNQ          ADN   3  3
CBYJ ...      ANDN  3  #7777
CC8B          SRL   3  2                   [CHARS-WDS   
CCD8 ...      ADN   3  2
CCN2          MOVE  1  0(3)                [MOVE TO OUTPUT BUFFER   
CD7L          CALL  6  XMSOUT              [AND OUTPUT MESSAGE  
CDM=          LDX   7  AWORK4(2)
CF6W          STOZ     AWORK4(2)
CFLG    XNOFILE 
CG66          ADX   7  FX1  
CGKQ          EXIT  7  0
CH5B    #   
CHK2    #   
CJ4L    #   
CJJ=    )   
CK3W          MENDAREA 30,K100PRINT 
CKHG    #   
CL36    #   
CLGQ    #END
^^^^ ...65531551001700000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1