{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PMOBJIII860)}}
====== PMOBJIII860 ======
(George Source)
**Macros used:** [[george:macro:ADDRESS|ADDRESS]], [[george:macro:FIXTRA|FIXTRA]], [[george:macro:ILLEGAL|ILLEGAL]], [[george:macro:MASK|MASK]], [[george:macro:PMCORES|PMCORES]], [[george:macro:PMESSAGE|PMESSAGE]], [[george:macro:PMOVE|PMOVE]], [[george:macro:SEGENTRY|SEGENTRY]]
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