{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: PROGISH850)}}
====== PROGISH850 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ADDRESS|ADDRESS]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:CAPCA|CAPCA]], [[george:macro:CHECKB|CHECKB]], [[george:macro:DATUMB|DATUMB]], [[george:macro:FINDCORE|FINDCORE]], [[george:macro:FJOPCA|FJOPCA]], [[george:macro:FREECORE|FREECORE]], [[george:macro:GETCORE|GETCORE]], [[george:macro:GETWORD|GETWORD]], [[george:macro:HLSINFORM|HLSINFORM]], [[george:macro:HLSINFRT|HLSINFRT]], [[george:macro:HUNT|HUNT]], [[george:macro:ILLEGAL|ILLEGAL]], [[george:macro:ISSUCOMB|ISSUCOMB]], [[george:macro:LINK|LINK]], [[george:macro:MASK|MASK]], [[george:macro:MENDAREA|MENDAREA]], [[george:macro:MHUNT|MHUNT]], [[george:macro:NAME|NAME]], [[george:macro:OUTMOVE|OUTMOVE]], [[george:macro:PROGBRKIN|PROGBRKIN]], [[george:macro:RUNPROG|RUNPROG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SPARANOX|SPARANOX]], [[george:macro:SPARAPAS|SPARAPAS]], [[george:macro:STEPBACK|STEPBACK]], [[george:macro:TRACE|TRACE]], [[george:macro:WORDFIN|WORDFIN]]
22FL #LIS K0PROGISH>K0ALLGEO>K0GREATGEO>K0COMMAND
22^= #SEG PROGISH60 [ BILL IZATT
23DW 8HPROGISH
23YG [ ENTRY POINT. THIS LOCATION MUST REMAIN FIXED
24D6 SEGENTRY K1PROGISH,QENTRY1
24K# ...#SKI JWPHASE4
24QG ... SEGENTRY K2PROGISH,QENTRY2
24XQ [
25CB [
25X2 # THIS SEGMENT DEALS WITH THE PERI TYPE 60 EXTRACODE,MODES 1 AND 2.
26BL # MODE 1 IS USED FOR ISSUING COMMANDS FROM AN OBJECT PROGRAM.
26W= # MODE 2 IS USED FOR READING THE PARAMETERS OF THE COMMAND THAT
27*W # ENTERED THE PROGRAM
27TG # MODE 2 WILL READ PARAMETERS EITHER SERIALLY OR RANDOMLY.THE
28*6 # LATTER CASE IS DISTINGUISHED FROM THE FORMER BY SETTING THE
28SQ # REPLACEMENT BIT IN THE TYPE/MODE WORD OF THE CONTROL AREA
29#B # REFERRED TO BY THE PERI
29S2 QENTRY1
2=?L DATUMB 3,FX2 [DATUM OF OBJPROG
2=R= LDN 7 4 [ADDRESS TO WHICH WORDS TO BE MOVED
2?=W LDN 6 4 [NO. WORDS TO BE MOVED
2?QG OUTMOVE 3,EVENT2(2),7,6
2#=6 LDX 5 6 [CHAR COUNT
2#PQ ANDN 5 #777
2*9B LDX 6 4 [LOAD IN X6
2*P2 ANDX 6 MASKA(1) [RETAIN MODE
2*S6 ... BXE 6 THREE(1),PBRK [J IF MODE 3.
2*X= ... LDCT 0 #600
2B2B ... ANDX 0 7
2B5G ... BNZ 0 XILL [ILLEGAL IF NOT CHAR 0
2B8L TXU 6 TWO(1)
2BN= BCC PARAM [J IF MODE TWO
2D76 TXU 6 ONE(1)
2DLQ BCS RILLEGAL [J IF NOT MODE ONE
2F6B # THIS SECTION DEALS WITH MODE 1 (PROGRAM ISSUED COMMANDS)
2FL2 LDX 6 5 [LOAD COUNT IN X6
2G5L BZE 5 P4
2GK= ADN 5 3
2H4W SRL 5 2
2HC? ... CHECKB 7,5,WORDA,FX2,,WORDB
2HPN ...[ CHECKB BUFFER. OPCA HAS DONE CONTROL AREA.
2J46 WORDB ADN 5 2 [2 WORD RECORD HDR
2JHQ GETCORE 5,1 [GET BLOCK FOR COMMAND
2K3B FINDCORE 3
2KH2 NAME 3,ADATA,CREADL [NAME AS READLINE BLOCK
2L2L STO 6 A1(3) [STORE CHAR COUNT IN BLOCK
2LG= ADN 3 A1+2 [CHAR POS IN RL
2L^W DATUMB 4,FX2 [DATUM OF OBJPROG
2MFG SBN 5 2 [NO WORDS IN AREA
2M^6 OUTMOVE 4,7,3,5
2NDQ SMO FX2
2NYB LDX 3 EVENT2
2PD2 CAPCA ADATA,CREADL [TAKE BLOCK INTO CPA
2PXL LDX 0 PROGCON(1)
2QC= ORS 0 CONTEXT(2) [SET IC CONTEXT BIT
2QWW ISSUCOMB PROGERR,XBRK
2RBG P5
2RW6 LDN 5 0
2S*Q P2
2STB LDX 7 PMAS(1)
2T*2 ANDS 7 CONTEXT(2) [LOSE IC BIT
2W#= P1
2WRW ADN 3 1 [ADDRESS OF REPLY WORD
2X?G ... GETWORD 3,2,WRITE
2^=2 STO 5 0(2)
2^?Y ... WORDFIN
2^*W ... LDX 0 CONTEXT(2)
2^CS ... ANDN 0 #4000
2^FQ ... BNZ 0 RUNP [J IF STILL FULLY STARTED
2^FS ... LDX 0 JOBEVENTS(2)
2^FW ... BNG 0 RUNP [J IF BROKEN IN
2^FY ...#SKI JWPHASE4
2^G6 ...(
2^G# ... HLSINFORM SAVEABLE,FSTART,JOBNO(2),,,,XFSLINK(1)
2^GC ... BRN RUNP
2^GG ...QENTRY2
2^GN ... HLSINFRT RUNP,FSTART
2^GW ...)
2^H4 ...#SKI JWPHASE4<1$1
2^H= ...(
2^HN ... NGN 6 1
2^KL ... ACROSS FULSTART,1
2^LK ...)
2^MJ ...RUNP
2^PL RUNPROG
329= P4
32NW #SKI K6PROGISH>99-99
338G TRACE 5,ZERCOUNT
33N6 LDX 2 FX2
347Q LDX 3 EVENT2(2)
34CJ ... CAPCA
34MB BRN P1
3572 PROGERR
35LL LDCT 5 16 [SET B4=1 IN REPLY WORD
366= BRN P2
36KW XBRK
375G LDCH 4 EXT+10(2)
37K6 TXU 4 THREE(1)
384Q BCS P5
38JB STEPBACK
3942 LDX 7 PMAS(1)
39HL ANDS 7 CONTEXT(2)
3=3= PROGBRKIN
3=GW WORDA ILLEGAL RESVIOL,PERI4
3?2G RILLEGAL
3?#X ... ILLEGAL MODE
3?M# ...XILL ILLEGAL CHAR
3?^Q # THIS SECTION DEALS WITH MODE 2 (READING PROGRAM PARAMETERS)
3#FB PARAM
3#^2 LDX 6 5
3*DL ADN 6 3
3*Y= SRL 6 2 [NO. WORDS IN AREA
3BCW CHECKB 7,6,WORDA,FX2,W,WORDC
3BXG WORDC BNG 4 REPX
3CC6 LDX 4 GSIGN
3CWQ PQ LDX 3 EVENT2(2)
3DBB STO 3 AWORK1(2)
3DW2 CAPCA
3F*L BPZ 4 PT
3FT= SPARAPAS
3G#W ...PF
3K=L HUNT 2,CPB,CUNI
3KQ= LDX 4 ANUM(2)
3L9W BNG 4 SETB4 [J IE NO PARAM
3LPG BZE 4 WFIN [J IF NULL
3M96 ANDN 4 #7777
3MNQ TXL 4 5
3N8B BCS POR [J IF PARAM SHORTER THAN COUNT
3NN2 LDX 4 5
3P7L POR STO 5 JPARNUM(2) [STORE NL. CHARS
3PM= SBS 4 JPARNUM(2) [FIND UNEXPIRED CHAR COUNT
3Q6W ... LDN 6 APARA [POINTER TO CHARS FOR TRANSFER
3QLG BZE 4 WIN
3R66 LDN 5 0
3RKQ SRL 45 2 [X4 NO. WHOLE WORDS TO BE MOVED
3S2B ... BZE 5 P3
3SC2 ... ADN 4 1
3SRL ...P3 GETWORD 7,2,WRITE,3,4
3T8= ... BXGE 3 4,P3A
3TJW ... MHUNT 1,CPB,CUNI
3T^G ... ADX 1 6
3WB6 ... MOVE 1 0(3)
3WQQ ... ADX 6 3
3X7B ... ADX 7 3
3XJ2 ... SBX 4 3
3XYL ... BRN P3
3Y*= ...P3A BZE 5 P3B
3YPW ... SBN 4 1
3^6G ...P3B SLL 45 2
3^H6 ... MHUNT 1,CPB,CUNI
3^XQ ... LDX 3 1
42#B ... ADX 1 6
42P2 ... SMO 4
435L ... MVCH 1 0
43G= ... LDX 2 3
43XB WIN LDX 5 JPARNUM(2)
44C2 WFIN FREECORE 2
44WL LDX 3 AWORK1(2)
45B= BRN P1
45TW SETB4 LDCT 0 16 [SET B4=1 IN REPLY WORD
46*G ORX 5 0
46T6 BRN WFIN
47#Q REPX LDX 4 EVENT5(2)
47SB SRL 4 21
48#2 ADDRESS 3,4,2
48RL LDX 4 0(2) [GET X
49?= LDX 2 FX2
49QW ANDN 4 #777 [ISOLATE BITS 15-23
4==G BRN PQ
4=Q6 PT LDN 3 0
4?9Q SPARANOX 4,3
4?PB BRN PF
4#92 #
4#NL # THIS SECTION DEALS WITH MODE3 - TO EFFECT A PSEUDO BRKIN
4*8= #
4*MW PBRK FJOPCA 3,2
4B7G LDX 4 JMISC(3)
4BM6 BNG 4 RILLEGAL [J IF BACKGROUND JOB
4C6Q LDX 4 EVENT2(2)
4CLB LDN 5 0
4D62 ADN 4 1 [ADDRESS OF REPLY WORD
4DKL DATUMB 6,2 [ STORE ZERO IN
4F5= ADDRESS 6,4,2 [ PROGRAM'S REPLY
4FJW STO 5 0(2) [ WORD
4G4G CAPCA [CHANGE TO CPAT
4GJ6 LDX 4 GSIGN
4H3Q ORS 4 JOBEVENTS(2) [SET BRK IN BIT
4HHB PROGBRKIN [RETURN TO CP AT BRK-IN ENTRY FOR
4J32 [ PROGRAMS
4JGL MASK #17777777
4K2= MASKA #77777
4KFW ONE +1
4K^G TWO +2
4LF6 THREE +3
4LYQ PROGCON #10000
4MDB PMAS #77767777
4MG^ ...#SKI JWPHASE4
4MKJ ...(
4MN7 ...XFSLINK
4MQQ ... LINK PROGISH,2
4MT* ...)
4MY2 MENDAREA 15,K99PROGISH
4NCL #END
^^^^ ...20254770000300000000