{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: IPALL864)}}
====== IPALL864 ======
(George Source)
**Macros used:** [[george:macro:BBS|BBS]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:CLOSETOP|CLOSETOP]], [[george:macro:DOWN|DOWN]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:FSHCODE|FSHCODE]], [[george:macro:FSHENTRY|FSHENTRY]], [[george:macro:FSHIPCON|FSHIPCON]], [[george:macro:FSHIPS|FSHIPS]], [[george:macro:GEOERR|GEOERR]], [[george:macro:IPCONT|IPCONT]], [[george:macro:IPUSEX|IPUSEX]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUT|MONOUT]], [[george:macro:OUTBLOCK|OUTBLOCK]], [[george:macro:OUTNUM|OUTNUM]], [[george:macro:OUTPARAM|OUTPARAM]], [[george:macro:OUTPARAX|OUTPARAX]], [[george:macro:READ|READ]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETUPCORE|SETUPCORE]], [[george:macro:SYNTHMON|SYNTHMON]], [[george:macro:TRACE|TRACE]], [[george:macro:TRANSFIN|TRANSFIN]], [[george:macro:TRANSRET|TRANSRET]], [[george:macro:UNSET|UNSET]], [[george:macro:UP|UP]], [[george:macro:XYZ|XYZ]]
22FL SEG IPALL,864,G.N.HAWKE
22^= #
23DW SEGENTRY K1IPALL,XK1
23YG FSHENTRY K2IPALL,XK2,XK2,XK2
24D6 FSHENTRY K3IPALL,XK3,XK3,XK3
24XQ [ THIS SEGMENT IMPLEMENTS THE ALL PART OF THE INSTPARA COMMAND
25CB #
25X2 #UNS IPEXTENSION+1*IPEXTENSION
26BL #DEF XIPEXT=1
26W= #UNS IPEXTENSION+1*IPEXTENSION
27*W #SKI
27TG #DEF XIPEXT=0
28*6 FSHCODE AORB
28SQ (
29#B # AWORK3 IS USED TO INDICATE WHETHER AN 'IN' PARAMETER HAS BEEN
29S2 # SPECIFIED. ON ENTRY X4 HOLDS THE APPROPRIATE BITS.
2=?L # BIT 3 - 'IN' PARAMETER SPECIFIED
2=R= # BIT 4 - 'IN A'
2?=W # BIT 5 - 'IN B'
2?QG )
2#=6 [ THE FOLLOWING IP'S VALUES ETC, CANNOT BE CONVERTED BY CHNUMCON
2#PQ XJOB +JOBTRACE-INSTPARAM [PARAM NUMBERS
2*9B +IMINTRACE-INSTPARAM [OF TRACE TYPE
2*P2 +IMOPTRACE-INSTPARAM [I-PS
2B8L XOPTR +IOPTRACE-INSTPARAM
2BN= XCON +ICONTEXT-INSTPARAM
2C7W UNS +5
2CMG UNSET 5HUNSET
2D76 XEMP GEOERR 1,PARAEMPT [IF PARAMINDEX EMPTY-GEOERR
2DLQ [ IF CONTEXT THEN OTHER PARAMETERS ARE A,B OR C
2F6B [ S/R TO CONVERT AND O/P CONTEXT TYPE PARS
2FL2 TEXTCON
2G5L SBX 6 FX1
2GK= IPCONT 7,3 [CONVERT PARAMETER
2H4W OUTPARAM 3,ACOMMUNE1
2HJG ADX 6 FX1
2J46 EXIT 6 0
2JHQ OUTNUM [S/R TO OUTPUT DEC NO IN X6
2K3B SBX 3 FX1
2KH2 OUTNUM 6,7,1
2L2L ADX 3 FX1
2LG= EXIT 3 0
2L^W #
2MFG #SKI XIPEXT
2M^6 XK1 DOWN SETUPARA,2 [SET UP FILE/FRB BLOCK
2NDQ #SKI XIPEXT<1$1
2NYB XK1 READ
2PD2 CLOSETOP
2PXL FSHCODE AORB
2QC= STO 4 AWORK3(2) [STORE BIT INDICATOR IN AWORK3
2QWW MONOUT IPHEADING [OUTPUT HEADING
2RBG MHUNTW 3,FILE,FRB
2RW6 STOZ 6
2S*Q #SKI XIPEXT
2STB LDX 7 A1+FRH(3) [NUMBER OF WORDS IN FILE?FRB BLOCK
2T*2 #SKI XIPEXT<1$1
2TSL LDEX 7 A1+FRH(3)
2W#= BZE 7 XEMP [PARAMINDEX IS EMPTY
2WRW LDN 0 IPLINE
2X?G DVR 6 0 [CT IN X7
2XR6 STOZ AWORK1(2)
2Y=Q XLOOP ADX 3 AWORK1(2)
2YQB STO 7 AWORK2(2) [SAVE COUNT
2^=2 LDX 1 IPNUM(3)
2^PL LDN 4 INSTPARL
329= #SKI XIPEXT
32NW (
338G BPZ 1 NOTXTNUM [J IF NOT IN EXTENSION TABLE
33N6 LDEX 0 1 [REMOVE 'EXTENSION TABLE' BIT
347Q BXGE 0 IPEXTCOUNT,XOUT [J IF OUT OF RANGE
34MB BRN XTNUM
3572 NOTXTNUM
35LL )
366= TXL 4 1
36KW BCS XOUT [J IF OUT OF RANGE
375G XTNUM
37K6 STO 4 AWORK4(2) [MARKER
384Q LDN 2 XCON-XJOB
38JB XYZ ADX 2 FX1
3942 TXU 1 XJOB-1(2)
39HL BCC TRC [J IF TRACE
3=3= SBX 2 FX1
3=GW BCT 2 XYZ
3?2G LDX 2 FX2
3?G6 NGS 2 AWORK4(2) [SET MARKER => CONTEXT
3?^Q SMO FX1
3#FB TXU 1 XCON
3#^2 BCC TRC [CONTEXT I.P
3*DL STOZ AWORK4(2) [CLEAR MARKER
3*Y= TRC
3BCW FSHCODE AORB
3BXG (
3CC6 LDX 2 FX2 [RESET X2
3CWQ LDX 4 1 [SAVE CURRENT IPNUM IN X4
3DBB FSHCODE A,XFSHANUM
3DW2 (
3F*L BBS 4,AWORK3(2),XCURRALL [J IF A'S IPS REQUIRED
3FT= XFSHANUM
3G#W )
3GSG FSHIPCON 1,5 [GET CORRESPONDING IPNUM IN X5
3H#6 MHUNTW 3,FILE,FRB [PTR TO FILE/FRB BLOCK
3HRQ FSHCODE B,XFSHBNUM
3J?B (
3JR2 BBS 5,AWORK3(2),XFSHBNUM [J IF B'S IPS REQUIRED
3K=L ADX 3 AWORK1(2) [RESET PTR TO IP WITHIN BLOCK
3KQ= BRN XFSHBALL
3L9W XFSHBNUM
3LPG )
3M96 NXTIP
3MNQ BXE 5 IPNUM(3),TESTCURR [J IF NOT REQUIRED IPNUM
3N8B ADN 3 IPLINE [PTR TO NEXT IP ENTRY
3NN2 BRN NXTIP
3P7L TESTCURR
3PM= LDX 1 4 [RESTORE CURRENT IPNUM
3Q6W FSHCODE B,XFSHBALL
3QLG (
3R66 BBS 5,AWORK3(2),XCURRALL [J IF CURRENT MACHINE IPS REQD
3RKQ XFSHBALL
3S5B )
3SK2 LDX 1 5 [LOAD CORRESPONDING IPNUM INTO X1
3T4L XCURRALL
3TJ= )
3W3W #SKI XIPEXT
3WHG IPUSEX LDX 4,1 [LOAD CURRENT VALUE OF IP
3X36 #SKI XIPEXT<1$1
3XGQ LDX 4 INSTPARAM(1)
3Y2B LDX 5 IPMIN(3)
3YG2 LDX 6 IPMAX(3)
3Y^L LDN 3 IPNAME
3^F= LDX 2 FX2
3^YW ADX 3 AWORK1(2)
42DG LDN 0 13
42Y6 OUTBLOCK 0 [SET UP PARAM BLOCK
43CQ LDN 1 12
43XB OUTPARAX 1,3,FILE,FRB [NAME
44C2 LDX 0 AWORK4(2)
44WL BZE 0 XFIG [J IF NOT TRACE
45B= BPZ 0 TRACX [J IF TRACE TYPE I.P.
45TW BNZ 6 XCON1
46*G CALL 3 OUTNUM [IF ZERO, USE OUTNUM
46T6 BRN T10
47#Q XCON1 LDX 7 6
47SB CALL 6 TEXTCON [CONVERT MIN
48#2 T10 BNZ 5 XCON2
48RL LDX 6 5
49?= CALL 3 OUTNUM
49QW BRN TRC1
4==G XCON2 LDX 7 5
4=Q6 CALL 6 TEXTCON
4?9Q BRN TRC1
4?PB TRACX
4#92 LDX 0 6
4#NL CALL 6 SYNTH
4*8= LDX 0 5
4*MW CALL 6 SYNTH
4B7G BRN TRC1
4BM6 XFIG
4C6Q CALL 3 OUTNUM [MAX
4CLB LDX 6 5
4D62 CALL 3 OUTNUM [MIN
4DKL TRC1
4F5= CALL 7 SUNSET [IS IP UNSET
4FJW BRN XMON
4G4G BRN NOT
4GJ6 #
4H3Q SUNSET
4HHB BXE 4 GSIGN,SSUNS
4J32 EXIT 7 1
4JGL #
4K2= SSUNS
4KFW [ THIS CURES B2928 - I.E. AS OUTPARAM MAY COORDINATE
4K^G [ WE MUST RELITIVIZE THE LINK (X7)
4LF6 [ DONE 4TH JUNE 75 :CENT
4LYQ [
4MDB SBX 7 FX1
4MY2 LDX 0 UNSET(1) [CASE WHEN IP UNSET
4NCL STO 0 ACOMMUNE5(2)
4NX= LDX 0 UNSET+1(1)
4PBW STO 0 ACOMMUNE6(2)
4PWG LDN 4 7
4QB6 OUTPARAM 4,ACOMMUNE5
4QTQ ADX 7 FX1
4R*B [
4RT2 EXIT 7 0
4S#L NOT LDX 6 4
4SS= LDX 0 AWORK4(2)
4T?W BZE 0 NOTT [J IF NOT TRACE
4TRG BPZ 0 TRCX
4W?6 BZE 6 NOTT
4WQQ LDX 7 6
4X=B CALL 6 TEXTCON [CONVERT VALUE
4XQ2 BRN XMON
4Y9L TRCX
4YP= LDX 0 4
4^8W CALL 6 SYNTH
4^NG BRN XMON
5286 NOTT
52MQ CALL 3 OUTNUM [CURRENT VALUE
537B XMON MONOUT IPLISTING
53M2 XOUT
546L MHUNTW 3,FILE,FRB
54L= LDN 0 IPLINE
555W ADS 0 AWORK1(2)
55KG LDX 7 AWORK2(2) [RESTORE COUNT
5656 BCT 7 XLOOP
56JQ XEND
574B ENDCOM
57J2 #
583L [ S/R TO CONVERT TRACE TYPE IPS
58H= SYNTH
592W SBX 6 FX1
59GG SYNTHMON 0
5=26 ADX 6 FX1
5=FQ EXIT 6 0
5=^B #
5?F2 FSHCODE AORB
5?YL (
5#D= XK2
5#XW # THIS ENTRY POINT SETS UP A FSH/FSHIPS BLOCK AND COPIES INTO IT THE
5*CG # CORRESPONDENCE TABLE FOR THE INSTALATION PARAMETERS IN THE TWO
5*X6 # MACHINES. IT IS ENTERED FROM SETUPARA BY A 'DOWN' TO OBTAIN THE
5BBQ # TABLE FOR MACHINE B AND BY A SUPERVISORY 'TRANSBEG' TO OBTAIN THE
5BWB # TABLE FOR MACHINE A AS THIS IS ONLY REQUIRED FOR CHECKING WHEN
5CB2 # LOADING MACHINE B.
5CTL #
5D*= SETUPCORE IPEXTCOUNT,3,FSH,FSHIPS [SETUP FSH/FSHIPS BLOCK
5DSW #SKI K6IPALL>99-99
5F#G TRACE 3,INSTIPS
5FS6 ADN 3 A1 [POINT TO START OF DATA AREA
5G?Q LDN 2 XIPTABSTART(1) [START OF CORRESPONDENCE TABLE
5GRB MOVE 2 IPEXTSIZE [MOVE ALL OF TABLE INTO BLOCK
5H?2 FSHCODE B,XFSHBTAB
5HQL (
5J== #SKI K6IPALL>99-99
5JPW TRACE 3,UPFSHIP
5K9G UP [ENTERED BY DOWN FROM SETUPARA
5KP6 XFSHBTAB
5L8Q )
5LNB FSHCODE A,XFSHATAB
5M82 (
5MML #SKI K6IPALL>99-99
5N7= TRACE 2,FINFSHIP
5NLW TRANSFIN ,AUT [ENTERED BY TRANSBEG FROM SETUPARA
5P6G TRANSRET [ (SUPERVISORY TRANSBEG)
5PL6 XFSHATAB
5Q5Q )
5QKB #PAGE
5R52 # THIS ENTRY POINT IMPLEMENTS THE FSHIPCON MACRO TO CONVERT AN IP
5RJL # NUMBER TO ITS CORRESPONDING IPNUMBER IN THE OTHER MACHINES
5S4= # MATCHING IPVALUE IN FIXED CORE USING THE CORRESPONDENCE TABLE HELD
5SHW # AT THE END OF THIS SEGMENT.
5T3G #
5TH6 XK3
5W2Q LDX 5 ACOMMUNE1(2) [IP NUMBER TO BE CONVERTED
5WGB #SKI K6IPALL>99-99
5X22 TRACE 5,INSTCONV
5XFL ADN 1 XIPTABSTART [PTR TO START OF CORRESPONDENCE TABLE
5X^= LDX 4 IPEXTCOUNT [LENGTH OF CORRESPONDENCE TABLE
5YDW NEXTIPPAIR
5YYG LDX 0 0(1) [NEXT ENTRY IN CORRESPONDENCE TABLE
5^D6 #SKI K6IPALL>199-199
5^XQ TRACE 0,IPCORENT
62CB BPZ 5 TOPHALF [J IF IPNUM GIVEN FOR MACHINE A
62X2 ANDN 0 #7777 [BITS 12-23 OF ENTRY
63BL SRC 0 1 [IP NUMBER FOR MACHINE B
63W= BRN TESTIPNUM
64*W TOPHALF
64TG ANDX 0 HALFTOP [BITS 0-11 OF ENTRY
65*6 SLC 0 11 [IP NUMBER FOR MACHINE A
65SQ TESTIPNUM
66#B BXE 0 5,XFOUND [J IF SAME AS IP GIVEN FOR CONVERSION
66S2 ADN 1 1 [POINT TO NEXT ENTRY IN TABLE
67?L BCT 4 NEXTIPPAIR [J IF MORE ENTRIES IN TABLE
67R= BRN XIPUP [NO MATCHING FOUND
68=W XFOUND
68QG LDX 0 0(1) [MATCHING ENTRY IN TABLE
69=6 BPZ 5 XBOTTOMHALF [J IF IP NUMBER GIVEN FOR MACHINE A
69PQ ANDX 0 HALFTOP [BITS 0 - 11
6=9B SLC 0 11 [CORRESPONDING IPNUM FOR MACHINE A
6=P2 BRN STOREIPNUM
6?8L XBOTTOMHALF
6?N= ANDN 0 #7777 [BITS 12 - 23
6#7W SRC 0 1 [CORRESPONDING IPNUM FOR MACHINE B
6#MG STOREIPNUM
6*76 #SKI K6IPALL>99-99
6*LQ TRACE 0,CONVINST
6B6B STO 0 ACOMMUNE1(2) [STORE CORRESPONDING IPNUM
6BL2 XIPUP
6C5L UP [RETURN TO CALLING SEGMENT
6CK= #
6D4W SEGENTRY K50IPALL
6DJG XIPTABSTART
6F46 #UNS IPEXTSIZE [ONLY SET IF EXTENSION TABLE ALREADY DEFINED
6FHQ FSHIPS SHAPE [REDEFINE CORRESPONDENCE TABLE
6G3B #UNS IPEXTSIZE [LEAVE SPACE FOR CORRESPONDENCE TABLE IF NOT
6GH2 #SKI [ALREADY DEFINED BY 'FSHIPS' MACRO
6H2L #GAP 50 [50 WORDS FOR IP CORRESPONDENCE TABLE
6HG= )
6H^W MENDAREA 30,K99IPALL
6JFG #END
^^^^ ...667074460001