PMOBJIII860

(George Source)

Macros used: ADDRESS, FIXTRA, ILLEGAL, MASK, PMCORES, PMESSAGE, PMOVE, SEGENTRY

PMOBJIII860.txt
22FL ...#SKI  G3
22^= ...(   
23DW ...#OPT  K0PMOBJIII=0  
23YG ...#LIS  K0PMOBJIII>K0POST>K0ALLGEO
24D6 ...#   
24XQ ...#SEG  PMOBJIII84                   [KAREL KOSKUBA - DIAG
25CB ...#   
25X2 ...#     THIS SEGMENT LISTS THE OBJECT PROGRAMS IN A G3 POSTMORTEM 
26BL ...#   
26W= ...               8HPMOBJIII   
27*W ...#   
27TG ...#     ENTRY POINT TABLE 
28*6 ...#   
28SQ ... SEGENTRY K1PMOBJIII,XK1PMOBJIII
29#B ...#   
29S2 ...#OPT  JOBJ=128  
2=?L ...#OPT  JXOBJPROG=32  
2=R= ...#OPT  JCA=9 
2?=W ...      FIXTRA   JJOBJ
2?QG ...ZJOBJ          +JOBJ               [SIZE OF INITIAL PRINT   
2#=6 ...ZOBJ           +JXOBJPROG          [SIZE OF AREA AROUND [WORD 8]
2#PQ ...ZJCA           +JCA                [SIZE OF CONTROL AREA
2*9B ...MESSA          15HOBJECT PROGRAMS   
2*P2 ...MESSB          22HOPERAND OF SMO ILLEGAL
2B8L ...MESSC          29HAREA AROUND ADDRESS IN WORD 8 
2BN= ...MESSD          35HCONTROL AREA OF OBJECT PROGRAM PERI   
2C7W ...MESSE          7H  A1D  
2CMG ...MESSF          7H  A1D+8
2D76 ...MESSG          26HCONTENTS OF WORD 8 ILLEGAL
2DLQ ...MESSH          23HOPERAND OF PERI ILLEGAL   
2DQM ...#UNS CA1D   
2DWJ ...#SKI
2F2F ...(   
2F6B ...XA1D           +A1D 
2FL2 ...XA1D8          +A1D+8   
2FTS ...)   
2G5L ...REDTAPEPTR      +0                    [ POINTER TO REDTAPE  
2GK= ...PTR       +0              [ POINTER TO PROGTAB  
2H4W ...SEGEND         +OPMOBJIII   
2HJG ...OBJPROG        +AOBJPROG/#100   
2J46 ...XBAT           +BAT/#100
2JHQ ...OBRES          +AOBRES/#100 
2K3B ...XACT           #60  
2KH2 ...MASK           #17777777
2L2L ...UPARROWS       4H^^^^   
2LG= ...XA1            +A1  
2L^W ...X0STORE        +0                  [ STOREAGE FOR X0
2MFG ...XLINK2         +0   
2M^6 ...XLINK7         +0   
2NDQ ...OPERAND        +0                  [USED WHEN INVESTIGATING 'PERI'  
2NYB ...WORD8          +0                  [ADDR. HELD IN PROGRAM'S WORD 8  
2PD2 ...XCOUNT         +0                  [NO. OF WORDS TO BE PRINTED  
2PXL ...PREVIOUS       +0                  [CONTENTS OF LAST WORD PRINTED   
2QC= ...RELADD         +0                  [RELATIVE ADDR. IN AOBJPROG BLOCK
2QWW ...XLIMIT         +0   
2RBG ...START          +0                  [HOLDS START ADDRESS OF CHAIN
2RW6 ...ZADD           +0                  [HOLDS ADDR. OF CURRENT BLOCK
2S*Q ...XBACKPR        +0                  [LAST BLOCK ADDRESS: USED IN SEARCH  
2STB ...REL            +0                  [NON-ZERO IF OBJ. PROG. ADDR. NEEDED 
2T*2 ...XIND           +0                  [-VE BLANKET ENCOUNTERED 
2TSL ...                                   [=1  BACKWARD CHAINING   
2W#= ...               +0                  [-VE DON'T PRINT AREA AROUND WORD 8  
2WRW ...                                   [=1  FIRST WORD OF AREA  
2X?G ...      FIXTRA   JPROGTAB 
2XR6 ...#REP  4 
2Y=Q ...               +0   
2YQB ...WHICHWAY
2^=2 ...      LDN   3  SEARCH(1)           [FORWARDS
2^PL ...      LDN   3  SEARCHB(1)          [BACKWARDS   
329= ...#   
32NW ...#     CODING TO PRINT CONTENTS OF REDTAPE IN FOUR POSSIBLE FORMATS  
338G ...#   
33N6 ...OCT   CALL  7  (JOCT)                [OCTAL 
347Q ...      BRN      OBJ14
34MB ...RCHAR CALL  7  (JUP)
3572 ...               +5   
35LL ...      CALL  7  (JCHA)                [CHARACTER 
366= ...      BRN      OBJ14
36KW ...RDECS CALL  7  (JUP)
375G ...               +1   
37K6 ...      CALL  7  (JDECS)               [SIGNED DECIMAL INTEGER
384Q ...      BRN      OBJ14
38JB ...RDECP CALL  7  (JDECP)               [DECIMAL WITH CHARACTER POSITION   
3942 ...      BRN      OBJ14
39HL ...RTNS  BRN      OCT  
3=3= ...      BRN      RCHAR
3=GW ...      BRN      RDECS
3?2G ...      BRN      RDECP
3?G6 ...#   
3?^Q ...#     ROUTINE TO GET ADDRESS OF NEXT BLOCK IN CHAIN 
3#FB ...#              SEARCH :-FORWARD CHAINING
3#^2 ...#              SEARCHB:-BACKWARD CHAINING   
3*DL ...#   
3*Y= ...#     ENTRY    X2=ADDRESS OF CURRENT BLOCK  
3BCW ...#     EXIT  0  1
3BXG ...#              X2=X3=ADDRESS OF NEXT BLOCK  
3CC6 ...#     EXIT  0  0                   [BREAK IN CHAIN  
3CWQ ...#   
3DBB ...SEARCH  
3DW2 ...      LDX   3  BPTR(2)  
3F*L ...      TXU   3  XBACKPR(1)          [J IF BPTR IN CURRENT
3FT= ...      BCS      S1                  [BLOCK IS INCORRECT  
3G#W ...      LDX   3  FPTR(2)             [GET ADDRESS OF NEXT BLOCK   
3GSG ...S2    STO   2  XBACKPR(1)          [STORE ADDRESS OF CURRENT BLOCK  
3H#6 ... PMCORES 3,S1   
3HRQ ...      LDX   2  3
3J?B ...      EXIT  0  1
3JR2 ...S1    EXIT  0  0                   [BREAK IN CHAIN  
3K=L ...SEARCHB 
3KQ= ...      LDX   3  FPTR(2)  
3L9W ...      TXU   3  XBACKPR(1)          [J IF FPTR OF CURRENT
3LPG ...      BCS      S1                  [BLOCK IS INCORRECT  
3M96 ...      LDX   3  BPTR(2)             [GET ADDRESS OF NEXT BLOCK   
3MNQ ...      BRN      S2   
3N8B ...#   
3NN2 ...#     ROUTINE TO FIND OUT IF AN INSTRUCTION IS A 'SMO' OR A 'PERI'  
3P7L ...#     AND IF SO CALCULATE THE VALUE OF N(M) FOR THAT INSTRUCTION
3PM= ...#     ENTRY    X4 CONTAINS ADDRESS OF INSTRUCTION   
3Q6W ...#     EXIT  7  0                   [NEITHER INSTRUCTION FOUND   
3QLG ...#     EXIT  7  1                   ['PERI'  
3R66 ...#     EXIT  7  2                   ['SMO'   
3RKQ ...#              X5=VALUE OF N(M) 
3S5B ...#              X2,X3 UNDEFINED  
3SK2 ...#   
3T4L ...OMSIREP 
3TJ= ...      SMO      4
3W3W ...      LDX   2  0                   [GET INSTRUCTION 
3WHG ...      SRL   23 14                  [X AND F IN X2   
3X36 ...      SRL   3  10                  [N(M) IN X3  
3XGQ ...      LDN   5  0
3Y2B ...      DSA   3  5                   [SAVE OPERAND
3YG2 ...      SRL   3  12                  [M IN X3 
3Y^L ...      BZE   3  OM                  [J IF NO MODIFIER
3^38 ...#UNS CA1D   
3^4Q ...(   
3^6# ...      ADX   3  CA1D                [GET CONTENTS OF MODIFIER
3^7W ...      SMO      ZADD(1)             [AND ADD TO OPERAND  
3^9D ...      ADX   5  0(3) 
3^?2 ...)   
3^#J ...#UNS CA1D   
3^B6 ...#SKI
3^CN ...(   
3^F= ...      SMO      ZADD(1)             [GET CONTENTS OF MODIFIER
3^YW ...      ADX   5  A1D(3)              [AND ADD TO OPERAND  
428N ...)   
42DG ...OM    ANDN  2  #177                [F IN X2 
42Y6 ...      SBN   2  #117 
43CQ ...      BZE   2  OM1                 [J IF 'SMO'  
43XB ...      SBN   2  #040 
44C2 ...      BZE   2  OM2                 [J IF 'PERI' 
44WL ...      EXIT  7  0                   [NEITHER 
45B= ...OM2   EXIT  7  1                   ['PERI'  
45TW ...OM1   ADX   5  ZADD(1)  
45^2 ...#UNS CA1D   
4646 ...      ADX   5  CA1D                [GEORGE ADDR. OF N(M) OF 'SMO'   
467= ...#UNS CA1D   
46=B ...#SKI
46*G ...      ADN   5  A1D                 [GEORGE ADDR. OF N(M) OF 'SMO/   
46T6 ...      SMO      5
47#Q ...      LDX   5  0                   [CONTENTS OF N(M) OF 'SMO'   
47SB ...      EXIT  7  2                   ['SMO'   
48#2 ...#   
48RL ...#     ROUTINE TO GIVE A CORE PRINT GIVEN A START ADDRESS AND COUNT  
49?= ...#     IT ALSO CHECKS FOR THE ADDRESSES 'A1D' AND 'A1D+8'
49QW ...#     IF TWO OR MORE ADJACENT WORDS ARE FOUND THE SAME,THE FIRST
4==G ...#     IS PRINTED FOLLOWED BY A BLANK LINE AND NO MORE WORDS ARE 
4=Q6 ...#     PRINTED UNTIL AN UNLIKE WORD IS FOUND 
4?9Q ...#     ENTRY    RELADD CONTAINS START ADDRESS RELATIVE TO START OF BLOCK 
4?PB ...#              XCOUNT CONTAINS COUNT
4#92 ...#     EXIT     X2 UNCHANGED ALL OTHER ACCS UNDEFINED
4#NL ...#   
4*8= ...PROBJ   
4*MW ...      STO   7  XLINK7(1)
4B7G ...      STO   2  XLINK2(1)
4BM6 ...      LDN   4  1
4C6Q ...      ADS   4  XIND+1(1)           [SET FIRST WORD INDICATOR
4CLB ...      LDX   0  RELADD(1)
4D62 ...PR7   LDX   7  XCOUNT(1)
4DKL ...      BNZ   7  PR3                 [J IF MORE TO PRINT  
4F5= ...      LDX   2  XLINK2(1)
4FJW ...      STO   0  RELADD(1)
4G4G ...      LDX   7  XLINK7(1)
4GJ6 ...      EXIT  7  0                 [ EXIT 
4H3Q ...PR3   LDN   4  1
4HHB ...      SBS   4  XCOUNT(1)
4J32 ...      LDN   7  PR2(1)   
4J66 ...#UNS CA1D   
4J9= ...ZA1D  TXU   0  CA1D 
4J#B ...#UNS CA1D   
4JCG ...#SKI
4JGL ...ZA1D  TXU   0  XA1D(1)  
4K2= ...      BCS      PR                  [J IF NOT 'A1D'  
4KFW ...      LDN   6  MESSE(1)            ['A1D' CHARACTERS
4K^G ...      STO   6  REL(1)              [SET OBJ. PROG. ADDR. INDICATOR  
4LF6 ...      BRN      PR1  
4LH4 ...#UNS CA1D   
4LK2 ...(   
4LLY ...PR    SMO      CA1D 
4LNW ...      TXU   0  8
4LQS ...)   
4LSQ ...#UNS CA1D   
4LWN ...#SKI
4LYQ ...PR    TXU   0  XA1D8(1) 
4MDB ...      BCS      (7)                 [J IF NOT 'A1D+8'
4MY2 ...      LDN   6  MESSF(1)            ['A1D+8' CHARACTERS  
4NCL ...PR1   ADS   4  JPMOD
4NX= ...      LDX   7  JPMOD
4PBW ...      MVCH  6  7                   [MOVE CHARACTERS INTO BUFFER 
4PWG ...      STO   7  JPMOD
4QB6 ...      SMO      1
4QTQ ...      LDCH  6  XIND+1   
4R*B ...      SMO      1
4RT2 ...      SBS   6  XIND+1              [IF SET UNSET FIRST WORD INDICATOR   
4S#L ...      BRN      PR8  
4SS= ...PR2   SMO      1
4T?W ...      LDCH  6  XIND+1   
4TRG ...      SMO      1
4W?6 ...      SBS   6  XIND+1   
4WQQ ...      BNZ   6  PR5                 [J IF FIRST WORD INDICATOR SET   
4X=B ...      LDX   6  XCOUNT(1)
4XQ2 ...      BZE   6  PR5                 [J IF LAST WORD OF AREA  
4Y9L ...      ADS   0  ZADD(1)  
4YP= ...      SMO      ZADD(1)  
4^8W ...      LDX   6  0                 [ CONTENTS OF WORD 
4^NG ...      SBS   0  ZADD(1)  
5286 ...      TXU   6  PREVIOUS(1)  
52MQ ...      BCC      PR6                 [J IF CONTENTS=[PREVIOUS]
537B ...PR5   ADS   4  JPMOD
53M2 ...      LDX   5  0
546L ...      LDX   6  REL(1)   
54L= ...      BZE   6  PR9                 [J IF NORT OBJ. PROG. ADDRESS
54PB ...#UNS CA1D   
54SG ...      SBX   5  CA1D 
54XL ...#UNS CA1D   
552Q ...#SKI
555W ...      SBN   5  A1D  
55KG ...PR9   CALL  7  (JDECN)  
5656 ...PR8   ADS   4  JPMOD
56JQ ...      ADS   0  ZADD(1)  
574B ...      SMO      ZADD(1)  
57J2 ...      LDX   5  0                 [ GET CONTENTS 
583L ...      SBS   0  ZADD(1)  
58H= ...      STO   5  PREVIOUS(1)  
592W ...      ADN   0  1
59GG ...      STO   0  X0STORE(1)   
5=26 ...      CALL  7  (JCON4)               [CONVERT CONTENTS  
5=FQ ...      CALL  7  (JPRINT1)             [PRINT A LINE  
5=^B ...      LDX   0  X0STORE(1)   
5?F2 ...      BRN      PR7  
5?YL ...PR6   CALL  7  (JPRINT1)             [THROW A LINE  
5#D= ...PR4   LDX   6  XCOUNT(1)
5#XW ...      BZE   6  PR5                 [J IF LAST WORD OF AREA  
5*CG ...      SBS   4  XCOUNT(1)
5*X6 ...      ADN   0  1                   [UPDATE ADDRESS  
5BBQ ...      CALL  7  ZA1D                [TEST IF 'A1D' OR 'A1D+8'
5BWB ...      ADS   0  ZADD(1)  
5CB2 ...      SMO      ZADD(1)  
5CTL ...      LDX   5  0                 [ GET NEXT WORD
5D*= ...      SBS   0  ZADD(1)  
5DSW ...      TXU   5  PREVIOUS(1)  
5F#G ...      BCC      PR4                 [J IF SAME AS LAST WORD  
5FS6 ...      BRN      PR5  
5G?Q ...#   
5GRB ...#   
5H?2 ...#     ENTRY POINT FOR THE SEGMENT   
5HQL ...#   
5J== ...#   
5JPW ...XK1PMOBJIII 
5K9G ...      LDX   1  FXPM1
5KP6 ...      ADS   1  SEGEND(1)
5L8Q ...      PMOVE    PMINPRIN,SEGEND(1)       [ READ DOWN PMINPRIN
5LNB ...      LDX   1  FXPM1
5M82 ... PMESSAGE MESSA(1),4                  ['OBJECT PROGRAMS'
5MML ...      LDX   2  FX2                 [LOAD FX2 AS START OF SEARCH 
5N7= ...      ANDX  2  MASK(1)  
5NLW ...      BZE   2  OBJ                 [J IF FX2 INVALID
5P6G ... PMCORES 2,OBJ                     [  ''  ''    ''  
5PL6 ...      STO   2  START(1)            [STORE [FX2] AS START
5Q5Q ...      LDX   4  BPTR(2)  
5QKB ...      STO   4  XBACKPR(1)   
5R52 ...OBJ5  STO   2  ZADD(1)             [CURRENT BLOCK ADDRESS   
5RJL ...      LDCH  4  ATYPE(2) 
5S4= ...      TXU   4  OBJPROG(1)   
5SHW ...      BCC      OBJ2                [J IF AOBJPROG BLOCK 
5T3G ...      TXU   4  XBAT(1)  
5TH6 ...      BCC      OBJ3                [J IF BLANKET
5W2Q ...#   
5WGB ...#     GET NEXT BLOCK AND CHECK FOR BREAKS IN AND END OF CHAIN   
5X22 ...#   
5XFL ...OBJ6  LDX   2  ZADD(1)             [ADDR. OF CURRENT BLOCK  
5X^= ...OBJ10 SMO      XIND(1)             [INDICATES DIRECTION OF SEARCH   
5YDW ...      OBEY     WHICHWAY(1)  
5YYG ...      CALL  0  (3)                 [GET NEXT BLOCK  
5^D6 ...      BRN      OBJ4                [J IF BREAK IN CHAIN 
5^XQ ...      TXU   2  START(1) 
62CB ...      BCS      OBJ5                [J IF NOT END OF CHAIN   
62X2 ...OBJ9  LDXC  4  XIND(1)  
63BL ...      BCS      (JPMSEG)            [J IF BLANKET INDICATOR SET  
63W= ...      STOZ     XIND(1)             [UNSET BACKWARD CHAINING, IF SET 
64*W ...#   
64TG ...#     BLANKET START OF CHAIN OR ENCOUNTERED 
65*6 ...#   
65SQ ...OBJ   LDN   2  BACT                [LOAD BLANKET
66#B ...      STO   2  START(1)            [AS START OF SEARCH  
66S2 ...      LDX   4  BPTR(2)  
67?L ...      STO   4  XBACKPR(1)   
67R= ...      BRN      OBJ8 
68=W ...OBJ3  LDXC  4  XIND(1)  
68QG ...      BCS      (JPMSEG)            [J IF BLANKET INDICATOR SET  
69=6 ...OBJ8  LDCT  4  #400 
69PQ ...      ADS   4  XIND(1)             [SET BLANKET INDICATOR   
6=9B ...      BRN      OBJ10               [J TO GET NEXT BLOCK 
6=P2 ...#   
6?8L ...#     BREAK IN CHAIN FOUND  
6?N= ...#   
6#7W ...OBJ4  LDXC  4  XIND(1)  
6#MG ...      BNZ   4  OBJ9                [J IF ALREADY BACKWARD CHAINING  
6*76 ...      LDN   4  1                   [OTHERWISE SET   
6*LQ ...      ADS   4  XIND(1)             [BACKWARD CHAINING INDICATOR 
6B6B ...      LDX   2  START(1) 
6BL2 ...      LDX   4  FPTR(2)  
6C5L ...      STO   4  XBACKPR(1)   
6CK= ...      BRN      OBJ10
6D4W ...#   
6DJG ...#     AOBJPROG BLOCK FOUND. FIRST PRINT OUT THE RED TAPE WORDS  
6F46 ...#     AND THEN THE VARIOUS AREAS OF THE PROGRAM 
6FHQ ...#   
6G3B ...OBJ2  CALL  7  (JPRINT2)             [THROW A COUPLE OF LINES   
6GH2 ...      STOZ     WORD8(1) 
6H2L ...      STOZ     XIND+1(1)           [UNSET APET INDICATOR
6HG= ...      STOZ     REL(1)   
6H^W ...      LDN   4  REDTAPE+2(1)        [REDTAPE IDENTIFIER TABLE
6JFG ...      STO   4  REDTAPEPTR(1)
6J^6 ...      NGN   4  1
6KDQ ...OBJ14 CALL  7  (JPRINT1)             [PRINT A LINE  
6KYB ...      ADN   4  1
6LD2 ...      STO   4  RELADD(1)
6LXL ...      TXL   4  XA1(1)   
6MC= ...      BCC      OBJ11               [J IF NOT REDTAPE
6MWW ...      LDN   5  1
6NBG ...      ADS   5  JPMOD
6NW6 ...      BZE   4  OBJ12               [J IF FPTR   
6P*Q ...      SMO      REDTAPEPTR(1)
6PTB ...      LDX   5  0
6Q*2 ...      TXU   5  UPARROWS(1)  
6QSL ...      BCC      OBJ13               [J IF END OF REDTAPE TABLE   
6R#= ...      BZE   5  OBJ17               [J IF NO MNEMONICS   
6RRW ...      LDX  5   REDTAPEPTR(1)
6S?G ...      CALL  7  (JUP)
6SR6 ...               +2   
6T=Q ...      MVCH  5  5                   [MOVE MNEMONICS INTO BUFFER  
6TQB ...      STO   6  JPMOD
6W=2 ...OBJ35 LDN   3  2
6WPL ...      ADS   3  REDTAPEPTR(1)
6X9= ...      SMO      5
6XNW ...      LDCH  3  0                   [GET PRINT FORMAT CHARACTER  
6Y8G ...OBJ15 LDN   6  1
6YN6 ...      ADS   6  JPMOD
6^7Q ...      SMO      RELADD(1)
6^MB ...      LDX   5  0(2)                [GET CONTENTS IN ORDER TO CONVERT
7272 ...      SMO      3
72LL ...      BRN      RTNS                [GET CORRECT CONVERSION ROUTINES 
736= ...OBJ12 LDN   5  FPTR(2)             [ADDRESS OF FORWARD POINTER  
73KW ...      CALL  7  (JDECN)               [PUT ADDRESS INTO LP BUFFER
745G ...      LDN   3  3                   [PRINT FORMAT FOR FPTR   
74K6 ...      BRN      OBJ15
754Q ...OBJ13 LDX   5  RELADD(1)
75JB ...      CALL  7  (JDECN)               [RELATIVE ADDRESS OF WORD  
7642 ...      LDN   3  0                   [OCTAL PRINT FORMAT  
76HL ...      BRN      OBJ15
773= ...OBJ17 LDX   5  RELADD(1)
77GW ...      CALL  7  (JDECN)               [RELATIVE ADDRESS OF WORD  
782G ...      SMO      REDTAPEPTR(1)
78G6 ...      LDN   5  1
78^Q ...      BRN      OBJ35
79FB ...#   
79^2 ...#     FIND OUT THE SIZE OF THE PROGRAM AND PRINT
7=DL ...#     OUT THE FIRST PART OF IT  
7=Y= ...#   
7?CW ...OBJ11 LDX   5  ALOGLEN(2)   
7?XG ...      ANDX  5  MASK(1)  
7#C6 ...      ADX   5  2
7#WQ ... PMCORES 5,,OBJ18                  [J IF ALOGLEN IS VALID   
7*BB ...      LDX   5  ASIZE(2) 
7*W2 ...      ANDX  5  MASK(1)  
7B*L ...      ADX   5  2
7BT= ... PMCORES 5,,OBJ20                  [J IF ASIZE IS VALID 
7C#W ...      LDCT  4  #400 
7CSG ...      STO   4  XIND+1(1)           [SET WORD 8 INDICATOR
7D#6 ...      BRN      OBJ21
7DRQ ...OBJ20 SBN   5  A1   
7F?B ...OBJ18 SBX   5  2
7FR2 ...      LDX   6  5
7FSY ...#UNS CA1D   
7FWW ...(   
7FYS ...      SBX   5  CA1D                [GET AND STORE   
7G2Q ...      ADN   5  A1   
7G4N ...)   
7G6L ...#UNS CA1D   
7G8J ...#SKI
7G=L ...      SBN   5  A1D-A1              [GET AND STORE   
7GQ= ...      STO   5  XLIMIT(1)           [PROGRAM SIZE
7H9W ...      LDX   7  XBACKPR(1)          [SAVE XBACKPR
7HPG ...      STO   2  XLINK2(1)
7J96 ...      LDN   5  JPROGTAB-1(1)
7JNQ ...      STO   5  PTR(1)   
7K8B ...      SMO      PTR(1)   
7KN2 ...      LDX   5  1
7L7L ...      BZE   5  OBJ36               [J IF PMOBJ MACRO NOT USED   
7LM= ...OBJ37 CALL  0  SEARCH              [SEARCH FOR REQUEST SLIP BLOCK   
7M6W ...      BRN      OBJ36               [GIVE UP IF CHAIN BREAK  
7MLG ...      LDCH  0  ATYPE(2) 
7N66 ...      TXL   0  XACT(1)  
7NKQ ...      BCC      OBJ36               [GIVE UP IF ACTIVITY BLOCK FOUND 
7P5B ...      TXU   0  OBRES(1) 
7PK2 ...      BCS      OBJ37               [J IF NOT REQUEST BLOCK  
7Q4L ...OBJ38 TXU   5  A1+1(2)  
7QJ= ...      BCC      OBJ39               [J IF PROGRAM NAMES MATCH
7R3W ...      LDN   5  1
7RHG ...      ADS   5  PTR(1)   
7S36 ...      SMO      PTR(1)   
7SGQ ...      LDX   5  0
7T2B ...      BNZ   5  OBJ38               [J IF NOT END OF LIST
7TG2 ...OBJ36 TXL   6  ZJOBJ(1) 
7T^L ...      BCC      OBJ21               [J IF PROGRAM SIZE>DEFAULT   
7WF= ...OBJ39 LDCT  4  #400 
7WYW ...      STO   4  XIND+1(1)           [SET WORD 8 INDICATOR
7XDG ...      BRN      OBJ22
7XY6 ...OBJ21 LDX   6  ZJOBJ(1)            [LOAD DEFAULT VALUE  
7YCQ ...      LDX   5  6
7YXB ...      ADN   5  A1(2)               [GEORGE ADDRESS OF PRINT END 
7^C2 ... PMCORES 5,,OBJ22                  [J IF WITHIN GEORGE  
7^WL ...      LDN   6  128  
82B= ...OBJ22 STO   6  XCOUNT(1)           [LENGTH OF PRINT 
82TW ...      STO   7  XBACKPR(1)          [RESET XBACKPR   
83*G ...      LDX   2  XLINK2(1)
83T6 ...      CALL  7  PROBJ               [PRINT AREA  
84#Q ...      LDX   4  XIND+1(1)
84SB ...      STOZ     XIND+1(1)           [IF SET UNSET WORD 8 INDICATOR   
85#2 ...      BNG   4  OBJ6                [J TO GET NEXT BLOCK 
85RL ...#   
86?= ...#     THIS NEXT BIT OF CODING CALCULATES THE AREA AROUND
86QW ...#     THE ADDRESS IN WORD 8 AND THEN PRINTS IT OUT  
87=G ...#   
87#D ...#UNS CA1D   
87BB ...(   
87D# ...      SMO      CA1D                [CONTENTS OF PROGRAMS WORD 8 
87G= ...      LDX   5  8(2) 
87J8 ...)   
87L6 ...#UNS CA1D   
87N4 ...#SKI
87Q6 ...      LDX   5  A1D+8(2)            [CONTENTS OF PROGRAM'S WORD 8
889Q ...      ANDX  5  MASK(1)  
88PB ...      TXL   5  XLIMIT(1)
8992 ...      BCS      OBJ28               [J IF ADDRESS INSIDE PROGRAM 
89NL ... PMESSAGE MESSG(1),7
8=8= ...      BRN      OBJ6                [J TO GET NEXT BLOCK 
8=MW ...OBJ28 STO   5  WORD8(1) 
8?7G ...      STO   5  REL(1)              [SET OBJ. PTOG. ADDR. IND.   
8?M6 ...      LDX   7  RELADD(1)
8?Q= ...#UNS CA1D   
8?TB ...      SBX   7  CA1D 
8?YG ...#UNS CA1D   
8#3L ...#SKI
8#6Q ...      SBN   7  A1D  
8#LB ...      BPZ   7  OBJ1                [IF ADDR. -VE
8*62 ...      LDN   7  0                   [SET=0   
8*KL ...OBJ1  LDX   6  5
8B5= ...      SBX   5  ZOBJ(1)             [START OF AREA   
8BJW ...      ADX   6  ZOBJ(1)             [END OF AREA 
8C4G ...      ADN   6  1
8CJ6 ...      TXL   6  7
8D3Q ...      BCS      OBJ23               [J IF AREA ALREADY PRINTED   
8DHB ...      BNG   5  OBJ24               [J IF START ADDRESS -VE  
8F32 ...      TXL   5  7
8FGL ...      BCC      OBJ25               [J IF START OUTSIDE PRINTED AREA 
8G2= ...OBJ24 LDX   5  7                   [RESET START ADDRSS  
8GFW ...OBJ25 TXL   6  XLIMIT(1)
8G^G ...      BCS      OBJ26               [J IF END INSIDE PROGRAM 
8HF6 ...      LDX   6  XLIMIT(1)           [RESET END ADDRESS   
8HYQ ...OBJ26 SBX   6  5
8JDB ...      STO   6  XCOUNT(1)           [STORE COUNT 
8JHG ...#UNS CA1D   
8JLL ...      ADX   5  CA1D 
8JPQ ...#UNS CA1D   
8JSW ...#SKI
8JY2 ...      ADN   5  A1D  
8KCL ...      STO   5  RELADD(1)           [STORE START ADDRESS 
8KX= ... PMESSAGE MESSC(1),8
8LBW ...      CALL  7  (JPRINT1)             [THROW A LINE  
8LWG ...      CALL  7  PROBJ               [PRINT OUT AREA  
8MB6 ...#   
8MTQ ...#     CHECK IF LAST INSTRUCTION WAS A 'PERI' AND
8N*B ...#     AND IF SO PRINT OUT ITS CONTROL AREA  
8NT2 ...#   
8P#L ...OBJ23 LDX   4  WORD8(1) 
8PS= ...      BZE   4  OBJ6                [J TO GET NEXT BLOCK 
8PW8 ...#UNS CA1D   
8PY6 ...(   
8Q24 ...      ADN   4  0(2) 
8Q42 ...      ADX   4  CA1D 
8Q5Y ...)   
8Q7W ...#UNS CA1D   
8Q9S ...#SKI
8Q?W ...      ADN   4  A1D(2)   
8QRG ...      STOZ     OPERAND(1)   
8R?6 ...      LDN   0  0                   [=0 MEANS CHECKING [WORD8]-1 
8RQQ ...                                   [=1  ''      ''    [WORD8]   
8S=B ...      SBN   4  1
8SQ2 ...OBJ33 CALL  7  OMSIREP  
8T9L ...      BRN      OBJ32               [J IF NEITHER
8TP= ...      BRN      OBJ27               [J IF 'PERI' 
8W8W ...      TXL   5  XLIMIT(1)
8WNG ...      BCC      OBJ34               [J IF OPERAND OF 'SMO' ILLEGAL   
8X86 ...      STO   5  OPERAND(1)          [SAVE N(M) OF 'SMO'  
8XMQ ...OBJ32 BNZ   0  OBJ6                [J IF BOTH CASES TESTED  
8Y7B ...      LDN   0  1                   [SET X0 FOR SECOND CASE  
8YM2 ...      ADN   4  1
8^6L ...      BRN      OBJ33
8^L= ...OBJ27 ADS   5  OPERAND(1)          [SAVE N(M) OF 'PERI' 
925W ...      BNZ   0  OBJ29               [J IF SECOND CASE
92KG ...      SBN   4  1
9356 ...      CALL  7  OMSIREP  
93JQ ...      BRN      OBJ29               [J IF NEITHER
944B ...      BRN      OBJ29               [J IF 'PERI' 
94J2 ...      TXL   5  XLIMIT(1)
953L ...      BCC      OBJ34               [J IF PERAND OF 'SMO' ILLEGAL
95H= ...      ADS   5  OPERAND(1)          [ADD N(M) OF 'SMO' TO N(M) OF 'PERI' 
962W ...OBJ29 LDX   5  OPERAND(1)   
96GG ...      TXL   5  XLIMIT(1)
9726 ...      BCC      OBJ31               [J IF OPERAND OUTSIDE PROGRAM
975= ...#UNS CA1D   
978B ...      ADX   5  CA1D 
97?G ...#UNS CA1D   
97BL ...#SKI
97FQ ...      ADN   5  A1D  
97^B ...      STO   5  RELADD(1)           [STORE START ADDRESS 
98F2 ...      LDX   6  ZJCA(1)             [COUNT FOR CONTROL AREA  
98YL ...      STO   6  XCOUNT(1)
99D= ... PMESSAGE MESSD(1),9
99XW ...      CALL  7  (JPRINT1)             [THROW A LINE  
9=CG ...      CALL  7  PROBJ               [PRINT OUT CONTROL AREA  
9=X6 ...      BRN      OBJ6                [J TO GET NEXT BLOCK 
9?BQ ...OBJ31   
9?WB ... PMESSAGE MESSH(1),6
9#B2 ...      BRN      OBJ6                [J TO GET NEXT BLOCK 
9#TL ...OBJ34   
9**= ... PMESSAGE MESSB(1),6
9*SW ...      BRN      OBJ6                [J TO GET NEXT BLOCK 
9B#G ...#   
9BS6 ...REDTAPE 
9BXP ...               8H00000000   
9C3# ...               8HBPTR   3   
9C6X ...               8HASIZE  3   
9C=G ...               8HAFLAG  0   
9CB5 ...               8HATYPE  0   
9CFN ...               8HBACK1  3   
9CK? ...               8HBACK2  0   
9CNW ...               8HALOGL  3   
9CSF ...               8HARGNO  0   
9CY4 ...               4H^^^^   
9D3M ...#   
9D7= ...#   
9D?2 ...OPMOBJIII   
9DQL ...#   
9F== ...#END
9FPW ...)   
9G9G ...#SKI  G3
^^^^ ...74275451001800000000