PROGISH850
(George Source)
Macros used: ACROSS, ADDRESS, BXE, BXGE, CAPCA, CHECKB, DATUMB, FINDCORE, FJOPCA, FREECORE, GETCORE, GETWORD, HLSINFORM, HLSINFRT, HUNT, ILLEGAL, ISSUCOMB, LINK, MASK, MENDAREA, MHUNT, NAME, OUTMOVE, PROGBRKIN, RUNPROG, SEGENTRY, SPARANOX, SPARAPAS, STEPBACK, TRACE, WORDFIN
- PROGISH850.txt
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