OPCAXCOD5
(George Source)
Macros used: CAPCA, CHECKB, CHECKEXT, DOWN, ENDCOM, FADDRESS, FOUTMOVE, FPCACA, FREECORE, HUNT2, HUNTW, ILLEGAL, MACCS, MENDAREA, MHUNTW, MONITOR, MONOUT, NAME, OUTBLOCK, OUTNULL, OUTPACKC, OUTPARAM, OUTPARC, PMODES, PROGEND, RUNPROG, SEGENTRY, SETUPCORE, TRACE, UNPLUG
- OPCAXCOD5.txt
22FL #LIS K0OPCAXCOD 22^= #SEG OPCAXCOD5 [R.H.THOMPSON 7/OPAW 23DW 8HOPCAXCOD 23YG SEGENTRY K1OPCAXCOD,XENT1 24D6 SEGENTRY K2OPCAXCOD,XENT2 24XQ # THIS SEGMENT IS ENTERED FROM OPCA TO DEAL WITH THE 160-161 EXTRACO 25CB # K1OPCAXCOD FOR SUSTY DISTY,DELTY.K2OPCAXCOD FOR SUSWT,DISP,DEL 25X2 # 13/5/70 NEW SEGMENT BECAUSE OF CHANGES TO CHECKA,B-IT MAY CO-ORD 26BL # IF PAGE TURN REQD DETECTED:ALSO CHANGED TO USE FAST 26W= # ACCESS MACROS(FOUTMOVE ETC), REMOVE USE OF DATUMB, TO 27*W # USE EVENT WORDS & PICK UP MEMBER NO FROM ANM.J.S.RAYNER. 27TG QHASH #23 28*6 Q77777000 #77777000 28SQ Q10 +10 29#B Q77777 #77777 29S2 Q17777777 #17777777 2=?L Q2 +2 2=R= Q3 +3 2?=W QIN #51562000 2?QG # VARIOUS SUBROUTINES.THEY CONTAIN CALLS FOR MACROS 2#=6 XILLINS 2#PQ ILLEGAL ILLINS 2*9B XRESVIOL 2*P2 ILLEGAL RESVIOL 2B8L # CHECK THAT THE ADDRESS IN X5 IS IN RESERVATIONS 2BN= XCHECK0 2C7W LDN 6 1 2CMG # CHECK THAT THE AREA WITH ADDRESS IN X5 & LENGTH IN X6 IS IN RESERV 2D76 XCHECK 2DLQ SBX 7 1 2F6B CHECKB 5,6,ZCH1,,,,,,ZCH1 2FL2 ADX 7 1 2G5L EXIT 7 1 2GK= ZCH1 ADX 7 1 2H4W EXIT 7 0 2HJG # MOVE THE AREA LOCATED BY X5,6 FROM THE OBJ PROG TO AREA LOCATED BY 2J46 XMOVE BZE 6 ZMOVE [ALLOW FOR NULL AREA 2JHQ SLC 45 24 [X4,5 DESTROYED BY SUBR 2K3B FOUTMOVE 2,4,5,6,HLOCK2 2KH2 ZMOVE EXIT 7 0 2L2L # THIS SUBR SETS THE MEMBER NO AS A PARM OF THE MESSAGE 2LG= X5MEMNO 2L^W SBX 7 FX1 2MFG BZE 5 X5M1 2M^6 LDX 0 QIN(1) 2NDQ ORX 0 5 2NYB STO 0 AWORK1(2) 2PD2 LDN 0 4 2PXL OUTPARAM 0,AWORK1 2QC= BRN X5M2 2QWW X5M1 OUTNULL 2RBG X5M2 ADX 7 FX1 2RW6 EXIT 7 0 2S*Q #SKIP G4 2STB ( 2T*2 # 2TSL # THIS SUBR OUTPUTS THE PROGS QUOTA & PAGE TURN COUNT AS PARAMS 2W#= # OF THE EVENT MESSAGE . APPLIES TO G4 ONLY 2WRW # 2X?G XQUOTA 2XR6 SBX 7 FX1 2Y=Q FPCACA 2 2YQB HUNT2 2,BSTB,BSCB 2^=2 LDX 3 AQUOTA(2) 2^PL ANDN 3 #7777 329= LDX 6 ATSWAPS(2) 32NW OUTPACKC 3,1,QUOTA 338G OUTPACKC 6,1,PAGETURN 33N6 ADX 7 FX1 347Q EXIT 7 0 34MB ) 3572 XENT1 [ENTRY FOR SUSTY,DISTY,DELTY 35LL #SKIP K6OPCAXCOD>99-99 366= TRACE EVENT5(2),OPCAXCD1 36KW Z1 UNPLUG 375G LDX 5 EVENT2(2) 37K6 CALL 7 XCHECK0 384Q BRN XRESVIOL 38JB LDX 7 5 3942 FADDRESS 2,7,HLOCK1 39HL SMO 7 3=3= LDX 4 0 [IF TOP BITS OF THE FIRST WORD 3=GW SRL 4 6 [ARE ZERO IT IS TWO WORD FORMAT 3?2G BZE 4 Z12 [& IF SO JUMP 3?G6 SRL 4 9 3?^Q Z10A SMO 7 [SINGLE WORD FORMAT:MASK OUT ADDR OF 3#FB LDX 5 0 3#^2 ANDX 5 Q77777(1) 3*DL Z10 3*Y= #SKIP K6OPCAXCOD>999-999 3BCW TRACE 4,CHARCNT 3BXG SBN 4 41 [MAX COUNT=40 3CC6 BPZ 4 XILLINS 3CWQ ADN 4 41 3DBB LDX 6 4 [CALL NO OF WORDS FOR MESSAGE 3DW2 ADN 6 3 3F*L SRL 6 2 3FT= BZE 6 Z3 [O.K. IF ZERO LENGTH 3G#W CALL 7 XCHECK [CHECK THAT THE MESSAGE IS IN RESERVA 3GSG BRN XRESVIOL 3H#6 BRN Z3 3HRQ Z12 LDX 3 ANM(2) [FIND MODE OF PROGRAM MEMBER 3J?B PMODES 3 3JR2 ANDN 3 #10 3K=L BZE 3 Z10A 3KQ= SMO 7 3L9W LDX 4 0 [PICK UP COUNT 3LPG CHECKEXT 5,Q2(1),XRESVIOL,,,,HLOCK1,,ZCH1 3M96 ADN 5 1 3MNQ LDX 3 5 3N8B FADDRESS 2,3,HLOCK1 3NN2 LDX 5 0(3) 3P7L ANDX 5 Q17777777(1) 3PM= BRN Z10 3Q6W XENT2 [ENTRY FOR SUSWT,DISP,DEL 3QLG #SKIP K6OPCAXCOD>99-99 3R66 TRACE EVENT5(2),OPCAXCD2 3RKQ UNPLUG 3S5B Z2 LDN 4 2 [NO OF CHARS=2 3SK2 LDCT 5 #400 [SET MARKER TO INDICATE THAT X5 3T4L ORX 5 EVENT2(2) [CONTAINS THE MESSAGE RATHER THAN TN 3TJ= LDN 6 1 [ADDRESS 3W3W # HERE THE TWO ENTRIES MERGE & SWITCH ON THE VALUE OF X IN THE INST 3WHG Z3 LDX 0 EVENT5(2) 3X36 SRL 0 21 3XGQ SMO 0 3Y2B BRN XACCS 3YG2 XACCS BRN XHALT [SUSTY & SUSWT 3Y^L BRN XDISPLAY [DISTY & DISP 3^F= BRN XDELETE [DELTY & DEL 3^YW # THIS SECTION DEALS WITH DISTY & DISP 42DG XDISPLAY 42Y6 #SKIP K6OPCAXCOD>999-999 43CQ TRACE 5,DISPMESS 43XB ADN 6 1 [MAKE BLOCK FOR MESSAGE 44C2 SETUPCORE 6,3,APED 44WL STO 4 APEDDISM(3) [NO OF CHARS 45B= BNG 5 Z41 [JUMP IF'DISP'MARKER SET 45TW LDN 4 APEDDISM+1(3) [MOVE MESSAGE INTO THE BLOCK 46*G SBN 6 1 46T6 CALL 7 XMOVE 47#Q LDX 4 APEDDISM(3) [NO OF CHARS 47SB BRN Z42 48#2 Z41 SLL 5 12 [STORE'DISP'MESSAGE IN THE BLOCK 48RL STO 5 APEDDISM+1(3) 49?= Z42 LDX 5 ANM(2) [MEMBER NUMBER 49QW ANDN 5 3 4==G LDX 7 6 4=Q6 ADN 7 3 4?9Q LDX 6 AMON(2) [MONITORING ON DISPLAY BIT 4?PB ANDN 6 1 4#92 CAPCA APED [TO COMMAND PROCESSING ACTIVITY 4#NL HUNTW 3,APED,ADISPLAY [DLETE ANY PREVIOUS DISPLAY 4*8= BNG 3 Z43 4*MW FREECORE 3 4B7G Z43 MHUNTW 3,APED [RENAME BLOCK AS 'DISPLAY' 4BM6 NAME 3,APED,ADISPLAY 4C6Q OUTBLOCK 7 4CLB CALL 7 X5MEMNO [OUTPUT MEMBER NO AS PARAM 4D62 OUTPARAM 4,APEDDISM+1,APED,ADISPLAY 4DKL MONOUT HUSH3 [OUTPUT 'DISPLAY IN :MESSAGE' 4F5= BNZ 6 Z44 [JUMP IF MONITORING REQUIRED 4FJW RUNPROG [FINISH-RESTART OBJ PROG 4G4G Z44 MONITOR DISPLAY,5 [GENERATE A MONITOR EVENT 4GJ6 # THIS SECTION DEALS WITH SUSTY & SUSWT 4H3Q XHALT ADN 6 3 [MAKE ANEVENT BLOCK 4HHB #SKIP K6OPCAXCOD>999-999 4J32 TRACE 5,HALTMESS 4JGL SETUPCORE 6,3,APED,ANEVENT 4K2= STO 4 APEDEVEM(3) [STORE NO OF CHARS 4KFW BNG 5 Z51 [JUMP IF SUSWT MARK SET 4K^G LDN 4 APEDEVEM+1(3) [MOVE MESSAGE TO BLOCK 4LF6 SBN 6 3 4LYQ CALL 7 XMOVE 4MDB LDX 4 APEDEVEM(3) 4MY2 BRN Z52 4NCL Z51 SLL 5 12 [STORE SUSWT MESSAGE 4NX= STO 5 APEDEVEM+1(3) 4PBW Z52 LDX 5 ANM(2) 4PWG ANDN 5 3 4QB6 STO 5 APEDSP1(3) [STORE IN ANEVENT BLOCK 4QTQ LDN 0 APEDHALT [STORE CATEGORY OF EVENT 4R*B STO 0 APEDSP1+1(3) 4RT2 CAPCA APED,ANEVENT 4S#L #SKIP G3 4SS= ADN 6 6 4T?W #SKIP G4 4TRG ADN 6 12 4W?6 OUTBLOCK 6 4WQQ OUTPARC JOBMILL 4X=B #SKIP G4 4XQ2 CALL 7 XQUOTA [OUTPUT QUOTA & PAGE TURN COUNT 4Y9L CALL 7 X5MEMNO 4YP= OUTPARAM 4,APEDEVEM+1,APED,ANEVENT 4^8W #SKIP G3 4^NG MONOUT HUSH2 5286 #SKIP G4 52MQ MONOUT HUSH2G4 537B PROGEND 53M2 # THIS SECTION DEALS WITH DELTY & DEL 546L XDEL 54L= ADN 6 3 555W SETUPCORE 6,3,APED,ANEVENT [MAKE ANEVENT BLOCK 55KG STO 4 APEDEVEM(3) [NO OF CHARS 5656 SLL 5 12 56JQ STO 5 APEDEVEM+1(3) [DEL MESSAGE 574B LDX 5 ANM(2) 57J2 ANDN 5 3 [MEMBER NO 583L STO 5 APEDSP1(3) 58H= LDN 0 APEDDEL [CATEGORY OF EVENT 592W STO 0 APEDSP1+1(3) 59GG CAPCA APED,ANEVENT 5=26 #SKIP G3 5=FQ ADN 6 3 5=^B #SKIP G4 5?F2 ADN 6 9 5?YL OUTBLOCK 6 5#D= OUTPARC JOBMILL 5#XW #SKIP G4 5*CG CALL 7 XQUOTA 5*X6 CALL 7 X5MEMNO [MEMBER NO 5BBQ OUTPARAM 4,APEDEVEM+1,APED,ANEVENT [DEL MESSAGE 5BWB BRN YDELEND 5CB2 XDELETE 5CTL #SKIP K6OPCAXCOD>999-999 5D*= TRACE 5,DELMESS 5DSW LDX 0 AMON(2) [IF MONITORING IS SET TREAT 5F#G ANDN 0 4 [AS SUSTY OR SUSWT 5FS6 BNZ 0 XHALT 5G?Q BNG 5 XDEL [JUMP IF 'DEL'MARK SET 5GRB ADN 6 11 [SET UP DELETE BLOCK 5H?2 SETUPCORE 6,3,APED,ADELETE 5HQL STO 4 APEDDELM(3) [NO OF CHARS 5J== LDN 4 APEDDELM+1(3) [MOVE MESSAGE TO BLOCK 5JPW SBN 6 11 5K9G CALL 7 XMOVE 5KP6 LDX 4 APEDDELM(3) 5L8Q Z62 LDX 5 ANM(2) [PICK UP MEMBER NO. 5LNB ANDN 5 3 5M82 STO 5 APEDSP2(3) 5MML LDN 0 APEDDEL [STORE CATEGORY EVENT 5N7= STO 0 APEDSP2+1(3) 5NLW MACCS ,2,6 5P6G LDN 7 APEDACC(3) [ARE AT THE BOTTOM OF CORE THIS DOES 5PL6 MOVE 6 8 [NOT BREAK ANY BLUES 5Q5Q #SKIP K6OPCAXCOD>999-999 5QKB TRACE 0(3),DELLTY? 5R52 CAPCA APED,ADELETE 5RJL #SKIP G3 5S4= LDN 0 16 5SHW #SKIP G4 5T3G LDN 0 22 5TH6 OUTBLOCK 0 5W2Q OUTPARC JOBMILL 5WGB #SKIP G4 5X22 CALL 7 XQUOTA 5XFL CALL 7 X5MEMNO 5X^= OUTPARAM 4,APEDDELM+1,APED,ADELETE 5YDW YDELEND 5YYG #SKIP G3 5^D6 MONOUT HUSH 5^XQ #SKIP G4 62CB MONOUT HUSHG4 62X2 DOWN PROSTART,17 63BL # FINISH WITH ENDCOM - NOT PROGEND - BECAUSE NO CORE IMAGE 63W= ENDCOM [READ NEXT COMMAND 64*W MENDAREA 20,K99OPCAXCOD 64TG #END ^^^^ ...15607304000100000000