{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PMACS)}} ====== PMACS ====== (George Source) 22FL # 22^= # 23DW # THIS SUBFILE CONTAINS THE POST-MORTEM MACROS 23YG # AND IS OWNED BY M.C.D. MANN 24D6 # 24XQ # 25CB [??? MOVX SECT DIAG FGN 104 DOC 25X2 #MAC MOVX [M.C.D. MANN 26BL [ 26W= [ 27*W [ ********** 27TG [ * MOVX * 28*6 [ ********** 28SQ [ 29#B [ 2B8L LDX 3 6 2BN= LDX 4 7 2C7W LDX 2 %A [ GET TRANSFER LENGTH 2CMG MXY TXL 2 X512(1) 2D76 BCS MXX [ OK TO MOVE IN 1 GO -> XX 2DLQ MOVE 3 0 [ MOVE 512 WORDS 2F6B SBN 2 512 [ UPDATE COUNT 2FL2 ADN 3 512 [ FROM 2G5L ADN 4 512 [ TO 2GK= BZE 2 MXX+1 [ TRANSFER = 512 EXACTLY 2H4W BRN MXY 2HJG MXX MOVE 3 0(2) [ MOVE UNBER 512 WORDS 2J46 #NOR 2JHQ [??? PMBSADD SECT DIAG FGN 104 DOC 2K3B #MAC PMBSADD [M.C.D. MANN 2KH2 [ 2L2L [ 2LG= [ ************* 2L^W [ * PMBSADD * 2MFG [ ************* 2M^6 [ 2NDQ [ 2NYB [ GENERAL B/S TRANSFER MACRO 2PD2 [ FOR UDAS DEVICES 2PXL [ 2QC= [ 2QWW [ %A SWAP OR GEO 2RBG [ %B TRANSFER MODE 2RTD [ %C COUNT 2S#B [ %D START ADDRESS IN CORE 2SR# [ %E UNDATUMISED B/S ADDRESS 2T== [ %F AUTO OR 2TP8 [ %G ERROR LABEL(OPTIONAL) 2W86 [ 2WM4 [ 2X62 #STR AUTO,%F 2XJY #STR 2Y3W ( 2YGS SMO FXPMDR 2Y^Q STOZ INONA 2^DN ) 2^XL #STR AUTO,%F 32BJ ( 32TG LDN 7 1 33#D SMO FXPMDR 33RB STO 7 INONA 34=# ) 34P= #SKI %B 3588 ( 35M6 LDN 7 %B 3664 STO 7 IPMBS 36K2 ) 373Y #SKI %B 37GW #SKI 37^S ( 38DQ STOZ IPMBS 38XN ) 39BL LDX 7 %C 39TJ STO 7 IPMBS+2 3=#G LDX 7 %D 3=RD STO 7 IPMBS+3 3?=B LDX 7 %E 3?P# STO 7 IUBSA 3#8= SMO FXPMDR 3#M8 STOZ IPX 3*66 CALL 0 (JBSADD%A) 3*K4 #STR %G 3B42 BRN %G 3BGY #STR %G 3B^W #SKI 3CDS NULL 3CXQ #NOR 3DBN ...[??? PMSCFREA SECT DIAG FGN 109 DOC 3DTL #MAC PMSCFREAD [M.C.D. MANN 3F#J [ 3FRG [ 3G=D [ *************** 3GPB [ * PMSCFREAD * 3H8# [ *************** 3HM= [ 3J68 [ 3JK6 [ B/S TRANSFER MACRO TO READ 3K44 [ FROM SCF DEVICE 3KH2 [ 3K^Y ...[ %A COUNT 3LDW [ %B START ADDRESS IN CORE 3LXS [ %C UNDATUMISED B/S ADDRESS 3M4R ...[ 3M9Q ...[ THIS MACRO IS USED BY PMACT AND PMCHECK 3MBQ [ 3PPD SMO FXPMDR 3Q94 ... LDX 7 JSCFPTR [SET UP POINTER IN GEOBSPTR 3QNN ... STO 7 GEOBSPTR [TO THE SCF DEVICE LIST 3RK8 LDN 7 6 3S5B ADS 7 BINDEX 3SHQ ... PMBSADD GEO,0,%A,%B,%C [READ FROM THE SCF 3T26 LDN 7 6 3TDG SBS 7 BINDEX 3XNB SMO FXPMDR 3Y82 ... LDX 7 JSCFGEODMP [SET UP POINTER IN GEOBSPTR 3YML ... STO 7 GEOBSPTR [TO THE ICF DEVICE LIST 42BL #NOR 42T2 [??? PMBSNUM SECT DIAG FGN 104 DOC 43?B #MAC PMBSNUM [M.C.D. MANN 43PQ [ 4486 [ 44LG [ ************* 454W [ * PMBSNUM * 45H= [ ************* 45^L [ 46D2 [ 46WB [ GENERAL B/S TRANSFER MACRO 47#Q [ FOR NON-UDAS DEVICES 47R6 [ 489G [ 48MW [ %A START ADDRESS IN CORE 496= [ %B UNDATUMISED BLOCK NUMBER 49JL [ %C ERROR LABEL(OPTIONAL) 4=32 [ 4=FB [ 4=XQ LDX 7 %A 4?B6 STO 7 IPMBS+3 4?SG LDX 7 %B 4#=W STO 7 IUBSA 4#P= LDN 7 1 4*8= SMO FXPMDR 4*MW STO 7 IPX 4B7G CALL 0 (JBSNUM) 4BM6 #STR %C 4C6Q BRN %C 4CLB #STR %C 4D62 #SKI 4DKL NULL 4F5= #NOR 4FJW [??? PMCHAINP SECT DIAG FGN 104 DOC 4G4G #MAC PMCHAINP [M.C.D. MANN 4GJ6 [ 4H3Q [ 4HHB [ ************** 4J32 [ * PMCHAINP * 4JGL [ ************** 4K2= [ 4KFW [ 4K^G [ THIS MACRO CAUSES ENTRY TO CHAIN AND RING PRINTING ROUTINES 4LF6 [ 4LYQ [ %A=NO. OF CHARS. IN %B 4MDB [ %B=CHAIN(RING) HEADING 4MY2 [ %C=BASE ADDR. OF CHAIN(RING) 4NCL [ %D=DISTANCE FROM RING ELEMENT TO START OF BLOCK OR 4NX= [ =X IF DISTANCE HELD IN 3RD WORD OF RING ELEMENT 4PBW [ %E=ADDR. CONTAINING NO. OF WORDS TO BE PRINTED FROM EACH BLOCK OR 4PWG [ =N IF WORD SELECTION REQUIRED[SEE PMVAL MACRO] 4QB6 [ %F=OPTIONAL=1 IF TYPES ETC. TO BE PRINTED 4QTQ [ =2 IF CHAPTER CHAIN BEING PRINTED 4R*B [ %G OPTIONAL 4RT2 [ =4H MNEMONIC USED TO LABEL ROWS 4S#L [ USED FOR CHAINS ONLY 4SS= #SKI CRAB 4T?W ( 4TRG #STR %G 4W?6 ( 4WQQ CALL 2 MNEM 4X=B 4H%G 4XQ2 ) 4Y9L #STR %G 4YP= #SKI 4^8W ( 4^NG CALL 2 MNEM 5286 +0 52MQ ) 537B ) 53M2 [ 546B CALL 2 START 54KQ +%C 5556 #FID 0 7 %A 55JG #STR %F 563W #FID 8 11 %F 56H= %AH%B 572L #STR %D,X 57G2 +%D 57^B #STR %D,X 58DQ #SKI 58Y6 #7777 59CG #STR %E,N 59WW #FID 0 11 %E 5=B= #STR %E,N 5=TL #SKI 5?*2 ( 5?SB #FID 0 0 1 5#?Q #77777777 5#R6 ) 5*=G #DEF 20?=0 [USED BY PMVAL MACRO,IF FOLLOWING 5*PW #NOR 5B9= [??? PMCORES SECT DIAG FGN 104 DOC 5BNL #MAC PMCORES [M.C.D. MANN 5C82 [ 5CMB [ 5D6Q [ ************* 5DL6 [ * PMCORES * 5F5G [ ************* 5FJW [ 5G4= [ 5GHL [ MACRO USED IN PM ROUTINES TO TEST IF A GIVEN ADDRESS 5H32 [ FALLS WITHIN GEORGE'S CORE AREA 5HGB [ %A=ACCUMULATOR CONTAINING ADDRESS 5H^Q [ %B=ADDRESS TO JUMP TO IF ADDRESS IN %A IS OUTSIDE G'S CORE 5JF6 [ %C=ADDRESS TO JUMP TO IF ADDRESS IN %A IS INSIDE G'S CORE 5JYG [ 5KCW TXL %A CORES 5KX= #SKI G4<1$1 5LBL ( 5LW2 #STR %C 5M*B BCS %C 5MSQ #STR %B 5N#6 BCC %B 5NRG ) 5P=W #SKI G4 5PQ= ( 5Q9L #STR %B 5QP2 BCC %B 5R8B #STR %B 5RMQ #SKI 5S76 BCC M 5SLG TXL %A K30+K39 5T5W #STR %C 5TK= BCC %C 5W4L #STR %C 5WJ2 #SKI 5X3B BCC M 5XGQ TXL %A JK402 5Y26 #STR %B 5YFG BCC %B 5YYW #STR %B 5^D= #SKI 5^XL BCC M 62CB TXL %A K30+K402 62WH #STR %C 63*N BCC %C 63ST #STR %C 64#2 #SKI 64R7 BCC M 65=# TXL %A K30+K401 65PF #STR %C 668L BCS %C 66MR #STR %B 676Y BCC %B 67L5 M 685= ) 68JC #NOR 693J [??? PMESSAGE SECT DIAG FGN 104 DOC 69GP #MAC PMESSAGE [M.C.D. MANN 69^W [ 6=F3 [ 6=Y8 [ ************** 6?C* [ * PMESSAGE * 6?WG [ ************** 6#*M [ 6#SS [ 6*?^ [ 6*R6 [ THIS MACRO IS USED BY PMBUFFS TO PRINT OUT ON A LINE PRINTER 6B=? [ EITHER AN ERROR MESSAGE OR A TITLE LINE 6BPD [ %A=ADDRESS OF FIRST WORD OF MESSAGE 6C8K [ %B=NUMBER OF WORDS IN MESSAGE 6CMQ [ %C=SUPLIMENTARY MODIFIER (OPTIONAL) 6D6X [ EXIT X0,X1,X2,X4 UNCHANGED 6DL4 [ 6F59 #STR %C 6FJB SMO %C 6G3H LDN 5 %A 6GGN LDX 6 JPMOD 6H2L BCHX 6 £ 6HFR MOVE 5 %B 6HYY CALL 7 (JPRINT2) 6JD5 #NOR 6JX= [??? PMOVE SECT DIAG FGN 104 DOC 6KBC #MAC PMOVE [M.C.D. MANN 6KTJ [ 6L#P [ 6LRW [ *********** 6M?3 [ * PMOVE * 6MQ8 [ *********** 6N9* [ 6NNG [ 6P7M [ MACRO TO SET UP PARAMETERS FOR, AND ENTER 6PLS [ ROUTINE TO READ DOWN PM OVERLAYS 6Q5^ [ 6QK6 [ OPTIONALLY SEGMENTS CONTAINING CODE MAY BE 6R4? [ IMMEDIATELY ENTERED 6RHD [ 6S2K [ %A = SEGMENT NAME 6SFQ [ 6SYX [ %B = POINTER TO START ADDRESS IN CORE 6TD4 [ 6TX9 [ %C = £ IN K£PM***** 6WBB [ 6WTH [ 6X#N [ %D = FXPM? 6XRT [ 6Y?2 LDX 5 %B 6YQ7 ...#STR %A,PMINPRIN 6^9# #SKI 6^NF STO 5 FXINPRIN 727L #STR %D 72LR STO 5 FXPM%D 735Y LDN 1 J%A 73KW #STR %C 744^ ( 74J4 LDN 7 K%C%A 7537 CALL 6 (JSEGREAD2) 75G= ) 75^* #STR %C 76DD #SKI 76XH CALL 7 (JSEGREAD) 77BL #NOR 77TP [??? PMTRACE SECT DIAG FGN 104 DOC 78#S #MAC PMTRACE [M.C.D. MANN 78RX [ 79?2 [ 79Q5 [ ************* 7=98 [ * PMTRACE * 7=N? [ ************* 7?7B [ 7?LF [ 7#5J [ ALL ACCUMULATORS ARE PRESERVED BY THIS MACRO 7#JM [ 7*3Q [ %A GIVES AN 8H STRING TO BE PRINTED BESIDE THE FIRST 7*GT [ WORD OF THE TRACE 7*^Y [ 7BF3 [ %B GIVES THE UNMODIFIED ADDRESS OF A WORD HOLDING 7BY6 [ THE MODIFIED START ADDRESS OF THE AREA 7CC9 [ TO BE TRACED 7CW# [ 7D*C [ %C GIVES THE UNMODIFIED ADDRESS OF A WORD 7DSG [ HOLDING THE COUNT OF WORDS TO BE TRACED 7F?K [ 7FQN [ %D GIVES THE MODIFIER ACCUMULATOR IN USE BY THIS 7G9R [ SEGMENT, IT CONTAINS THE CORE ADDRESS OF THE BASE 7GNW [ OF THIS SEGMENT 7H7^ [ 7HM4 [ 7J67 [ ON FIRST CALL TO THIS MACRO INSIDE A SEGMENT, 7JK= [ A SUBROUTINE IS GENERATED. 7K4* [ 7KHD [ ON EVERY CALL TO THIS MACRO, CALLS TO THIS SUBROUTINE ARE 7L2H [ MADE 7LFL [ 7LYP [ 7MCS #OPT MTRACEX=1 7MWX STO 7 MTRACE(%D) 7NB2 CALL 7 MTRACE+2 7NT5 8H%A 7P#8 LDX 0 %B(%D) 7PR? LDX 7 %C(%D) 7Q=B #SKI MTRACEX 7QPF ( 7R8J BRN M 7RMM MLINK +0 7S6Q M4 +4 7SKT MM +0,+0 7T4Y STO 7 MLINK(%D) 7TJ3 STO 0 MM+1(%D) 7W36 LDN 0 M1(%D) 7WG9 MOVE 7 2 7W^# SMO MLINK(%D) 7XDC OBEY 3 7XY6 BZE 7 M5 7YBH SMO MLINK(%D) 7YSY OBEY 2 7^?* SMO 0 7^PQ GEO 7 0 8287 M1 8H 82LJ M2 BCT 7 M3 834^ M5 LDX 7 MM(%D) 83HB LDX 0 MM+1(%D) 83^R SMO M4(%D) 84D8 BRN (MLINK) 84WK M3 ADN 0 1 85*2 SMO 0 85RC GEO 7 0 869S 8H 86N9 BRN M2 876L M 87K3 #ALT MTRACEX=0 883D #DEF MTRACE=MM 88FT ) 88Y= #NOR 89BM [??? PMDLGET SECT DIAG FGN 104 DOC 89T4 #MAC PMDLGET [M.C.D. MANN 8=?F [ 8=PW [ 8?8? [ ************* 8?LN [ * PMDLGET * 8#55 [ ************* 8#HG [ 8#^X [ 8*D# [ OBTAINS D AND OR L VALUES OF A PM SEGMENT 8*WP [ 8B*6 [ 8BRH [ %A SEGMENT NAME 8C9Y [ %B ACCUMULATOR TO CONTAIN D VALUE 8CN* [ %C ACCUMULATOR TO CONTAIN L VALUE 8D6Q [ 8DK7 [ ONLY %B AND %C ARE CHANGED 8F3J [ 8FF^ [ 8FYB #STR %A 8GBR #STR 8GT8 ! SEGMENT NAME OMITTED 8H?K #STR %A 8HQ2 ( 8J8C #STR %B 8JLS ( 8K59 #ACC %B 8KHL ! %B IS NOT AN ACCUMULATOR 8L23 #ACC %B 8LDD #SKI 8LWT ( 8M*= SMO FXPMFXNT 8MRM LDX %B J%A 8N=4 SLL %B 9 8NNF SRL %B 2 8P6W ) 8PK? ) 8Q3N #STR %C 8QG5 ( 8QYG #ACC %C 8RBX ! %C IS NOT AN ACCUMULATOR 8RT# #ACC %C 8S?P #SKI 8SQ6 ( 8T9L SMO FXPMFXNT 8TP= LDX %C J%A 8W8W SRL %C 15 8WNG SLL %C 2 8X86 ) 8XMQ ) 8Y7B ) 8YM2 #STR %B%C 8^6L #STR 8^L= ! NO SECOND OR THIRD PARAMETER 925W #NOR 92KG [??? PMSUBSRE SECT DIAG FGN 104 DOC 9356 #MAC PMSUBSREAD [M.C.D. MANN 93JQ [ 944B [ 94J2 [ **************** 953L [ * PMSUBSREAD * 95H= [ **************** 962W [ 96GG [ 9726 #STR %A 97FQ LDX 0 %A 97^B CALL 7 (JSUBSREAD) 98F2 #STR %B 98YL BRN %B 99D= #STR %B 99XW #SKI 9=CG NULL 9=X6 #NOR 9?BQ [??? FULLMONS SECT DIAG FGN 104 DOC 9?WB #MAC FULLMONS [M.C.D. MANN 9#B2 [ 9#TL [ 9**= [ ************** 9*SW [ * FULLMONS * 9B#G [ ************** 9BS6 [ 9C?Q [ 9CRB [ RESTORE TIME MACRO TO GIVE 9D?2 [ FULL MONITORING FILES 9DQL [ 9F== #MEN PMFS 9FPW #TRA JZM4 9G9G LDX 4 JMASK1(1) 9GP6 STO 4 JXBITAB(1) 9H8Q #TRA JZM25 9HNB NULL 9J82 #END 9JML #NOR 9K7= [??? IDENTITY SECT DIAG FGN 104 DOC 9KLW #SKI K6ALLGEO>12-12 9L6G ( 9LL6 #MAC IDENTITY [M.C.D. MANN 9MKB [ 9N3S [ 9NG= [ ************** 9NYN [ * IDENTITY * 9PC6 [ ************** 9PTJ [ 9Q#2 [ 9QQD #MEN FIXED 9R8W #TRA IDENTITY 9RM# 8H%A 9S5Q #END 9SJ8 #NOR 9T2L ) 9TF4 [??? PMBLOX SECT DIAG FGN 104 DOC 9TXG #MAC PMBLOX [M.C.D. MANN 9W*Y [ 9WSB [ 9X=S [ ************ 9XP= [ * PMBLOX * 9Y7N [ ************ 9YL6 [ 9^4J [ 9^H2 [ IS A #MEN MACRO TO PMACT OR PMCHAINS IT ALTERS THE LENGTH 9^^D [ OF PARTICULAR TYPES ( OR TYPES AND SUB TYPES ) OF BLOCK =2CW [ THE MACRO IS RECURSIVE =2W# [ %A ::= < TYPE > =3#Q [ NO + SIGN, A CHARACTER STRING IS EXPECTED ( VALUE WOULD DO ) =3R8 [ %B::= 0 / < SUB TYPE > / < NULL > =49L [ SIMILAR TO %A BUT NULL IS ALLOWED,IMPLYING ALL SUB TYPES =4N4 [ %C ::= A / C =56G [ NO OTHERS ARE ALLOWED =5JY [ A FOR BLOX ON ACTIVITY CHAIN C FOR BLOX ESLEWHERE =63B [ %D ::= < A POSITIVE INTEGER LESS THAN 4096 > =6FS #STR %A [ FINISH IF NO MORE PARAMETERS =6Y= ( =7BN #STR %D [ LEST %D IS ABSENT =7T6 ( =8?J #SKI %D<4096-4096 [ LEST %D IS EXCESSIVE# =8Q2 ( =98D [ I AM INDEBTED TO J JONES FOR THESE 7 LINES WHICH EFFECT =9LW [ IF %C STARTSWITH A OR C THEN COMPILE THE0FOLLOWING ==5# #DEF 20?=1 ==HQ #STR A,%C =?28 #DEF 20?=0 =?DL #STR C,%C =?X4 #SKI =#*G #DEF 20?=1 =#RY #SKI 20? =*=B ( =*NS #OPT JPM%CDENT=0 =B7= #SKI JPM%CDENT-JPMNOFTYPES =BKN ( =C46 #STR %C,A =CGJ #MEN PMCHAINS =C^2 #STR %C,C =DCD #MEN PMACT =DTW #TRA JPM%CBLOX+JPM%CDENT =F## #STR %B =FQQ #HAL +%A+%B,%D =G98 #STR %B =GML #SKI =H64 ( =HJG #HAL +%A,%D =J2Y #TRA JPM%CBLOX+2+JPMNOFTYPES =JFB #FID JPM%CDENT JPM%CDENT 1 =JXS ) =KBG #END =KTC #ALT JPM%CDENT=JPM%CDENT+1 =L## ) =LR9 ) =M=6 ) =MP3 ) =N7Y #STR %E =NLT PMBLOX %E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T,%U,%V,%W,%X =P5Q ) =PJM #NOR =Q3J [??? PMFILE SECT DIAG FGN 104 DOC =QGF #MAC PMFILE [M.C.D. MANN =Q^B [ =RD? [ =RX8 [ ************ =SB5 [ * PMFILE * =ST2 [ ************ =T?X [ =TQS [ =W9P [ RESTORE TIME MACRO TO SPECIFY THOSE FILES FOR WHICH,IF AN ENTRY =WNL [ IS FOUND BY F/S PM IN THE FILE CHAIN,A FULL PRINT WILL BE GIVEN. =X7H [ THERE IS A MAXIMUM OF 5 ENTRIES IN THE JFULLTAB TABLE FOR THIS =XLD [ PURPOSE =Y5* [ %A,%C,...=12 CHAR. USER NAME OF FILE =YJ= [ %B,%D,...=12 CHAR. LOCAL NAME OF FILE .IF ABSENT OR ZERO,THEN ALL =^37 [ FILES WITH THIS USER NAME WILL BE PRINTED =^G4 #STR %A =^Y^ ( ?2CW #SKI JTABEND-JFULLTAB<1$1 ?2WR ! TOO MANY FILES ! ?3*N #SKI JTABEND-JFULLTAB ?3SK ( ?4?G #MEN PMFS ?4QC #TRA JFULLTAB ?59# 12H%A ?5N9 #STR %B ?676 12H%B ?6L3 #STR %B ?74Y #SKI ?7HT +0,+0,+0 ?82Q FIXTRA JFULLTAB ?8FM #END ?8YJ PMFILE %C,%D,%E,%F,%G,%H,%I,%J ?9CF ) ?9WQ ) ?=*^ #NOR ?=T8 [??? PMFULLFS SECT DIAG FGN 104 DOC ??#C #MAC PMFULLFS [M.C.D. MANN ??RL [ ?#=T [ ?#Q4 [ ************** ?*9? [ * PMFULLFS * ?*NG [ ************** ?B7P [ ?BLY [ ?C67 [ RESTORE TIME MACRO TO GIVE A FULL FILESTORE PM ?CKB [ ?D4K #MEN PMDR ?DHS #TRA APMBRKCHS ?F33 +1 ?FG= #END ?F^F #NOR ?GDN ...[??? PMMEND SECT DIAG FGN 108 DOC ?GXX #MAC PMMEND [M.C.D. MANN ?HC6 [ ?HW* [ ?J*J [ ************ ?JSR [ * PMMEND * ?K#2 [ ************ ?KR9 [ ?L=D [ ?LPM [ MACRO TO ALTER THE SIZE OF POSTMORTEM LISTINGS OF GIVEN CHAINS ?M8W [ ?MN5 [ PARAMETERS ARE IN PAIRS ?N7# [ %A,%C,%E ETC.= IND. OF CHAIN (SEE GTM 2.5 ?NLH [ %B,%D,%F ETC.= NO. OF WORDS TO BE PRINTED FROM EACH BLOCK IN CHAIN ?P5Q [ ?PJ^ #STR %A ?Q48 ( ?QHC #STR %A,ACTC ?R2L #SKI ?RFT ( ?R^4 #MEN PMACT ?SD? #TRA JMACT ?SXG +0%B ?TBP #END ?TTY ) ?W*7 #STR OBJ,%A ?WSB #SKI ?X?K ( ?XQS #SKI G3 ?Y=3 #MEN PMOBJIII ?YP= #SKI G4 ?^8F #MEN PMOBJ ?^MN #STR %A,OBJE #26X #SKI #2L6 #TRA JJOBJ #35* #STR %A,OBJP #3JJ #SKI #43R #TRA JJOBJ+1 #4H2 #STR %A,OBJC #529 #SKI #5FD #TRA JJOBJ+2 #5YM +0%B #6CW #END #6X5 ) #7B# #STR %A,FILE #7TH #SKI #8#Q ( #8R^ #MEN PMFILE #9?8 #TRA JJFILE #9QC +0%B #=9L #END #=NT ) #?84 #STR %A,ACTC #?M? ( ##6G #STR OBJ,%A ##KP ( #*4Y #MEN PMCHAINS #*J7 #STR %A,FREE #B3B #SKI #BGK #TRA JMCHAINS #B^S #STR %A,CHAP #CF3 #SKI #CY= #TRA JMCHAINS+1 #DCF #STR %A,JOBQ #DYQ #SKI #FDB #TRA JMCHAINS+2 #FY2 #STR %A,HLSQ #GCL #SKI #GX= #TRA JMCHAINS+3 #HBW #STR %A,MISC #HWG #SKI #JB6 #TRA JMCHAINS+4 #JTQ #STR %A,FILE #K*B #SKI #KT2 #TRA JMCHAINS+5 #L#L #STR %A,INDX #LS= #SKI #M?W #TRA JMCHAINS+6 #MRG #STR %A,CONS #N?6 #SKI #NQQ #TRA JMCHAINS+7 #P=B #STR %A,CART #PQ2 #SKI #Q9L #TRA JMCHAINS+8 #QP= #STR %A,HALF #R8W #SKI #RNG #TRA JMCHAINS+9 #S86 #STR %A,OFFL #SMQ #SKI #T7B #TRA JMCHAINS+10 #TM2 #STR %A,USAG #W6L #SKI #WL= #TRA JMCHAINS+11 #X5W #STR %A,TEMP #XKG #SKI #Y56 #TRA JMCHAINS+12 #YJQ #STR %A,PURE #^4B #SKI #^J2 #TRA JMCHAINS+13 *23L #STR %A,LIST *2H= #SKI *32W #TRA JMCHAINS+14 *3GG #STR %A,FROZ *426 #SKI *4FQ #TRA JMCHAINS+15 *4^B #STR %A,IPLJ *5F2 #SKI *5YL #TRA JMCHAINS+16 *6D= #STR %A,IPLS *6XW #SKI *7CG #TRA JMCHAINS+17 *7X6 #STR %A,IPLR *8BQ #SKI *8WB #TRA JMCHAINS+18 *9B2 #STR %A,JRNL *9TL #SKI *=*= #TRA JMCHAINS+19 *=HX ...#STR %A,FPBC *=L6 ...#SKI *=N* ...#TRA JMCHAINS+21 *=N^ ...#STR %A,FTEM *=PK ...#SKI *=Q9 ...#TRA JMCHAINS+22 *=QT ...#STR %A,FAST *=RF ...#SKI *=S5 ...#TRA JMCHAINS+23 *=SW +0%B *?#G #END *?S6 ) *#?Q ) *#RB PMMEND %C,%D,%E,%F,%G,%H,%I,%J,%K,%L **?2 ) **QL #NOR *B== [??? PMOBJ SECT DIAG FGN 104 DOC *BPW #MAC PMOBJ [M.C.D. MANN *C9G [ *CP6 [ *D8Q [ *********** *DNB [ * PMOBJ * *F82 [ *********** *FML [ *G7= [ *GLW [ RESTORE TIME MACRO THAT CAUSES POSTMORTEM TO PRINT *H6G [ UP TO 3 SPECIFIED OBJECT/SUBJECT PROGRAMS IN FULL *HL6 [ IN A G3/4 PM *J5Q [ *JKB #STR %A *K52 ( *KJL #SKI G3 *L4= #MEN PMOBJIII *LHW #SKI G4 *M3G #MEN PMOBJ *MH6 #TRA JPROGTAB *N2Q 4H%A *NGB #STR %B *P22 4H%B *PFL #STR %C *P^= 4H%C *QDW #END *QYG ) *RD6 #NOR *RXQ [??? GSCANDEF SECT DIAG FGN 104 DOC *SCB #SKI BUFTRACE *SX2 ( *TBL #MAC GSCANDEF [M.C.D. MANN *TW= [ *W*W [ *WTG [ ************** *X*6 [ * GSCANDEF * *XSQ [ ************** *Y#B [ *YS2 [ *^?L M1 +0 *^R= 8H%A B2=W GSCANX %B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S B2QG M2 B3=6 #TRA M1 B3PQ +M2 B49B #TRA M2 B4P2 #NOR B58L ) B5N= [??? GSCANEQU SECT DIAG FGN 104 DOC B67W #SKI BUFTRACE B#3B ( B#G6 #MAC GSCANEQU [M.C.D. MANN B#YW [ B*CL [ B*WB [ ************** BB*6 [ * GSCANEQU * BBRW [ ************** BC=L [ BCPB [ BD86 [DEFINE GSCAN PRINTING FORMATS AS BDLW [ BF5L M3 +M3+3+#40000000 [SAME AS NEXT ESCANDEF BFJB 8H%A BG36 #FREE M3 BGFW #STR %B BGYL GSCANEQU %B,%C,%D,%E,%F,%G,%H,%I,%J BHCB #NOR BHW6 ) BJ#W [??? PMACTYPE SECT DIAG FGN 104 DOC BJRL #MAC PMACTYPE [M.C.D. MANN BK=B [ BKP6 [ BL7W [ ************** BLLL [ * PMACTYPE * BM5B [ ************** BMJ6 [ BN2W [ BNFL [ THIS MACRO WILL SET UP TYPE AND SUBTYPE TABLES BNYB [ BPC6 #STRING R,%B BPTW ( BQ#L #MEN PMTYPES [INSERT TYPES BQRB #DEF NUMBER=1 BR=6 ) BRNW #STRING R,%B BS7L #SKI BSLB ( BT56 #MEND %A [INSERT SUBTYPES IN RESPECTIVE SEG. BTHW #DEF NUMBER=0 BW2L ) BWFB #STRING %A,PMSUBSA BWY6 #SKI BXBW ( BXTL #DEF TRA=+DPMSUBSA-DPMTYPES BY#B [ SUBTYPES TO GO IN #SEG PMSUBSA BYR6 ... PMT APERI,0,APERFL,0,APRNUM,0,ASSOCS0,0,ASSOCS1,0 B^9W ... PMTCON APERI,APERIRS,JD2,AFLBUF,JD10 B^NL ... PMTCON APERI,APROPNS,JD14,APROPS,0,APERM,0,BTEMP,0 C27B PMTCON APERI,ASSOCS,0,APERIDF,0,CONSOLE,0,APIA,0 C2L6 ... PMTCON APERI,ADUMMY,0,ATTRIB,JD13,AV7900,JD21,ARPERT,JD22 C34W PMT BLINK,JF5 C3HL ... PMT FILE,0,FCB,JB15,FSMB,0 C42B PMTCON FILE,FINTER,0,FINTER1,0,FINTER2,0 C4F6 ... PMTCON FILE,FINTER5,0,FINTER7,0 C4XW PMTCON FILE,FINTER3,0,FTRAP,0,FINTER6,0 C5BL ... PMTCON FILE,APROC,0,FQUAL,0,FINC,JB8 C5TB PMTCON FILE,CREATE,JB9,ENT,JB1,FPROPS,0 C6#6 ... PMTCON FILE,FRESNUM,JB13 C6QW ... PMTCON FILE,FABSNB,JF8,FLOCNB,0 C79L PMTCON FILE,INCUNJ,JB14,FRB,0,FURB,0 C7NB ... PMTCON FILE,FRESTOR,0,FRSTPER,0 C876 PMTCON FILE,FAPB,0,FWB,0,FUWB,0,FRRB,0 C8KW ... PMTCON FILE,FURRB,0,FRWB,0,FURWB,0,ADICTEN,JB2 C94L ... PMTCON FILE,FTAB,JB12,ADICT,JB5,FNAME,JB4,ADJNCTS,JB3 C9HB PMTCON FILE,FDINCS,0,FDT,JA3 C=26 ... PMTCON FILE,ASLFLEX,JF1,ASUPLEX,JF1,FSTACK,JF6,FGET,0 C=DW ... PMTCON FILE,FREQ,JA4,FCANTDO,0,FINCPRC,JH8 C=XL PMTCON FILE,FEXTRA,0,FMAPP,JF12 C?BB PMT FI,0,INSERT1,0,INSERT2,0,INSERT3,0,INSERT4,0 C?RW ... PMTCON FI,INSERT5,0,FUTILTY,0,FCA,JC5,FTABLE,JC9 C#9B ... PMTCON FI,FINDEXF,0,FNORM,0,FSORT,JB11,CFNDEXF,0 C#LY ... PMTCON FI,FUSER,JJ3,FTAPE,JJ4,FLIST,JJ5 C*3L ... PMTCON FI,FINCOPY,JB8,FONCE,0,FTWICE,JJ7,FDMPFAB,JF8 C*D# ... PMTCON FI,FDMPCOM,0,INDXCHK,0,FRSUNAV,0,FRSTUSR,JB19 C*T2 ... PMTCON FI,FERUS,JH7,FDUCOM,JA6,FDUTAPE,0,FRJTPS,0 C*Y7 ... PMT FSH,0,FSHIN,JB20,FSHOUT,JB20,FSHREQ,JB21 CB3# ... PMTCON FSH,FSHTERM,0,FSHTRAN,0,FULLB,0 CB5D ... PMTCON FSH,FSHSTOR,0,FSHMARK,JB22,FSHBDEL,0 CB7J ... PMTCON FSH,FSHBINS,0,FSHMOVE,JB23,FSHAPIA,0 CB85 ... PMTCON FSH,FSHREQX,JB21,FSHTRMX,0,FSHIPS,0 CB8L ... PMTCON FSH,FSHJCTS,JB24,FSHMBLS,0,FINLK,0 CB97 ... PMTCON FSH,HLSTFER,0,FAPB,0 CB9C ... PMT CAFS,0,CFCSNT,0 CB9N ... PMT AOBJPROG,JE12,BHWRITE,0,BHCOPY,JE12 CBLG ... PMT CPB,0,CALAS,JF9,CMULTI,0,CUNI,0 CC66 ... PMT BSTB,0,BWRITE,0,BREAD,0,CHAPTER,JE6,FSTAB,0 CC^W PMTCON BSTB,EMPTYB,0,FULLB,0,BSLIST,JE7,FBSIB,0 CDDL ... PMTCON BSTB,CCTABLE,0,ALFTABL,0,FDTABLE,0,BQBLK,JE8 CDXB PMTCON BSTB,BSCB,JE9,BLUFF,0,BFAIL,0,BFRAIL,0 CFB6 ... PMTCON BSTB,FLOUR,0,BFREEW,0,CART,0,HORSE,0 CFSW PMT IPCA,JA1,INTERN,JJ2,IPCBX,JA1,IPCOP,JA1 CG?L ... PMTCON IPCA,HANGER,JJ1,FSHARED,JA1,FSHBPM,JA1 CGQB PMT AMSCAN,0,AMXTYPE,JA1,IPBTYPE,JA1 CH96 PMT ACTCDT,JA1 CHMW ... PMT ACTDOC,JA1,ADUMPT,JA1,ASCHEDE,JA1 CJ6L ... PMT ACTUNJAM,JA1 CJKB PMT AREWIND,JA1 CMF= PMT ASWINT,JA1 CQ*G PMT APET,JA2,ATP,JA2,APUC,JA2 CQSW PMT AOLPT,JH5 CR#= ... PMT CPAT,JG10 CRRL PMT BAT,JA1 CTP6 ) CW8G #STRING %A,PMSUBSB CWMW #SKI CX7= ( CXLL #DEF TRA=+DPMSUBSB-DPMTYPES CY62 [ SUBTYPES TO GO IN #SEG PMSUBSB CYKB PMT GCB,0 C^4Q PMT CLB,JC4 C^JB ... PMT CONBUFF,0,COUT,JF17,EMSIN,JF16,CINP,JD17,CSHOW,JD18 D242 ... PMTCON CONBUFF,IREMTW,JB10,CNTRL,JD19,ACTIVE,JD20,CONAPP,0 D32= ... PMT JBUDGET,0,JLINE,JC6,JBTUSER,JC7,JSTORE,JC8,JEXTRA,0 D3FL PMTCON JBUDGET,JENTRY,JB2 D3^2 ... PMT CQPRINT,0,CQ1,0,CQ2,0,CQ11,0,CQFILE,0 D4DB ... PMT APED,0,ANEVENT,JC1,ADSPLAY,JB7,ADELETE,JC11 D4XQ ... PMTCON APED,ANOMESS,0,AQUEST,0,AMONCAT,JF13 D5C6 PMT AOBRES,JD1 D5WG ... PMT AMXOR,0,ALCB,JE16,AOUT,JC12,ASPEAK,0,CONTROL,0 D6*W ... PMTCON AMXOR,ALINES,JC13,GSCAN,JA7 D6T= ... PMTCON AMXOR,CILCB,JF2,BBC,0 D7#L PMTCON AMXOR,ADCB,JB16,ADEVS,JC13,IOUT,JB17,IDATSG,0 D7S2 PMTCON AMXOR,INBF,0,AMESS,0,CONAR,0 D8?B PMTCON AMXOR,CONDCB,JD11,CROUTE,JD12,CSTATE,JC13,ICONIN,JB17 D8QQ ... PMTCON AMXOR,CONLCB,JF7,IMESSG,JD5 D9=6 ... PMTCON AMXOR,INTRPT,JC10,CHAPCPY,0,ASCREEN,JJ6 D9FS ... PMTCON AMXOR,AJOURN,0,AMJOURN,0,AMISC,0 D9PG ... PMT AINPAR,0,ATB,0 D=8W PMT ADATA,0,JSWAP,JD16,JUNSWAP,JD16,AREPORT,0 D=N= PMTCON ADATA,CMARK,0,AWKSB,0,JLN,JC0 D?7L PMTCON ADATA,ADOC,0,CSTORE,0,ADEMAND,JE5,ALINE,JD9 D?M2 ... PMTCON ADATA,CREADL,JD3,AWLLIST,JE0 D#6B PMTCON ADATA,BCANTDO,JE15,AWPER,0,AWDOC,0 D#KQ ... PMTCON ADATA,AGTWORD,0,CORUNJM,0,ASUD,JE11 D*56 ... PMTCON ADATA,AGPUT,0,AGLOT,0,BREPLY,JE1,AMONWRK,0 D*JG ... PMTCON ADATA,ACONV,JD9,IPTEMP,0 DB3W PMTCON ADATA,ERREPLY,0,FPSEUD,0,AREST,JD9,BPERF,0 DBHB ... PMTCON ADATA,HPAGTRN,JB18,BTCAWP,0,BUDGBLB,0 DC2W ... PMTCON ADATA,GMONACC,0,HLOCKDN,JE10,ASTRAT,JD15 DCGB ... PMTCON ADATA,ASUP,0,INPUSG,JD6,JMCPASS,0,JMCPASB,0 DD22 ... PMTCON ADATA,COMPASS,0,APLIST,0,EMS,0,AGROP,0 DFCG PMTCON ADATA,APVAT,JE13,AGPUTX,JE14 DFM8 ... PMTCON ADATA,ELOUT,JD23,AWHATRV,JD24 DFWW PMT FLIB,0,FMAGH,JG1,FTSN,JG2 DGB= PMTCON FLIB,FREP,0,FMES,0,CADUMP,0 DGTL PMTCON FLIB,FTJOB,0,FDECKS,0,FLINC,0,FNOS,0 DH*2 PMTCON FLIB,GOLMT,0,FSPD,0 DHSB ... PMT JOBQE,JF3 DJ?Q PMT AONBS,0,GTRAN,0,GHDDR,0,GREN,0,GROT,0 DJR6 PMTCON AONBS,HDRSAVE,0,GLIST,0,GTN,0 DK=Q ... PMT EDIT,0,FRB,0,FAPB,0 DL=3 PMT IDF,0,B7071,0,B7020,0,CONCEP,0,CONDATA,0 DLP# ... PMTCON IDF,CONNAME,JF4,COINF,0,IDNTFRS,0,IREPORT,0 DM8K ... PMTCON IDF,APROPNS,0,ITERMID,0,IWORK,JF0,CONCEP1,0 DMMW ... PMTCON IDF,INLINE,0,IDELETE,0 DN77 ... PMT A7020,0,ALCB,JG3,ALIST,JG4,INPUT,JG5,CONSIN,JG6 DNLD ... PMTCON A7020,CONSOUT,JG7,INFORM,JD7 DP5P PMT ANAL,0,FABSNB,0 DPK2 PMT EWDAS,0,GRUBUF,0,ASTUC,JF14,BSTUC,0,FDRUM,0 DQ4? PMTCON EWDAS,FBUF,0,GEXD,0,EWMESS,0,EXOF,JF15 DQHJ PMTCON EWDAS,JETSET,0,FLAWB,0 DR2T PMTCON EWDAS,ENLINK,JG8,APFE,0,ESEND,JG9,EGOT,JG9 DRG6 PMTCON EWDAS,ASCOL,0,ESENDT,JG9,ITCH,JG9 DR^C ) DSDN #STRING %A,PMSUBSC DSX^ #SKI DTC= ( DTWH #DEF TRA=+DPMSUBSC-DPMTYPES DW*S [ SUBTYPES TO GO IN #SEG PMSUBSC DWT5 PMT GOUT,0,INFO,0,INFO2,0,INFO3,0,INFO4,0 DX#B ... PMTCON GOUT,GKEY,0,GUPDATE,0,CHLIST,0 DXRM ... PMTCON GOUT,INFO5,0,COMP,0 DY=Y ... PMTCON GOUT,GABSNB,0,GPROPNO,0,INFO6,0,GLINES,JG11 DYGJ ... PMTCON GOUT,GESIZE,JG12 DYQ9 ... PMT GMON,0,ASET,JE2,AOUT,JE1,ATEMP,JE3,JABAND,0 D^9G PMTCON GMON,JRNAL,JF11,BOUT,JF1,HLSOUT,0 D^NR PMT IPCD,0,ATASK,JH3,IPSTACK,JH4,ENQUIRY,JH2 F284 PMTCON IPCD,IPCGLR,JH1,IPCGLW,JH1 F36L PMT CPAR,0,GPERCON,JB6,JSCE,JF10,CPCT,JF10,AIPB,JF10 F3L= ... PMTCON CPAR,GNUMCON,0,GSTACK,0,JJSCE,JF10 F4JF PMT AMEAS,0,AMTNAM,0,APMC,0 F53Q ... PMT GENERAL,JA1,ACTSAVE,JA1,IDFMESS,JA1 F5H3 ... PMTCON GENERAL,CPERFCT,JA1 F62# PMTCON GENERAL,CORJAM,JA1 F69Y ... PMTCON GENERAL,AGROPE,JA1 F6FK #SKI IPL F6YW ( F7D7 PMTCON GENERAL,IPLDIS,JG0,IPLDRI,JGDRI,IPLFOA,JG0,IPLINP,JG0 F7XD PMTCON GENERAL,IPLLOG,JG0,IPLPOL,JG0,IPLRES,JG0 F8BP ... PMT IPLD,0,IPLDATE,0,IPLTIME,0,IPLPRDA,0 F8W2 ... PMTCON IPLD,IPLBUF,0,IPLCNB,JGCNB,IPLLDB,JGLDB,IPLMES,0 F9*? ) F9C8 ... PMT BSA,JE17,BTFAIL,JE17,CHAPTER,JA1,AUTCLOS,JA1,AUTERAS,JA1 F9F5 ... PMTCON BSA,AUTOCY,JA1,JOUROPN,JA1 F9H2 ... PMTCON BSA,ENTWIN,JA1,AUTOMAP,JA5,ELOG,JA1 F9HY ... PMTCON BSA,CAFSACT,JE18 F9JX ... PMT JWELL,0,COPYSYS,0,JPARAMS,0,AJDF,0,ACLB,0 F9SH ... PMTCON JWELL,ADICTWL,0,ACOUNTS,0,BCOUNTS,0 F9XN ... PMT IUSER,0,ISPFRB,0,BATCHC,0,HULL,0 F=2T ... PMTCON IUSER,JBL,0 F=4D ... PMTCON IUSER,G400BLK,0,G400USR,0,G400FRB,0,BADGE,0 F=64 ... PMT COMDAT,0,CWHEN,0,CBRK,0,CJTEX,0 F=7^ ... PMTCON COMDAT,CSETP,0,CBUFF,JC2,CINC,JC3 F=9W ... PMTCON COMDAT,CFIN,0,CFIND,0 F==H ... PMT CONSA,JA1,I7023,JA1,APCTMES,JA1 F=?8 ... PMTCON CONSA,CNTRAL,JA1 F=?# ... PMT ACTLF,JC14,BSCHED,JC14 F=?D ... PMTCON ACTLF,GREMOTE,JC14,CENTRAL,JC14,ALPS14,JC14 F=?J ... PMT AMOP,JD4,IMOPQ,JA1,APCT,JA1,IPBIN,JH6,IPBOUT,JH6 F=?N ... PMTCON AMOP,ASENT,JA1,IPBCCA,JH6,AJOURN,JH6 F=?T ) F=R6 #END F?=C #STRING R,%B [WHEN TYPES INSERTED IN PMTYPES F?PN PMACTYPE %A,R [INSERT SUBTYPES IN REQUIRED SEGMENT F#8^ #NOR F#NJ [??? PMADDS SECT DIAG FGN 104 DOC F*87 #MAC PMADDS [M.C.D. MANN F*M8 [ FB69 [ FBK= [ ************ FC4? [ * PMADDS * FCH# [ ************ FD2* [ FDFB [ FDYC [ 19?+0 CONTAINS THE HIGHEST FIXED CORE ADDRESS FFCD [ ENCOUNTERED SO FAR FFWF [ FG*G [ 20? CONTAINS THE RECOMMENDED TABLE LENGTH FGSH [ FH?J [ 21? CONTAINS THE LENGTH OF PMFSADDA FHQK [ FJ9L [ 22? CONTAINS AN ERROR INDICATOR FOR %A FJNM [ FK7N [ 23? STORES THE LISTING LEVEL FKLP [ FL5Q #STR %A FLJR ( FM3S #DEF 22?=1 [ PRESET ERROR FLAG FMGT #SKI 19?+0]<%A-%A [ CHECK SEQUENCE FM^W #SKI FNDX ( FNXY ! %A IS OUT OF NUMERICAL SEQUENCE FPB^ #DEF 22?=0 FPW2 ) FQ*3 #SKI JFCS>%A-%A [ CHECK MNEMONIC IS IN FIXED CORE FQS4 #SKI FR?5 ( FRQ6 ! %A IS BEYOND FIXED CORE FS97 #DEF 22?=0 FSN8 ) FT79 #SKI 22? [ ERROR ? FTL= ( FW5? #SKI 0?>20?-20? [ TABLE GETTING LONG ? FWJ# ( FX3* #DEF 23?=1? [ STORE LISTING LEVEL FXGB #LIS 4 FX^C # WARNING WARNING WARNING FYDD # THIS TABLE IS GETTING FYXF # TOO LONG F^BG #LIS 23? F^TH ) G2#J #SKI 0?>21?-21? [ TABLE TOO LONG G2RK ( G3=L ! THIS TABLE IS LONGER THAN G3PM ! PMFSADDSA G48N ! SOME FIXED CORE LOCATIONS G4MP ! MAY BE LOST G56Q ) G5KR +%A [ STORE ENTRIES G64S #STR %B [%B PRESENT G6K= 8H%B G73P #STR %B G7G8 #SKI [%B ABSENT, USE %A AS MNEMONIC G7YM 8H%A G8C6 #DEF 19?+0=%A [ RESET HIGHEST %A INDICATOR G8TK ) G9#4 PMADDS %C,%D,%E,%F,%G,%H,%I,%J [CALL RECURSIVELY G9QH ) G=92 #NOR G=MF [??? PMCOUNT SECT DIAG FGN 104 DOC G?5Y #MAC PMCOUNT [M.C.D. MANN G?JC [ G#2W [ G#F* [ ************* G#XS [ * PMCOUNT * G*B? [ ************* G*SQ [ GB?9 [ GBPN [ THIS MACRO INSERTS A RECORD OF THE NUMBER OF SUBTYPES IN THE TYPE GC87 [ MNEMONIC AREA GCLL #STRING %A GD55 ( GDHJ #SKI %A>64$64 GF23 #SKI GFDG ( GFW^ ...#FIDDLE 3 11 +3 [UPDATE WORD COUNT OF SUBTYPE EN GG*D #DEF TRA1=TRA GGRX #FREE TRA GH=B ...#DEF TRA=TRA1+3 [UPDATE POINTER POINTING TO SUBT GHNT #FREE TRA1 GJ7# ) GJKR PMCOUNT %B,%C,%D,%E GK4= ) GKGP #NOR GK^8 [??? PMDLSET SECT DIAG FGN 104 DOC GLCM #MAC PMDLSET [M.C.D. MANN GLW6 [ GM#K [ GMR4 [ ************* GN9H [ * PMDLSET * GNN2 [ ************* GP6F [ GPJY [ GQ3C #STR %A GQFW ( GQY* FIXTRA J%A GRBS +D%A/128 GRT? #FID 0 8 +L%A/4 GS?Q PMDLSET %B,%C,%D,%E,%F,%G,%H,%I,%J GSQ9 ) GT8N #NOR GTM7 [??? PMFMODE SECT DIAG FGN 104 DOC GW5L #MAC PMFMODE [M.C.D. MANN GWJ5 [ GX2J [ GXF3 [ ************* GXXG [ * PMFMODE * GY*^ [ ************* GYSD [ G^=X [ G^PB [ THIS MACRO IS USED IN SETTING UP A TABLE OF OPEN FILE MODES. H27T [ USED IN PM SEGMENT PMSUM H2L# [ %A=BIT IN FCA5 THAT IS SET FOR MODE H34R [ %B=MODE NAME H3H= [ H3^P +0 H4D8 #FID %A %A 1 H4WM 8H%B H5*6 #NOR H5RK ...[??? PMFSEGS SECT DIAG FGN 105 DOC H6=4 #MAC PMFSEGS [M.C.D. MANN H6NH [ H772 [ H7KF [ ************* H83Y [ * PMFSEGS * H8GC [ ************* H8YW [ H9C* [ H9TS [ THIS MACRO IS USED IN SETTING UP A TABLE OF FIXED CORE SEGMENTS, H=#? [ HOLDING SEGMENT NAME,LENGTH,AND DRUM ADDRESS H=QQ [ USED IN PM SEGMENT PMSUM H?99 [ %A=SEGMENT NAME H?NQ [ %B=NO IF SEGNENT IS NOT TO BE CHECKSUMMED H#66 [ H#HG +D%A H#YW #STR NO,%B H*B= #SKI H*RL #FID 0 0 1 HB92 +L%A HBLB 8H%A HC3Q #OPT JPMFIXED=0 HCF6 ...#UNS K%A+1 HCWG #SKI HD?W ( HDP= #DEF K%A=JPMFIXED [DEFINE A "CHAPTER NUMBER" FOR THIS HF6L #ALT JPMFIXED=JPMFIXED+1 [FIXED CORE SEGMENT FOR USE BY GIN HFJ2 ) HF^B #NOR HGBQ [??? PMLIST SECT DIAG FGN 104 DOC HGS6 #MAC PMLIST [M.C.D. MANN HH9G [ HHLW [ HJ4= [ ************ HJFL [ * PMLIST * HJX2 [ ************ HK#B [ HKPQ [ HL76 #FREE XXX,Y,NUM,XA HLJG #DEF XXX=0? [INDICATES START OF TABLE HL^W #DEF Y=0? [INDICATOR HIGHEST ADDRESS IN TABLE HMC= #DEF 23?=1? HMSL #LIS 0 HN=2 #REP JREP2 HNMB +0 HP4Q #LIS 23? HPG6 #STRING %A [SKI IF NO FIRST PARAMETER HPXG REPETE %A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P HQ#W ...#DEF 0?=Y HQQ= 4H^^^^ [INSERT '^^^^' AT END OF TABLE HR7L #OPT S=0 [USED BY PMREPCON WHEN THAT HRK2 #FREE S [MACRO FOLLOWS PMLIST OR PMLISTC HS2B #FREE Z HSCQ #DEF Z=0 [INDICATOR USED BY MACRO PMREPCON HST6 #NOR HT=G [??? PMLISTC SECT DIAG FGN 104 DOC HTMW #MAC PMLISTC [M.C.D. MANN HW5= [ HWGL [ HWY2 [ ************* HX*B [ * PMLISTC * HXQQ [ ************* HY86 [ HYKG [ H^2W #DEF 19?+0=Y H^D= #DEF 19?+1=XXX H^TL #FREE XXX,Y,NUM,XA J2?2 #DEF Y=19?+0] J2NB #DEF XXX=19?+1] J35Q #DEF 0?=0?-1 [STEP BACK AND OVERWRITE '^^^^' SET J3H6 #STRING %A,+ J3YG +0 [UP BY PREVIOUS MACRO J4*W REPETE %A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P J4R= #DEF 0?=Y J58L 4H^^^^ [INSERT '^^^^' AT END OF TABLE J5L2 #NOR J654 [??? PMP SECT DIAG FGN 104 DOC J6J6 #MAC PMP [M.C.D. MANN J73Q [ J7HB [ J832 [ ********* J8GL [ * PMP * J92= [ ********* J9FW [ J9^G [ J=F6 [ THIS MACRO SETS UP 'REPEAT' TABLES CALLED BY MACROS PMREP J=YQ [ AND PMREPCON J?DB #STR %A J?Y2 ( J#CL #STR %A,+ J#X= ( J*BW #SKI %A<0$0 [FALL THROUGH IF %A UNSET J*WG ( JBB6 #FREE Z JBTQ #DEF Z=1 [SET ERROR INDICATOR JC*B ) JCT2 ) JD#L #SKI Z<1$1 [SKIP IF ERROR IN TABLE JDS= ( JF?W #FREE Z JFRG #STR %A,+ JG?6 ( JGQQ #SKI %AJREP$JREP JKNG ( JL86 ?%A VALUE TOO LARGE JLMQ #OPT Z=1 JM7B ) JMM2 ) JN6L #SKI %B+1>JCONO$JCONO [JCONO = MAXIMUM VALUE OF PRINT STYLE JNL= ( JP5W ?%B NO SUCH CONVERSION ROUTINE JPKG #OPT Z=1 JQ56 ) JQJQ #OPT Z=0 JR4B #SKI Z<1$1 JRJ2 ( JS3L #STR %A,+ JSH= 5H%A [INSERT IDENTIFIER MNEMONICS JT2W #STR %A,+ JTGG #SKI JW26 5H00000 [IF NO IDENTIFIER MNEMONICS JWFQ #FIDDLE 18 23 -16+0%B [INSERT PRINT STYLE INDICATOR JW^B PMP %C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P JXF2 ) JXYL ) JYD= ) JYXW #SKI 18?+1]+65]>1?>K0LOCAL [SKIP IF LISTING LEVEL=0 J^CG ( J^X6 #DEF 23?=1? K2BQ #LIS 4 K2WB #DEF 20?=69?-70? [LOCAL WORKING SPACE LEFT K3B2 #LIS 23? K3TL ) K4*= #NOR K4S= [??? PMREP SECT DIAG FGN 104 DOC K5?= #MAC PMREP [M.C.D. MANN K5Q= [ K69= [ K6N= [ *********** K77= [ * PMREP * K7L= [ *********** K85= [ K8J= [ K93= [ THIS MACRO SETS UP TABLES OF BLOCK IDENTIFIERS AND INDICATORS TO K9G= [ THE WAY THE CONTENTS OF EACH BLOCK SHOULD BE PRINTED. K9^= [ K=D= #FREE XXX,Z,S K=X= #DEF XXX=0? [XXX=START OF TABLE K?B= #STR %A K?T= #SKI %A<0$0 [FALL THROUGH IF IDENTIFIER UNSET K##= #DEF Z=1 [Z=1 IF ERROR IN PARAMS OR NO PARAMS K#R= #OPT Z=0 K*== #SKI Z<1$1 [SKIP IF K*P= ( KB8= ...#DEF 23?=1? KBM= #LIS 0 KC6= #REP JREP2 KCK= +0 KD4= ...#LIS 23? KDH= ...#DEF 0?=XXX+%A+%A-A1-A1 KF2= #OPT S=0 KFF= #FREE S [S=START OF SEQUENCE IN TABLE KFY= ...#DEF S=XXX-A1-A1+A1+A1>0? [TO BE REPEATED KGC= PMP %A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P KGW= ) KH*= #SKI Z<1$1 KHS= #72000000+0?-S [IF NO ERRORS IN TABLE SET END KJ?= [OF 'REPEAT' TERMINATOR KJQ= #SKI Z KK9= ( KKN= ...#DEF 0?=XXX [IF ERRORS IN TABLE ERASE TABLE KL7= 4H^^^^ KLL= ) KM5= #NOR KMJ= [??? PMREPCON SECT DIAG FGN 104 DOC KN3= #MAC PMREPCON [M.C.D. MANN KNG= [ KN^= [ KPD= [ ************** KPX= [ * PMREPCON * KQB= [ ************** KQT= [ KR#= [ KRR= [ THIS MACRO IS A CONTINUATION MACRO FOR PMREP OR PMLIST OR PMLISTC KS=W [ KSQG #OPT Z=0 KT=6 #OPT S=0 KTPQ #DEF 19?+0=Z KW9B #DEF 19?+1=XXX KWP2 #DEF 19?+2=S KX8L #FREE XXX,Z,S KXN= #DEF Z=19?+0] KY7W #DEF XXX=19?+1] KYMG #SKI 19?+2] K^76 #DEF S=19?+2] K^LQ #SKI Z<1$1 [SKIP IF ERROR IN PREVIOUS MACROS L26B ( L2L2 #STR %A L35L ( L3K= #DEF 0?=0?-1 [SET 0?=LAST WORD OF LAST TABLE L44W #STR %A,+ L4JG ( L546 +0 [ERASE 'TERMINATOR' OF PREVIOUS MACRO L5HQ #FREE Z L63B #DEF 0?=0?-1 L6H2 #SKI %A<0$0 [FALL THROUGH IF IDENTIFIER %A UNSET L72L #SKI L7G= ( L7^W ...#DEF 0?=XXX-A1-A1+%A+%A>0? L8FG ...#SKI XXX-A1-A1+%A+%A-0? [SKIP IF %A GREATER THAN LAST P L8^6 ( [OF PREVIOUS MACRO L9DQ ?%A INCORRECTLY SEQUENCED L9YB #OPT Z=1 [SET ERROR INDICATOR L=D2 ) L=XL #OPT Z=0 L?C= ) L?WW #OPT Z=1 [SET ERROR INDICATOR IF %A UNSET L#BG ) L#W6 #OPT S=0? [IF FOLLOWING MACRO PMLIST OR PMLISTC L**Q [SET S TO START OF 'REPEAT' SEQUENCE L*TB #SKI Z<1$1 LB*2 PMP %A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P LBSL #SKI Z<1$1 LC#= #72000000+0?-S [IF NO ERRORS IN TABLE SET END OF LCRW ['REPEAT' SEQUENCE TERMINATOR LD?G #SKI Z LDR6 ( LF=Q ...#DEF 0?=XXX LFQB 4H^^^^ [IF ERRORS IN TABLE ERASE TABLE LG=2 ) LGNX ) LH7S ) LHLP #NOR LJ5L [??? PMSEG SECT DIAG FGN 104 DOC LJJH #MAC PMSEG [M.C.D. MANN LK3D [ LKG* [ LK^= [ *********** LLD7 [ * PMSEG * LLX4 [ *********** LM*^ [ LMSW [ LN?R +%C LNQN #HAL J%A,+K%B%A LP9K #NOR LPNG [??? PMT SECT DIAG FGN 104 DOC LQ7C #MAC PMT [M.C.D. MANN LQL# [ LR59 [ LRJ6 [ ********* LS33 [ * PMT * LSFY [ ********* LSYT [ LTCQ [ LTWM [ THIS MACRO INSERTS TYPES AND SUBTYPES IN TABLES LW*J [ LWSF #SKI %A/#100>64$64 LX?B ?%A TYPE VALUE GREATER THAN 64 LXQ? #SKI %A/#100<64$64 LY98 ( LYN5 #SKI NUMBER [SKI IF INSERTING SUBTYPES L^72 ( L^KX #STR %B,C M24S ( M2HP ...#TRA %A/#100*3+INDEXPM [GET THE ADDRESS TO INSERT TYPE NEMO M32L ... 8H%A [INSERT TYPE NEMONIC M3FH #STR %B [SKI IF NO 2ND PARAMETER M3YD ( M4C* #STR %C M4W= ( M5*7 +TRA [IF SUBTYPES INSERT THEIR ADDRESS M5S4 PMCOUNT %C,%E,%G,%I M6=^ ...#FID 3 11 +3 [UPDATE WORD COUNT OF SUBTYPE ENTRI M6PW ...#DEF TRA1=TRA+3 [UPDATE POINTER POINTING TO SUBTYPE M78R #FREE TRA M7MN #DEF TRA=TRA1 M86K #FREE TRA1 M8KG ) M94C #STR %C M9H# #SKI [SKIP IF 3RD PARAMETER M=29 ( M=F6 #SKI %B<1$1 M=Y3 #SKI [SKIP IF %B=ZERO OR IS UNSET M?BY +%B+DPMTABLEA.2 [IF NO SUBTYPES INSERT DRUM ADDRESS M?TT ) M##Q ) M#RM ) M*=J #STR %B,C M*PF #SKI MB8B PMCOUNT %C,%E,%G,%I [IF CONTINUATION MACRO MBM? ) MC68 #SKI NUMBER<1$1 [SKI IF INSERTING TYPES MCK5 ( MD42 #STR %C MDGX ( MF2B PMTZ %A,%B,%C,%D,%E,%F,%G,%H,%I,%J MFDS #STR %B,C MFX= ( MG*N ... 8H0 MGS6 +0 MH=J #STR %B MHP2 #SKI %B<1$1 MJ7D #SKI MJ*8 ...( MJGY ...#DEF 0?=0?-1 MJNN ... +DPMTABLEA+%B [INSERT DISC ADDRESS MJWD ...) MK4# ) MKGQ ) MK^8 ) MLCL ) MLW4 #NOR MM#G [??? PMTCON SECT DIAG FGN 104 DOC MMQY #MAC PMTCON [M.C.D. MANN MN9B [ MNMS [ MP6= [ ************ MPJN [ * PMTCON * MQ36 [ ************ MQFJ [ MQY2 [ MRBD [ THIS MACRO IS USED AS A CONTINUATION TO #MACRO PMT MRSW [ MS?# PMT %A,C,%B,%C,%D,%E,%F,%G,%H,%I MSPQ #NOR MT88 [??? PMTZ SECT DIAG FGN 104 DOC MTLL #MAC PMTZ [M.C.D. MANN MW54 [ MWHG [ MW^Y [ ********** MXDB [ * PMTZ * MXWS [ ********** MY*= [ MYRN [ M^=6 [ THIS MACRO IS USED BY #MAC PMT TO SET UP SUBTYPE MNEMONIC TABLES M^NJ [ N272 #STR %C N2KD ( N33W #SKI %C>64$64 N3G# ?%C SUBTYPE VALUE GREATER THAN 64 OR UNSET N3YQ #SKI %C>64$64 N4C8 #SKI N4TL ( N5#4 ... 8H0%C [INSERT SUBTYPE MNEMONICS N5KN ... +0 N5X# ...#DEF 0?=0?-2 [MOVE TO 1ST WORD OF SUBTYPE NEMONIC N68Y ...#FID 0 5 +%C [ENTER THE VALUE OF SUBTYPE N6MB ...#DEF 0?=0?+2 [MOVE POINTER TO LAST WORD OF THE SUB N75S #STR %D N7J= #SKI %D<1$1 N82N #SKI N88H ...( N8BB ...#DEF 0?=0?-1 N8J9 ... +DPMTABLEA+%D [ENTER DISC ADDRESS OF IDENTIFIER TA N8Q4 ...) N8Y2 ) N9BL ) N9T= #STR %D N=?W PMTZ %A,%B,%E,%F,%G,%H,%I,%J N=QG #NOR N?96 [??? PMVAL SECT DIAG FGN 104 DOC N?MQ #MAC PMVAL [M.C.D. MANN N#6B [ N#K2 [ N*3L [ *********** N*G= [ * PMVAL * N*YW [ *********** NBCG [ NBW6 [ NC#Q [ THIS MACRO SETS UP A TABLE DEFINING THE WORDS TO BE LISTED IN A NCRB [ SELECTIVE PRINT OF A CHAIN OR RING. MACRO MUST BE ISSUED ND=2 [ IMMEDIATELY FOLLOWING PMCHAINP MACRO OR PREVIOUS PMVAL MACRO CALL NDNL [ %A,%B ETC.=ADDRESSES TO BE PRINTED(MAX 6 PARAMS.) NF7= [ NFKW #STR %A NG4G #SKI %A<0 NGH6 #SKI NG^Q ( NHDB #SKI 20? NHX2 ( NJ*L #FID 12 23 %A+1 NJS= #77777777 NK=W ) NKPG #SKI 20? NL86 #SKI NLLQ #FID 0 11 %A+1 NM5B #DEF 20?=20?$1 NMJQ ) NN3N #STR %A NNGL PMVAL %B,%C,%D,%E,%F NN^J #NOR NPDG [??? REPETE SECT DIAG FGN 104 DOC NPXD #MAC REPETE [M.C.D. MANN NQBB [ NQT# [ NR#= [ ************ NRR8 [ * REPETE * NS=6 [ ************ NSP4 [ NT82 [ NTLY #STRING %A [SKIP IF NO MORE IDENTIFIERS NW5W ( NWJS #STRING %B NX3Q #SKI %BJREP P63S 5H%A [INSERT IDENTIFIER MNEMONICS P6GQ #SKI 0?-XXX>JREP2$JREP2 P6^N ?%A IDENTIFIER VALUE TOO LARGE P7DL ) P7XJ #SKI 0?-XXXY P?M4 #FREE Y [RESET Y TO BIGGEST ADDRESS REACHED P#62 #DEF Y=XA P#JY #FREE XA P*3W ) P*HW ) PB3G #FREE NUM PBH6 REPETE %C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P PC2Q ) PCGB #SKI %B>JCONO$JCONO [IF PRINT STYLE INDICATOR ILLEGAL PD22 ( [SET INDICATOR AND CONTINUE FROM PDFL [NEXT PARAMETER PD^= ?%A PRINT STYLE ILLEGAL PFDW REPETE %C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P PFYG ) PGD6 ) PGXQ #SKI 18?+1]+65]>1?>K0LOCAL [SKIP IF LISTING LEVEL=0 PHCB ( PHX2 #DEF 23?=1? PJBL #LIS 4 PJW= #DEF 20?=69?-70? [LOCAL WORKING SPACE LEFT PK*W #LIS 23? PKTG ) PL*6 #NOR PLSQ [??? GEOSTOP SECT DIAG FGN 104 DOC PM#B #MAC GEOSTOP [M.C.D. MANN PMS2 [ PN?L [ PNR= [ ************* PP=W [ * GEOSTOP * PPQG [ ************* PQ=6 [ PQPQ [ PR9B [ THIS MACRO TERMINATES A RUN OF GEORGE, AND CAUSES THE POSTMORTEM PRP2 [ ROUTINE TO OUTPUT A SPECIFIED CONSOLE MESSAGE BEFORE RE-ENTERING PS8L [ GELL PSN= [ %A=START ADD. IN FORM N(M) OF AREA HOLDING CONSOLE MESSAGE PT7W [ PTMG '170 6 %A PW76 #NOR PWLQ [??? GSCAN SECT DIAG FGN 104 DOC PX6B #SKI BUFTRACE PXL2 ( PY5L #MAC GSCAN [M.C.D. MANN PYK= [ P^4W [ P^JG [ *********** Q246 [ * GSCAN * Q2HQ [ *********** Q33B [ Q=*Q [ Q=SL #SKI K6TRACE>5-5 Q??G ( Q?QB TRACEX %A,%B Q#9= CALL 0 (JSCAN) Q#N6 8H%B Q*72 LDN 0 %A Q*KW #STR %C QB4Q LDN 0 %C QBHL #STR %C QC2G #SKI QCFB LDN 0 1 QCY= ) QDC6 ) QDW2 #NOR QF#W [??? GSCANX SECT DIAG FGN 104 DOC QFRQ #SKI BUFTRACE QG=L ( QGPG #MAC GSCANX [M.C.D. MANN QH8B [ QHM= [ QJ66 [ ************ QJK2 [ * GSCANX * QK3W [ ************ QKGQ [ QK^L [ QLDG #STR %A QLXB ( QMB= #HAL %A,%B QMT6 GSCANX %C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R QN#2 ) QNQW #NOR QP9Q ) QPNL [??? TRACE SECT DIAG FGN 104 DOC QQ7G #SKI BUFTRACE QQLB ( QR5= #MAC TRACE [M.C.D. MANN QRJ6 [ QS32 [ QSFW [ *********** QSYQ [ * TRACE * QTCL [ *********** QTWG [ QW*B [ QWS= #SKI K6TRACE>11-11 QX?6 ( QXQ2 STO 1 BATEMAN1 QY8W CALL 1 (JTRACE) [JUMP TO SEGMENT GSCANTRA QYMQ 8H%B Q^6L LDN 1 %A Q^KG ) R24B #NOR R2H= ) R326 [??? TRACEX SECT DIAG FGN 104 DOC R3F2 #SKI BUFTRACE R3XW ( R4BQ #SKI K6TRACE>5-5 R4TL ( R5#G #MAC TRACEX [M.C.D. MANN R5RB [ R6== [ R6P6 [ ************ R782 [ * TRACEX * R7M= [ ************ R85L [ R8J2 [ R92B #SKI K6TRACE>11-11 R9DQ ( R9X6 STO 1 BATEMAN1 R=*G CALL 1 (JTRACEX) R=RW ) R?== #SKI K6TRACE<12-12 R?NL BRN M1 R#72 8H%B R#KB LDN 1 %A R*3Q M1 R*G6 #NOR R*YG ) RBBW ) RBT= [??? PMNEWCHE SECT DIAG FGN 104 DOC RC?L #MAC PMNEWCHENT [M.C.D. MANN RCQ2 [ RD8B [ RDLQ [ **************** RF56 [ * PMNEWCHENT * RFHG [ **************** RF^W [ RGD= [ RGWL [ THIS MACRO UPDATES THE PM CHAPTER TABLE IN PMFIXINT WITH RH*2 [ THE NEW D & L VALUES OF THE SEGMENT(CHAPTER) SPECIFIED RHRB [ IN %A.IF IT IS A NEW SEGMENT,THEN A NEW ENTRY IS MADE. RK6G [ RKJW [ %A=SEGMENT NAME. RL3= [ RLFL #MEN PMFIXINT RLY2 #OPT J%A=JGAP RMBB #TRA J%A RMSQ PMDLSET %A RN?6 #SKI JGAP-J%A<1$1 RNPG FIXTRA JGAP RQH2 #END RQ^B #NOR RRCQ [??? PMSIZE SECT DIAG FGN 104 DOC RRW6 #SKI JSKI12 RS#G ( RSQW #MAC PMSIZE [M.C.D. MANN RT9= [ RTML [ RW62 [ ************ RWH9 [ * PMSIZE * RWYD [ ************ RX*M [ RXQW [ RY85 [ RYK# [ THIS MACRO IS CALLED FROM THE MENDIT MACRO(AND PMOVERLAY) AND R^2H [ IS USED TO UPDATE A WORD IN LOADER WHENEVER A PM SEGMENT IS R^CQ [ MENDITED.THIS WORD CONTAINS THE MINIMUM LENGTH OF FIXED CORE R^S^ [ WHICH PM REQUIRES TO RUN IN. S2=8 [ S2MC [ S34L #ALT JPMSIZE1=LPMACT+((LPMSUBSA+LPMSUBSB+LPMSUBSC)>(JREP2*6+2)) S3FT #ALT JPMSIZE1=JPMSIZE1>(LPMFILE+((LPMSUBSA+LPMSUBSB+LPMSUBSC)>(JREP2*6- S3X4 ))) S4#? #ALT JPMSIZE1=JPMSIZE1>(LPMBUFFS+LINPRIN+1024) S4PG #ALT JPMSIZE1=JPMSIZE1>(LPMCHAINS+((LPMSUBSA+LPMSUBSB+LPMSUBSC)>(JREP2- S56P *6))) S5HY #SKI AREDFSPM S5^7 #ALT JPMSIZE1=JPMSIZE1>(LPMFS+LPMFSB+512) S6BB #SKI AREDFSPM<1$1 S6RK #ALT JPMSIZE1=JPMSIZE1>(LPMFS+LPMFSB+512+LPMPRISJ) S78S #SKI JSKI25 S7L3 ( S83= #ALT JPMSIZE1=JPMSIZE1+LPMFIXINT+LPMDR S8DF #ALT JPMSIZE=JPMSIZE1+JPMBSEND S8TN #UNS JPMDA S9=X #ALT JPMSIZE=JPMSIZE+JPMDSIZE S9N6 ) S=5* #SKI JSKI25<1$1 S=GJ #ALT JPMSIZE=JPMSIZE1+BUFPM S=XR #MEN LOADERI S?*2 #TRA JLPMSIZE S?Q9 +JPMSIZE S#7D #END S#JM #NOR S#^W ) S*C5 ...[??? PMSIZEUP SECT DIAG FGN 107 DOC S*S# #SKI JSKI12 SB9L ( SBMB #MAC PMSIZEUP [M.C.D. MANN SC56 [ SCGW [ SCYL [ ************** SDBB [ * PMSIZEUP * SDS6 [ ************** SF9W [ SFML [ SG5B [ THIS MACRO IS CALLED FROM THE NEWFIXED MACRO AND IS USED TO SGH6 [ UPDATE A WORD IN LOADER WHICH CONTAINS THE MINIMUM LENGTH OF SGYW [ FIXED CORE WHICH PM REQUIRES TO RUN IN. SHBL [ SHSB [ SJ=6 ...#ALT JPMSIZE=JPMBSEND+JPMSIZE1+JPMDSIZE SJMW #MEN LOADERI SK5L #TRA JLPMSIZE SKHB +JPMSIZE SK^6 #END SLBW #NOR SLSL ) SM=B [??? PMTASMIT SECT DIAG FGN 104 DOC SMN6 #MAC PMTASMIT [M.C.D. MANN SN5W [ SNHL [ SN^B [ ************** SPC6 [ * PMTASMIT * SPSW [ ************** SQ=L [ SQNB [ SR66 [ PARAMETERS:- SRKQ ...[ %A=* - NO NEWMAC FOR PMACS SS5B ...[ %A=:USERNAME OR OMITTED,PMACS IS "NEWMAC"ED SSK2 ...[ (USERNAME OF PMACS.IF OMITTED CURRENT USER ASSUMED) ST4L ...[ %B=FGN OF PMACS (IF OMITTED LATEST ASSUMED) STJ= ...[ SW3W ...#STR %A SX36 ...( SX=Y ...#STR %A,* SXGQ ... NEWMAC %A.PMACS(%B),PMACTYPE SY2B ... PMACTYPE PMSUBSA SYG2 ... PMACTYPE PMSUBSB SY^L ... PMACTYPE PMSUBSC S^F= ...) S^YW ...#STR %A T28N ...#SKI T2DG ...( T3CQ ... NEWMAC PMACS(%B),PMACTYPE T3XB ... PMACTYPE PMSUBSA T4C2 ... PMACTYPE PMSUBSB T4WL ... PMACTYPE PMSUBSC T5B= ...) TGJ2 #NOR TH2= [??? PMTABMIT SECT DIAG FGN 104 DOC THDG #MAC PMTABMIT [M.C.D. MANN THWQ [ TJ*2 [ TJR= [ ************** TK9G [ * PMTABMIT * TKMQ [ ************** TL62 [ TLJ= [ TM2G [ PARAMETERS:- TMDQ [ %A = :USERNAME, %B,%D,%F,... FILENAME(NO VERD_SION NO. TMX2 [ %C,%E,%G,... FGN TN*= [ %B,%D,%F,... FGN TNRG [ OR %A=ALL TP9Q [ OR %A=:USERNAME, %B=ALL TPN= [ TQ7W #ALT GFIXCORE=1 TQ*4 ...#ALT BSFILEEND=2? TQG= ...#DEF 2?=DPMTABLEA TQMG #STR %A TR76 ( TRLQ #STR :,%A TS6B ( TSL2 #STR %A,ALL TT5L ( TTK= PMOVSEG ,PMTABLEA,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- TW4W R,%S,%T,%U,%V TWJG PMOVSEG ,PMTABLEB,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- TX46 R,%S,%T,%U,%V TXHQ PMOVSEG ,PMTABLEC,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- TY3B R,%S,%T,%U,%V TYH2 PMOVSEG ,PMTABLED,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- T^2L R,%S,%T,%U,%V T^G= PMOVSEG ,PMTABLEE,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- T^^W R,%S,%T,%U,%V W2FG PMOVSEG ,PMTABLEF,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- W2^6 R,%S,%T,%U,%V W3DQ PMOVSEG ,PMTABLEG,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- W3YB R,%S,%T,%U,%V W4D2 PMOVSEG ,PMTABLEH,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- W4XL R,%S,%T,%U,%V W5C= PMOVSEG ,PMTABLEI,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- W5WW R,%S,%T,%U,%V W6BG PMOVSEG ,PMTABLEJ,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- W6W6 R,%S,%T,%U,%V W7*Q PMOVSEG ,PMTABLEZ,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%- W7TB R,%S,%T,%U,%V W8*2 ) W8SL #STR %A,ALL W9#= #SKI W9RW ( W=?G MENDIT *,PMTABLEA,,,0,,PM W=R6 MENDIT *,PMTABLEB,,,0,,PM W?=Q MENDIT *,PMTABLEC,,,0,,PM W?QB MENDIT *,PMTABLED,,,0,,PM W#=2 MENDIT *,PMTABLEE,,,0,,PM W#PL MENDIT *,PMTABLEF,,,0,,PM W*9= MENDIT *,PMTABLEG,,,0,,PM W*NW MENDIT *,PMTABLEH,,,0,,PM WB8G MENDIT *,PMTABLEI,,,0,,PM WBN6 MENDIT *,PMTABLEJ,,,0,,PM WC7Q MENDIT *,PMTABLEZ,,,0,,PM WCMB ) WD72 ) WDLL #STR :,%A WF6= #SKI WFKW ( WG5G #STR %B,ALL WGK6 ( WH4Q PMOVSEG %A,PMTABLEA,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WHJB ,%S,%T,%U,%V,%W WJ42 PMOVSEG %A,PMTABLEB,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WJHL ,%S,%T,%U,%V,%W WK3= PMOVSEG %A,PMTABLEC,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WKGW ,%S,%T,%U,%V,%W WKWR PMOVSEG %A,PMTABLED,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WL=N ,%S,%T,%U,%V,%W WLLK PMOVSEG %A,PMTABLEE,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WM2G ,%S,%T,%U,%V,%W WMBC PMOVSEG %A,PMTABLEF,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WMQ# ,%S,%T,%U,%V,%W WN69 PMOVSEG %A,PMTABLEG,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WNG6 ,%S,%T,%U,%V,%W WNW3 PMOVSEG %A,PMTABLEH,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WP9Y ,%S,%T,%U,%V,%W WPKT PMOVSEG %A,PMTABLEI,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WP^Q ,%S,%T,%U,%V,%W WQ*M PMOVSEG %A,PMTABLEJ,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WQPJ ,%S,%T,%U,%V,%W WR5F PMOVSEG %A,PMTABLEZ,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R- WRFB ,%S,%T,%U,%V,%W WRT? ) WS98 #STR %B,ALL WSK5 #SKI WS^2 ( WT#X MENDIT %A,PMTABLEA,,,0,,PM WTNS MENDIT %A,PMTABLEB,,,0,,PM WW4P MENDIT %A,PMTABLEC,,,0,,PM WWDL MENDIT %A,PMTABLED,,,0,,PM WWSH MENDIT %A,PMTABLEE,,,0,,PM WX8D MENDIT %A,PMTABLEF,,,0,,PM WXJ* MENDIT %A,PMTABLEG,,,0,,PM WXY= MENDIT %A,PMTABLEH,,,0,,PM WY#7 MENDIT %A,PMTABLEI,,,0,,PM WYN4 MENDIT %A,PMTABLEJ,,,0,,PM W^3^ MENDIT %A,PMTABLEZ,,,0,,PM W^CW ) W^RR ) X27N ... PMTASMIT * X2HK ) X2XG #STR %A X3?C #SKI X3M# ! PMTABMIT ! WHERE'S YER PARAMETERS?? X3Q? ...#SKI 2?>ATABLESIZE$ATABLESIZE X3T= ...#DEL ** PMTABLES AREA LARGER THAN ALLOWED ** X3Y9 ...#DEF 2?=BSFILEEND X439 #ALT GFIXCORE=0 X4C6 #NOR X4R3 [??? PMOVSEG SECT DIAG FGN 104 DOC X56Y #MAC PMOVSEG [M.C.D. MANN X5GT [ X5WQ [ X6=M [ ************* X6LJ [ * PMOVSEG * X72F [ ************* X7BB [ X7Q? [ X868 [ PARAMETERS X8G5 [ %A=:USERNAME,%B=FILENAME, %C,%E,...FILENAME, %D,%F,...FGN X8W2 [ X99X ...#ALT JPMRR=1 X9KS PMMATCH %A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T,%U- X=36 ,%V,%W,%X X=CB ...#SKI JPMRR X=RL MENDIT *,%B,,,0,,PM X?7W #NOR X?J6 [??? PMMATCH SECT DIAG FGN 104 DOC X?YB #MAC PMMATCH [M.C.D. MANN X##L [ X#NW [ X*56 [ ************* X*FB [ * PMMATCH * X*TL [ ************* XB9W [ XBL6 [ XC2B [ PARAMETERS XCBL [ %A=:USERNAME,%B=FILENAME, %C,%E,...FILENAME, %D,%F,...FGN XCQW #STR %C XD76 ( XDHB #STR %B,%C XDXL #SKI XF?W ( XFN6 MENDIT %A,%C,,%D,3,,PM XG4B ...#ALT JPMRR=0 XGDL ) XGSW #STR %B,%C XH96 PMMATCH %A,%B,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T,%U,%V XHKB ) XH^L #NOR XJ*W [??? TRACMORE SECT DIAG FGN 104 DOC XJQ6 #MAC TRACMORE [M.C.D. MANN XK6B [ XKGL [ XKWW [ ************** XL?6 [ * TRACMORE * XLMB [ ************** XM3L [ XMCW [ XMS6 [ RESTORE TIME MACRO TO CHANGE XN8B [ TRACE BUFFER SIZE XNJL [ PARAMETERS:- %A- NEW BUFFER SIZE(DEFAULT-UNCHANGED) XNYW [ XP*6 #STR %A XPPB ( XQ6Q #SKI %A>4095$4095 XQJS ( XR2W !DON'T BE TOO AMBITIOUS!LENGTH GIVEN IS 4095! XRDY #ALT JTRASIZE=4095 XRX2 ) XS*4 #SKI %A<4095$4095 XSR6 #ALT JTRASIZE=%A XT98 #SKI %A<512$512 XTM= ( XW5# !MINIMUM SIZE MUST BE 512! XWHB #ALT JTRASIZE=512 XW^D ) XXCG #MEN CONSTANT XXTJ #TRA JTRALEN XY?L +JTRASIZE-1/JTRAENT+1*JTRAENT XYPN #END X^7Q ) X^KS #STR %A Y23W #SKI Y2FY !NO PARAMETER-TRACE UNCHANGED! Y2Y2 #NOR Y3B4 [??? SCANMORE SECT DIAG FGN 104 DOC Y3S6 #MAC SCANMORE [M.C.D. MANN Y4=8 [ Y4N= [ Y56# [ ************** Y5JB [ * SCANMORE * Y62D [ ************** Y6DG [ Y6WJ [ Y7#L [ RESTORE TIME MACRO TO CHANGE Y7QN [ GSCAN BUFFER SIZE Y88Q [ PARAMETERS:- %A -NEW GSCAN SIZE Y8LS [ Y94W #STR %A Y9GY ( Y9YG #SKI %A>4095$4095 Y=B4 ( Y=RL !DON'T BE TOO AMBITIOUS!LENGTH GIVEN IS 4095! Y?98 #ALT GSCANSIZE=4095 Y?LQ ) Y#4# #SKI %A<4095$4095 Y#FW #ALT GSCANSIZE=%A Y#XD #SKI %A<512$512 Y**2 ( Y*QJ !MINIMUM SIZE MUST BE 512! YB86 #ALT GSCANSIZE=512 YBKN ) YC3= #MEN CONSTANT YCDS #TRA GSCANLEN YCWB +GSCANSIZE YD?Y #END YDPG ) YF74 #STR %A YFJL #SKI YG28 !NO PARAMETER GIVEN-GSCAN UNCHANGED! YGCQ #NOR YGT# [??? PMSHRINK SECT DIAG FGN 104 DOC YH=W #MAC PMSHRINK [M.C.D. MANN YHND [ YJ62 [ YJHJ [ ************** YJ^6 [ * PMSHRINK * YKBN [ ************** YKS= [ YL9S [ YLMB [ RESTORE TIME MACRO TO REDUCE PM TIME YM4Y [ YMGG [ %A=ON FOR SHRINKING YMY4 [ %A=OFF FOR REVERSION TO NORMAL PM YN*L [ YNR8 #STR ON,%A YP8Q ( YPL# #STR OFF,%A YQ3W ( YQFD !INCORRECT PARAMETER TO PMSHRINK MACRO! YQX2 #EXI YR*= ) YRSW ) YS#G #OPT AKKPM=1 YSS6 #STR %A,ON YT?Q #ALT AKKPM=1 YTRB #STR %A,OFF YW?2 #ALT AKKPM=0 YWQL #MEN MOPPM YX== #TRA K51MOPPM YXPW +AKKPM*119000+1000/K9 YY9G #END YYP6 #MEN PMDR Y^8Q #TRA JPMIPL Y^NB +AKKPM ^282 #TRA JPMIPB ^2ML +AKKPM ^37= #TRA JPMWIND ^3LW +AKKPM ^46G #END ^4L6 #NOR ^55Q ...[??? JPMFAIL SECT DIAG FGN 105 DOC ^5KB #MAC JPMFAIL [M.C.D. MANN ^652 [ ^6JL [ ^74= [ ************* ^7HW [ * JPMFAIL * ^83G [ ************* ^8H6 [ ^92Q [ ^9GB ... LDCT %A #150 [CHECK BITS 2, 3 AND 5 ^=22 ... SMO FXPMDR ^=FL ... ANDX %A JMTRW1 [TRANSFER FAILED IF ANY OF ^=^= ... BNZ %A %B [THESE BITS ARE SET TO 1 ^?DW #NOR ^^^^ ...32512230017000000000