PMBUFFS84

(George Source)

Macros used: EMPTY, GSCAN, GSCANDEF, GSCANEQU, OR, PMCORES, PMESSAGE, PMOVE, SEGENTRY, TRACE

PMBUFFS84.txt
22FL    #OPT K0PMBUFFS=0
22^=    #LIS K0PMBUFFS>K0POST>K0ALLGEO  
23DW    #   
23YG ...#SEG  PMBUFFS84                    [KAREL KOSKUBA - DIAG
24D6    #   
24XQ    # THIS SEGMENT PRINTS OUT BOTH THE TRACE AND GSCAN BUFFERS  
25CB    #   
25X2                   8HPMBUFFS
26BL    #   
26W=    #     ENTRY POINT TABLE 
27*W    #   
27TG     SEGENTRY K1PMBUFFS,XK1PMBUFFS  
28*6    #SKI  BUFTRACE  
28SQ    #SKI  K6TRACE<6-6   
29#B    (   
29S2    XK1PMBUFFS  
2=?L          BRN      (JPMSEG) 
2=R=    )   
2?=W    #SKI  BUFTRACE  
2?QG    (   
2#=6    #SKI  K6TRACE>5-5   
2#PQ    (   
2*9B    SWITCH         +0   
2*P2    WCOUNT         +0                  [COUNT OF WORDS IN RECORD
2B8L    TCOUNT         +0                  [COUNT OF TRACES PRINTED 
2BN=    XLINK          +0                  [LINK WORD FOR CORE PRINT ROUTINE
2C7W    STOP           +0                  [CONTAINS ADDRESS AFTER LAST TRACE   
2D76    MINI           16H MINI POSTMORTEM  
2DLQ    PRESET         8HGSCAN  
2F6B    TNAME          12HTRACE BUFFER  
2FL2    TLINE          40H           %B       ACT.NO.        %A 
2G5L                   20H     CONTENTS OF %A   
2GK=    PMESS1         37HCORE PRINT OF TRACE BUFFER IMPOSSIBLE 
2H4W    PMESS2         37HERROR IN TRACE BUFFER OR ITS POINTERS 
2HJG    PMESS3         35HJTRAIND CORRUPTED, ASSUME JTRAIND=0   
2J46    TEMPTY         25HTHE TRACE BUFFER IS EMPTY 
2JHQ    SLINE          40H          %B          ACT.NO.      CONTE  
2K3B                   12HNTS OF %A 
2KH2    SNAME          12HGSCAN BUFFER  
2L2L    PMESS4         37HCORE PRINT OF GSCAN BUFFER IMPOSSIBLE 
2LG=    PMESS5         37HERROR IN GSCAN BUFFER OR ITS POINTERS 
2L^W    PMESS6         25HTHE GSCAN BUFFER IS EMPTY 
2MFG    PMOD           +0                  [USED TO CHECK FOR COMPLETE LINE 
2M^6    POINTER        +0                  [POINTER TO NEXT RECORD IN SCTABLE   
2NDQ    PFORMAT        LDX   6  JOCT
2NYB                   LDX   6  JCHA
2PD2                   LDX   6  JDECS   
2PXL                   LDX   6  JDECP   
2QC=    SCTABLE 
2QWW          GSCANDEF DOCUMENT,1,0,0,1 
2RBG          GSCANEQU SWAPOUTF,SWAPINI 
2RW6          GSCANDEF CLOAD,1,2
2S*Q          GSCANDEF NEWJOB,0,1   
2STB          GSCANDEF MONF OUT,1,0,0,1 
2T*2          GSCANDEF COREJAM,1,3  
2TSL    SCEND          +SCEND   
2W#=    #   
2WRW    # THIS ROUTINE GIVES A CORE PRINT   
2X?G    #     ENTRY    X0=NUMBER OF WORDS   
2XR6    #              X1=START ADDRESS 
2Y=Q    #              X7=LINK  
2YQB    #     EXIT     ALL ACCS UNDEFINED   
2^=2    #   
2^PL    PRINTC  
329=          SMO      FXPM1
32NW          STO   7  XLINK
338G          CALL  7  (JPRINT1)
33N6          SMO      FXPM1
347Q          LDX   7  XLINK
34MB          BZE   0  (7)  
3572    TB7   LDN   4  1
35LL          ADS   4  JPMOD               [UPDATE LP MODIFIER  
366=          LDX   5  1                   [LOAD ADDRESS OF WORD TO CONVERT 
36KW          CALL  7  (JDECN)               [IT FROM BINARY TO DECIMAL 
375G          SMO      FXPM1
37K6          STO   0  WCOUNT   
384Q          ADS   4  JPMOD               [UPDATE LP MODIFIER  
38JB          LDX   5  0(1)                [CONVERT WORD TO CHARACTER, DECIMAL, 
3942          ADS   4  1
39HL          CALL  7  (JCON4)               [OCTAL AND INSTRUCTION FORMATS 
3=3=          CALL  7  (JPRINT1)             [PRINT A LINE  
3=GW          SMO      FXPM1
3?2G          LDX   0  WCOUNT              [TEST IF CORE PRINT  
3?G6          BCT   0  TB7                 [HAS BEEN FINISHED   
3?^Q          SMO      FXPM1
3#FB          LDX   7  XLINK
3#^2          EXIT  7  0
3*DL    #SKI  K6TRACE<12-12 
3*Y=    TRACE   
3BCW    #SKI  K6TRACE>11-11 
3BXG    (   
3CC6    #   
3CWQ    # TRACE BUFFER EMPTY OUTPUT A MESSAGE AND BRANCH TO (JPMSEG)
3DBB    #   
3DW2    TBEMPTY 
3F*L          PMESSAGE TEMPTY,7,FXPM1   
3FT=          BRN      (JPMSEG) 
3G#W    #   
3GSG    # CHECK IF IT IS POSSIBLE TO GIVE A CORE PRINT  
3H#6    # AND IF IT ISN'T OUTPUT A MESSAGE AND BRANCH TO (JPMSEG)   
3HRQ    #   
3J?B    TB1   LDX   1  JTRATOP             [IF JTRATOP IS GREATER   
3JR2          LDX   4  CORES               [THAN CORES  
3K=L          TXL   4  1                   [BRANCH TO (JPMSEG)  
3KQ=          BCC      TB8  
3L9W          PMESSAGE PMESS1,10,FXPM1  
3LPG          BRN      (JPMSEG)              [AND DISPLAY A MESSAGE 
3M96    TB8 
3MNQ          PMESSAGE PMESS2,10,FXPM1  
3N8B ...      SBX   1  JTRALEN              [GIVE A CORE PRINT  
3NN2 ...      LDX   0  JTRALEN              [USING JTRATOP AND TRALEN   
3Q6W          CALL  7  PRINTC   
3QLG          BRN      (JPMSEG) 
3R66    #   
3RKQ    # CHECK IF EITHER JTRABUFF OR JTRATOP HAVE BEEN CORRUPTED   
3S5B    # AND GIVE A CORE PRINT USING THE APPROPRIATE POINTER.  
3SK2    #   
3T4L    PCORE1  
3TJ=          LDX   5  JTRAPNTR 
3W3W          TXL   5  4
3WHG          BCS      TB1  
3X36    PCORE2  
3XGQ          PMESSAGE PMESS2,10,FXPM1  
3Y2B ...      LDX   0  JTRALEN              [LOAD ACCUMULATORS IN   
3Y^L          LDX   1  JTRABUFF            [ORDER TO GIVE CORE PRINT
3^F=          CALL  7  PRINTC   
3^YW          BRN      (JPMSEG) 
42DG    #   
42Y6    # CHECK THE POINTERS TO SEE IF THE TRACE BUFFER IS EMPTY
43CQ    #   
43XB    TB9   TXU   4  JTRAPNTR            [IF JTRABUFF IS UNEQUAL TO   
44C2          BCS      PCORE2              [JTRAPNTR GIVE A CORE PRINT  
44WL          LDX   4  JTRATOP             [OTHERWISE   
45B=          SMO      FXPM1
45TW          STO   4  STOP                [TEST IF BUFFER  
46*G          LDX   4  JTRAIND             [IS EMPTY AND OUTPUT A   
46T6          BNZ   4  TBEMPTY             [MESSAGE IF IT IS
47#Q          LDN   6  2
47SB          BRN      TB2  
48#2    #   
48RL    # TRACE BUFFER ROUTINE ENTERED HERE AND TITLE LINES PRINTED OUT 
49?=    #   
49QW    TRACE   
4==G          PMESSAGE TNAME,3,FXPM1
4=Q6          PMESSAGE TLINE,15,FXPM1   
4?9Q    #   
4?PB    # CHECK TO SEE IF ANY OF THE POINTERS HAVE BEEN CORRUPTED   
4#92    # AND IF THEY HAVE GIVE A CORE PRINT WHERE THIS IS POSSIBLE 
4#NL    #   
4*8=          LDX   4  JTRABUFF 
4*MW     PMCORES 4,TB1  
4B7G          TXL   4  JTRATOP             [IF JTRABUFF>JTRATOP BRANCH  
4BM6          BCC      PCORE1              [TO GIVE A CORE PRINT
4C6Q          LDX   5  JTRATOP  
4CLB          LDX   6  CORES
4D62          TXL   6  5                   [IF JTRATOP>CORES BRANCH 
4DKL          BCS      PCORE2              [TO GIVE A CORE PRINT
4F5=          TXL   5  JTRAPNTR            [IF JTRATOP>JTRAPNTR BRANCH  
4FJW          BCS      PCORE2              [TO GIVE A CORE PRINT
4G4G ...      LDX   6  JTRALEN  
4H3Q          SBX   5  4                   [USE TRALEN TO CHECK IF  
4HHB          TXU   6  5                   [JTRABUFF AND JTRATOP ARE CORRUPTED  
4J32          BCS      PCORE2   
4JGL          TXL   4  JTRAPNTR            [IF JTRABUFF>JTRAPNTR OR EQUAL   
4K2=          BCC      TB9                 [BRANCH TO SEE IF BUFFER IS EMPTY
4KFW          LDX   5  JTRAPNTR 
4K^G          SMO      FXPM1
4LF6          STO   5  STOP 
4LYQ    #   
4MDB    # CHECK THE VALUE OF JTRAIND. IF IT IS GREATER  
4MY2    # THAN ONE ASSUME THAT BUFFER IS FULL.  
4NCL    #   
4NX=          LDX   6  JTRAIND  
4PBW          LDN   7  1
4PWG          TXL   7  6                   [TEST IF JTRAIND>1   
4QB6          BCC      TB2                 [BRANCH IF IT ISN'T  
4QTQ          PMESSAGE PMESS3,9,FXPM1   
4R*B          STOZ     6
4RT2    TB2   SMO      FXPM1
4S#L          STO   6  SWITCH   
4SS=          BNZ   6  TB3  
4T?W    #   
4TRG    # LOAD ACCUMULATORS READY FOR PRINTING OUT OF TRACE BUFFER  
4W?6    #           X0=LENGTH OF EACH TRACE RECORD  
4WQQ    #           X1=ADDRESS OF FIRST RECORD  
4X=B    #   
4XQ2          CALL  7  (JPRINT1)             [THROW A LINE  
4Y9L          LDX   1  JTRAPNTR 
4YP=    TB6   LDN   0  JTRAENT  
4^8W    #   
4^NG    # CHECK IF TRACE WAS INSERTED BY GSCAN  
5286    #   
52MQ          CALL  7  (JUP)
537B                   +1   
53M2          LDX   5  2(1) 
546L          BPZ   5  TB4                 [IF RECORD INSERTED BY GSCAN 
54L=          SMO      FXPM1
555W          LDN   4  PRESET              [SET UP CHARACTERS 'GSCAN' AT
55KG          LDX   5  JPMOD               [THE FRONT OF LP BUFFER  
5656          MOVE  4  2
56JQ    TB4   LDN   7  2
574B          ADS   7  JPMOD
57J2    #   
583L    # SET UP TRACE RECORD IN CURRENT LP BUFFER  
58H=    #   
592W          LDX   4  1
59GG          LDX   5  JPMOD               [LOAD TRACE NAME 
5=26          MOVE  4  2                   [INTO LP BUFFER  
5=FQ          SBN   0  2
5=^B          LDN   4  3
5?F2          ADS   4  JPMOD
5?YL          ADN   1  2
5#D=          LDX   5  2(1)                [LOAD THE CURRENT ACTIVITY NUMBER
5#XW          CALL  7  (JDECN)               [AT TIME OF TRACE INTO LP BUFFER   
5*CG          LDN   4  1
5*X6          ADS   4  JPMOD
5BBQ          LDXC  5  0(1)                [LOAD THE ADDRESS OF THE 
5BWB          CALL  7  (JDECN)               [WORD TRACED INTO LP BUFFER
5CB2          ADS   4  JPMOD
5CTL          BUX   1  £
5D*=          SMO      FXPM1
5DSW          STO   0  WCOUNT   
5F#G          LDX   5  0(1)                [LOAD THE CONTENTS OF WORD TRACED
5FS6          CALL  7  (JCON4)               [INTO LP BUFFER IN DIFFERENT FORMAT
5G?Q          CALL  7  (JPRINT1)             [PRINT A LINE  
5GRB    #   
5H?2    # CHECK THE COUNT OF TRACES PRINTED AND LENGTH OF THE RECORDS   
5HQL    #   
5J==          SMO      FXPM1
5JPW          LDX   4  TCOUNT   
5K9G          ADN   4  1
5KP6          SMO      FXPM1
5L8Q          STO   4  TCOUNT   
5LNB          LDN   6  JTRAENT  
5M82          MPY   4  6                   [TEST IF THE NUMBER  
5MML ...      LDX   4  JTRALEN              [OF TRACES PRINTED IS   
5NLW          TXL   4  5                   [GREATER THAN THE MAXIMUM
5P6G          BCS      PCORE2              [IF IT IS GIVE A CORE PRINT  
5PL6          ADN   1  2
5Q5Q          SMO      FXPM1
5QKB          LDX   0  WCOUNT              [TEST IF NUMBER OF WORDS IN RECORD   
5R52          SBN   0  3                   [IS WRONG AND IF IT IS   
5RJL          BNZ   0  PCORE2              [BRANCH TO GIVE A CORE PRINT 
5S4=    #   
5SHW    # CHECK IF ALL THE TRACES HAVE BEEN PRINTED. ACCORDING  
5T3G    # TO WHICH POINTER HOLDS THE END ADDRESS.   
5TH6    #   
5W2Q          SMO      FXPM1
5WGB          LDX   4  SWITCH   
5X22          BNZ   4  TB5  
5XFL          TXU   1  JTRATOP             [TEST IF END OF BUFFER HAS BEEN  
5X^=          BCS      TB6                 [REACHED BRANCH IF IT HASN'T 
5YDW          LDN   4  1                   [OTHERWISE SET SWITCH
5YYG          SMO      FXPM1
5^D6          STO   4  SWITCH              [WORD TO ONE 
5^XQ    TB3   LDX   1  JTRABUFF            [AND START PRINTING TRACES   
62CB          BRN      TB6                 [FROM START OF BUFFER
62X2    TB5   SMO      FXPM1
63BL          TXU   1  STOP                [TEST IF ALL THE TRACES  
63W=          BCS      TB6                 [HAVE BEEN PRINTED   
64*W    )   
64TG          BRN      (JPMSEG) 
65*6    #   
65SQ    # THIS ROUTINE CHECKS TO SEE IF THE LP BUFFER IS FULL   
66#B    # IF IT IS THE LINE IS PRINTED AND THE OUTPUT CONTINUED 
66S2    # ON THE NEXT LINE. 
67?L    #     ENTRY    X7=LINK  
67R=    #     EXIT     X3,X5,X6,X7 UNDEFINED
68=W    #   
68QG    NEWLINE 
69=6          SMO      FXPM1
69PQ          STO   7  XLINK
6=9B          LDX   5  JPMOD
6=P2          SLC   5  2
6?8L          SMO      FXPM1
6?N=          SBX   5  PMOD 
6#7W          LDN   6  79                  [TEST IF THE LP BUFFER   
6#MG          TXL   5  6                   [IS FULL BRANCH  
6*76          BCS      SC13                [IF IT ISN'T 
6*LQ          CALL  7  (JPRINT1)             [PRINT A LINE  
6B6B          LDN   6  8
6BL2          ADX   6  JPMOD               [UPDATE  
6C5L          STO   6  JPMOD               [LP MODIFIER 
6CK=          SLC   6  2
6D4W          SMO      FXPM1
6DJG          STO   6  PMOD 
6F46    SC13  SMO      FXPM1
6FHQ          LDX   7  XLINK
6G3B          EXIT  7  0
6GH2    #   
6H2L    # OUTPUT AN ERROR MESSAGE AND GIVE A CORE PRINT OF THE  
6HG=    # GSCAN BUFFER THEN BRANCH TO PRINT OUT THE TRACE BUFFER
6H^W    #   
6JFG    PRNTCORE
6J^6          PMESSAGE PMESS5,10,FXPM1  
6KDQ          LDX   1  GSCANBUFF           [LOAD ACCUMULATORS   
6KYB ...      LDX   0  GSCANLEN            [IN ORDER TO 
6LD2          CALL  7  PRINTC              [CALL CORE PRINT ROUTINE 
6LXL          BRN      TRACE
6MC=    #   
6MWW    # CORE PRINT OF GSCAN BUFFER IMPOSSIBLE AS GSCANBUFF>CORES  
6NBG    # BRANCH TO PRINT OUT TRACE BUFFER  
6NW6    #   
6P*Q    NOPRINT 
6PTB          PMESSAGE PMESS4,10,FXPM1  
6Q*2          BRN      TRACE
6QSL    #   
6R#=    # GSCAN BUFFER ROUTINE ENTERED HERE AND TITLE LINES PRINTED OUT 
6RRW    #   
6S?G    XK1PMBUFFS  
6SR6    #   
6T=Q    #     PRINT MINI POSTMORTEM HEADING 
6TQB    #   
6W=2          SMO      FXPM1
6WPL          LDN   4  MINI                [SET UP HEADING  
6X9=          LDX   5  JPMOD
6XNW          MVCH  4  16   
6Y8G          CALL  7  (JPRINT)              [THROW A PAGE & PRINT HEADING  
6YN6          PMESSAGE SNAME,3,FXPM1
6^7Q          PMESSAGE SLINE,13,FXPM1   
6^MB    #   
7272 ...# READ DOWN PMINPRIN FROM BACKING STORE 
72LL    #   
736=          SMO      FXPM1
73KW          LDN   5  XDINPRIN 
745G ...      PMOVE    PMINPRIN,5   
74K6    #   
754Q    # CHECK TO SEE IF ANY OF THE POINTERS HAVE BEEN CORRUPTED   
75JB    # AND IF THEY HAVE GIVE A CORE PRINT WHERE POSSIBLE 
7642    #   
76HL          LDX   4  GSCANBUFF
773=          LDX   5  GSCANPNTR
77GW          LDX   1  GSCANVAL 
782G     PMCORES 4,NOPRINT  
78G6     PMCORES 5,PRNTCORE 
78^Q          TXL   4  5                   [IF GSCANBUFF<GSCANPNTR  
79FB          BCS      SC18                [BRANCH FORWARD  
79^2          TXU   4  5                   [IF THEY ARE UNEQUAL BRANCH  
7=DL          BCS      PRNTCORE            [TO GIVE A CORE PRINT
7=Y=          BNZ   1  SC16                [IF GSCANVAL IS ZERO 
7?CW          PMESSAGE PMESS6,7,FXPM1           [OUTPUT A MESSAGE AND   
7?XG          BRN      TRACE               [BRANCH TO PRINT OUT TRACE BUFFER
7#C6    SC16  LDN   6  1
7#WQ          SMO      FXPM1
7*BB          STO   6  SWITCH   
7*W2    SC18  SBX   5  4
7B*L          ADX   5  GSCANLEFT
7BT= ...      LDX   4  GSCANLEN            [USE GSCANLEFT AND GSCANSIZE FOR 
7C#W          TXU   5  4                   [A FINAL CHECK OF THE POINTERS   
7CSG          BCS      PRNTCORE 
7D#6     PMCORES 1,PRNTCORE 
7DRQ          CALL  7  (JPRINT1)             [THROW A LINE  
7F?B          BZE   1  SC17 
7FR2    #   
7G=L    # SET UP COUNT OF WORDS IN GSCAN RECORD. IF COUNT=0 AND LAST SCAN HAS   
7GQ=    # BEEN PRINTED BRANCH TO TRACE OTHERWISE START READING RECORDS  
7H9W    # FROM START OF BUFFER. 
7HPG    #   
7J96    SC8   LDX   0  0(1)                [LOAD FIRST WORD OF RECORD   
7JNQ          BNZ   0  SC1                 [IF IT IS ZERO TEST IF LAST  
7K8B          SMO      FXPM1
7KN2          LDX   6  SWITCH              [SCAN HAS BEEN PRINTED   
7L7L          BNZ   6  TRACE               [OTHERWISE   
7LM=    SC17  LDX   1  GSCANBUFF           [LOAD ADDRESS OF FIRST   
7M6W          BRN      SC8                 [RECORD INTO MODIFIER
7MLG    SC1   SMO      FXPM1
7N66          ADS   0  WCOUNT              [COUNT OF WORDS READ IN BUFFER   
7NKQ          LDN   4  GSCANSIZE           [IF COUNT OF WORDS CONTAINED IN  
7P5B          SMO      FXPM1
7PK2          TXL   4  WCOUNT              [WCOUNT IS GREATER THAN SIZE OF  
7Q4L          BCS      PRNTCORE            [GSCAN BUFFER GIVE A CORE PRINT  
7QJ=    #   
7R3W    # SET UP GSCAN RECORD INTO THE CURRENT LP BUFFER
7RHG    #   
7S36          CALL  7  (JUP)                 [UPDATE LP BUFFER MODIFIER 
7SGQ                   +9   
7T2B          LDN   4  1(1)                [LOAD GSCAN NAME 
7TG2          LDX   5  JPMOD               [INTO LP BUFFER  
7T^L          MOVE  4  2
7WF=          LDN   4  3                   [UPDATE MODIFIER FOR 
7WYW          ADS   4  JPMOD               [LP BUFFER   
7XDG          LDX   5  3(1)                [SET UP ACTIVITY NUMBER  
7XY6          CALL  7  (JDECN)               [IN LP BUFFER  
7YCQ          SBN   0  4
7YXB ...      BZE   0  SC6A                 [J IF NO CONTENTS IN GSCAN  
7^C2          LDN   4  1                   [UPDATE MODIFIER FOR 
7^WL          ADX   4  JPMOD               [LP BUFFER   
82B=          STO   4  JPMOD               [ALSO STORES ADDRESS 
82TW          SLC   4  2                   [IN MODIFIER IN ORDER TO 
83*G          SMO      FXPM1
83T6          STO   4  PMOD                [CHECK FOR A FULL LINE   
84#Q    #   
84SB    # TEST IF GSCAN NAME IS LISTED IN SCTABLE AS EITHER A GSCANDEF OR A 
85#2    # GSCANEQU MACRO AND GIVE THE CORRECT PRINTING FORMAT IF IT IS  
85RL    #   
86?=          SMO      FXPM1
86QW          LDN   2  SCTABLE             [LOAD POINTER TO TABLE   
87=G    SC4   LDX   4  0(2)                [BRANCH IF MACRO 
87Q6          ADX   4  FXPM1
889Q          BNG   4  SCANEQU             [IS A GSCANEQU   
88PB          SMO      FXPM1
8992          STO   4  POINTER  
89NL          TXU   4  2                   [TEST IF POINTER POINTS  
8=8=          BCS      SC2                 [TO ITSELF AND IF
8=MW          ADN   1  4                   [IT DOES BRANCH TO   
8?7G          BRN      SC7                 [PRINT OUT RECORD IN OCTAL   
8?M6    SC2   LDX   4  1(2) 
8#6Q          LDX   5  2(2)                [TEST IF GSCAN NAME IS   
8#LB          TXU   4  1(1)                [EQUAL TO NAME IN TABLE  
8*62          TXU   5  2(1)                [AND IF IT IS
8*KL          BCC      SC11                [BRANCH FORWARD  
8B5=          SMO      FXPM1
8BJW          LDX   2  POINTER             [OTHERWISE GET NEXT  
8C4G          BRN      SC4                 [RECORD IN TABLE 
8CJ6    #   
8D3Q    # FIND OUT THE PRINTING FORMAT AND THE NUMBER   
8DHB    # OF WORDS TO BE PRINTED OUT IN THIS FORMAT 
8F32    #   
8F6X ...SC11A ADX   4  FXPM1
8F=S ...      SMO      FXPM1
8FBP ...      STO   4  POINTER  
8FGL    SC11  ADN   1  4                   [UPDATE BOTH GSCAN AND   
8G2=          ADN   2  3                   [TABLE RECORD MODIFIERS  
8GFW    SC3   LDX   4  0(2) 
8G^G          SRL   4  12                  [LOAD COUNT FROM TOP 12 BITS 
8HF6    SC5   LDX   3  0(2) 
8HYQ          ANDN  3  #7777               [LOAD FORMAT FROM BOTTOM 12 BITS 
8JDB          LDN   5  1
8JY2          TXU   5  3                   [TEST IF CHARACTER FORMAT IS WANTED  
8KCL          BCC      SC12                [AND BRANCH IF IT IS 
8KX=          LDX   5  0(1)                [LOAD WORD TO BE CONVERTED   
8LBW          SMO      FXPM1
8LWG          OBEY     PFORMAT(3)   
8MB6          CALL  7  (6)                 [CONVERT WORD
8MTQ          CALL  7  (JUP)
8N*B                   +1   
8NT2          ADN   1  1
8P#L    SC15  SBN   0  1
8PS=          BZE   0  SC6                 [BRANCH IF GSCAN RECORD HAS ENDED
8Q?W          CALL  7  NEWLINE  
8QRG          BCT   4  SC5  
8R?6          ADN   2  1
8RQQ          SMO      FXPM1
8S=B          TXU   2  POINTER             [TEST IF TABLE RECORD HAS ENDED  
8SQ2          BCS      SC3                 [BRANCH BACK IF IT HASN'T
8T9L    #   
8TP=    # IF GSCAN NAME ISN'T IN THE TABLE PRINT OUT THE SCAN IN OCTAL, OR  
8W8W    # IF GSCAN RECORD HAS NOT FINISHED PRINT OUT REMAINDER IN OCTAL 
8WNG    #   
8X86    SC7   LDX   5  0(1)                [LOAD THE WORD TO BE 
8XMQ          CALL  7  (JOCT)                [CONVERTED INTO OCTAL  
8Y7B          CALL  7  (JUP)
8YM2                   +1   
8^6L          ADN   1  1                   [AND TEST IF 
8^L=          CALL  7  NEWLINE  
925W          BCT   0  SC7                 [GSCAN RECORD HAS FINISHED   
92*N ...      BRN      SC6  
92KG    #   
9356    # CHECK IF THE NUMBER OF SCANS PRINTED IS GREATER THAN THE  
93JQ    # MAXIMUM AND ALSO IF THE LAST SCAN HAS BEEN PRINTED
944B    #   
94#8 ...SC6A  ADN   1  4
94J2    SC6   CALL  7  (JPRINT1)             [PRINT A LINE  
953L          TXU   1  GSCANPNTR           [TEST IF ALL THE SCANS   
95H=          BCS      SC8                 [HAVE BEEN PRINTED OUT   
962W          BRN      TRACE
96GG    #   
9726    # THIS CODING SETS UP THE CONTENTS AS A CHARACTER STRING
97FQ    #   
97^B    SC12  LDX   5  0(1) 
98F2          CALL  7  (JCHA)                [CONVERT THE WORD TO CHARACTERS
98YL          BUX   1  SC15 
99D=    #   
99XW    # TEST IF GSCANEQU RECORD IN TABLE HAS SAME NAME AS GSCAN NAME AND  
9=CG    # IF IT HAS FIND NEXT GSCANDEF MACRO FOR PRINTING FORMAT
9=X6    #   
9?BQ    SCANEQU 
9?WB          LDCT  5  #400 
9#B2          ERX   4  5                   [UNSET BIT 0 OF WORD 
9#TL          SMO      FXPM1
9**=          STO   4  POINTER             [CONTAINING POINTER  
9*SW          ADN   2  1
9B#G          LDX   4  1(1)                [TEST IF THE NAME OF 
9BS6          LDX   5  2(1)                [THE GSCAN IS THE
9C?Q    SC10  TXU   4  0(2)                [SAME AS THE NAME OF 
9CRB          TXU   5  1(2)                [THE GSCANEQU MACRO  
9D?2          BCC      SC9                 [BRANCH FORWARD IF IT IS 
9DQL          ADN   2  2
9F==          SMO      FXPM1
9FPW          TXU   2  POINTER             [END OF GSCANEQU RECORD  
9G9G          BCC      SC4                 [AND BRANCH IF IT HAS
9GP6          BRN      SC10 
9H8Q    SC9   SMO      FXPM1
9HNB          LDX   2  POINTER  
9J82          LDX   4  0(2)                [IF NEXT MACRO IS A GSCANDEF 
9JML ...      BPZ   4  SC11A               [BRANCH TO PRINT OUT GSCAN RECORD
9K7=          LDCT  5  #400                [OTHERWISE CLEAR BIT 0   
9KLW          ERX   4  5                   [AND GET NEXT
9L6G          ADX   4  FXPM1
9LL6          SMO      FXPM1
9M5Q          STO   4  POINTER             [RECORD IN TABLE 
9MKB          BRN      SC9  
9N52    XDINPRIN                           [BASE ADDRESS FOR INPRIN 
9NJL    )   
9P4=    )   
9PHW    #END
^^^^ ...600212700006