7 22FL #LIS K0MONEVENT 15 22_= ... SEG MONEVENT,867,SECTION CENT,,G400 4 23DW # 4 23J* ...[ 15 23MS ...[ (C) COPYRIGHT INTERNATIONAL COMPUTERS LTD 1982 4 23R? ...[ 6 23WQ ...#UNS G400 4 2429 ...( 13 245N ...# THIS CHAPTER IS FOR G3PLUS-IH MK2 4 2497 ...# 4 24#L ...) 15 24D6 # THIS SEGMENT HAS THE FOLLOWING ENTRY POINTS:- 4 24XQ # 18 25CB SEGENTRY K1MONEVENT,ZEP1 [ENTRY FROM MONITOR MACRO 19 25X2 SEGENTRY K2MONEVENT,ZEP2 [ENTRY FROM CILLEGAL MACRO 18 26BL SEGENTRY K3MONEVENT,ZEP3 [ENTRY FROM REPMON MACRO 18 26W= SEGENTRY K5MONEVENT,ZEP5 [ENTRY FROM MONEND MACRO 18 27*W SEGENTRY K7MONEVENT,ZEP7 [ENTRY FROM MONENDB MACRO 4 27TG # 20 28*6 # FOR ENTRY POINTS 1 AND 2 ENTRY IS MADE IN THE CPA WITH ADDRESS OF 20 28SQ # EVENT MESSAGE IN X5 AND MEMBER NUMBER IN X4.(NB MESSAGE MUST HAVE 15 29#B # RETAIN OUTPUT BLOCK BIT SET IN CATEGORY WORD). 4 29S2 # 21 2=?L # FOR ENTRY POINT 3 WE ENTER IN THE PCA,WITH THE O/P UNPLUGGED,AND WITH 16 2=R= # X5=TYPE OF MONITORING ;X7=O/P CA ADDR (IF PERI) ; 20 2?=W # X6= B0-5 TYPE B6-14 UNIT NO (MK6) B0-8 TYPE B9-23 UNIT NO (MK6.5) 21 2?QG # WE FIRST EXTRACT FROM THE O/P INFORMATION NEEDED TO CONSTRUCT A MNTRG 20 2#=6 # MESSAGE,THEN CAPCA,THEN FORM THE MESSAGE,THEN BRANCH TO K1MONEVENT 4 2#PQ # 21 2*9B #DEF VENTLEN=16 [MAX LENGTH OF EVENT MESSAGE (WORDS) 19 2*P2 #DEF VCOUNT=A1 [ADDR OF RECORD IN GMON,AOUT 19 2B8L #DEF NOFN=BBCLOSE_BBEXTEND [PERI TYPES WITHOUT FILENAME 18 2BN= #DEF YESFN=BBOPEN_BBRENAME [PERI TYPES WITH FILENAME 9 2C7W QIN #51562000 17 2CMG XMONRES +JMONRES [MONRESUME COMPLETED 9 2D76 XILLINS +JYILLINS 10 2DLQ XJZMONITOR +JZMONITOR 9 2F6B XJZFAILED +JZFAILED 19 2FL2 ZMONINF +JZMONINF [%A *%B %C CA%D M=#%E FN=%F 17 2G5L YMONINF +JYMONINF [%A *%B %C CA%D M=#%E 14 2GK= XMONINF +JXMONINF [%A *%B %C 21 2H4W TAB1 [LIST OF 'OPEN PERI' TYPE MNTRG TYPES 19 2HJG 8HREL [CORESPONDING BIT IN AMON:20 19 2J46 8HDIS [ 19 19 2JHQ 8HCONT [ 18 19 2K3B 8HALLOT [ 17 19 2KH2 8HOPEN [ 16 19 2L2L 8HCLOSE [ 15 19 2LG= 8HRENAME [ 14 19 2L_W 8HEXTEND [ 13 5 2MFG T1END 18 2M_6 #DEF MONUM=T1END-TAB1/2 [NUMBER OF MNTRG TYPES 19 2NDQ ZEP2 [ENTRY FROM CILLEGAL MACRO 15 2NYB LDN 6 APEDFAIL [ENTRY POINT 21 2PD2 BNZ 5 ZA1 [SET CONVENTIONAL VALUE FOR ILLEGAL 14 2PXL LDX 5 XILLINS(1) [MESSAGE 8 2QC= BRN ZA1 18 2QWW ZEP1 [ENTRY FROM MONITOR MACRO 16 2RBG LDN 6 APEDMON [MONITOR CATEGORY 4 2RW6 ZA1 8 2S*Q FPCACA 3,2 9 2STB LDX 4 ANM(3) 7 2T*2 MONOUTX 5 11 2TSL #SKIP K6MONEVENT>99-99 11 2W#= TRACE JOBNO(2),MONEVENT 18 2WRW CALL 7 XGMON [FIND BLOCK WITH MESSAGE 18 2X?G LDX 5 VCOUNT(3) [OBTAIN LENGTH OF MESSAGE 19 2XR6 ANDN 5 #7777 [IGNORE ANY MESSAGE NUMBER 8 2Y=Q ADN 5 11 7 2YQB SRL 5 2 9 2_=2 SBN 5 VENTLEN+2 8 2_PL BNG 5 ZA2 7 329= LDN 5 0 9 32NW ZA2 ADN 5 VENTLEN+3 11 338G SETUPCORE 5,2,APED,ANEVENT 7 33N6 SBN 5 3 8 347Q CALL 7 XGMON 7 34MB ANDN 4 3 15 3572 STO 4 APEDSP1(2) [MEMBER NO 14 35LL STO 6 APEDSP1+1(2) [CATEGORY 7 366= SLL 5 2 15 36KW STO 5 APEDSP1+2(2) [NO OF CHARS. 7 375G SRL 5 2 8 37K6 BZE 5 ZA3 14 384Q LDN 0 APEDSP1+3(2) [MESSAGE 10 38JB LDN 7 VCOUNT+2(3) 7 3942 SMO 5 7 39HL MOVE 7 0 14 3=3= # OUTPUT MONITORED OR FAILED MESSAGE 7 3=GW ZA3 FREECORE 3 7 3?2G OUTMILL 15 3?G6 LDX 5 ACES [MEMBER NO 8 3?_Q BZE 4 ZA4 9 3#FB LDX 5 QIN(1) 7 3#_2 ORX 5 4 19 3*DL ZA4 STO 5 ACOMMUNE9(2) [OUTPUT AS PARAM OF MESSAGE 7 3*Y= LDN 1 4 9 3BCW LDN 5 ACOMMUNE9 9 3BXG CALL 4 OUTPARAX 17 3CC6 LDX 5 XJZMONITOR(1) [LOAD ADDR OF MESSAGE 9 3CWQ SBN 6 APEDMON 8 3DBB BZE 6 ZA5 10 3DW2 LDX 5 XJZFAILED(1) 4 3F*L ZA5 7 3FT= MONOUTX 5 6 3FWH ...#UNS G400 4 3FXS ...( 8 3F_5 ... TESTHKN XDSK1 10 3G2B ... HUNT 2,IUSER,G400BLK 9 3G3M ... BNG 2 XDSK1 8 3G4Y ... LDX 0 A1(2) 7 3G69 ... SBN 0 5 8 3G7G ... BNZ 0 XDSK1 9 3G8R ... ACROSS DOMONOP,2 5 3G=4 ...XDSK1 4 3G?* ...) 7 3G#W PROGEND 4 3GSG # 18 3H#6 ZEP3 [ENTRY FROM REPMON MACRO 16 3HF# ... CLEAR 2,0 [DONT WANT ANY LOCKS LEFT BY 8 3HLG ...[...CALLING ROUTINE 16 3HRQ STOZ AWORK1(2) [UNSET SWITCHES 21 3J?B LDN 4 1 [CA AT LEAST 1 WORD FOR CLOSE MODE 7 3JR2 LDX 0 5 8 3K=L ANDN 0 NOFN 19 3KQ= BNZ 0 XCLO [J IF PERI WITH NO FILE NAME 7 3L9W LDX 0 5 8 3LPG ANDN 0 YESFN 19 3M96 BZE 0 MEMB [J IF NOT PERI WITH FILE NAME 8 3MNQ LDCT 0 #200 17 3N8B ORS 0 AWORK1(2) [SET FILE-NAME SWITCH 17 3NN2 LDN 4 5 [CA AT LEAST 5 WORDS 4 3P7L XCLO 18 3PM= CHECKA 7,4,RESVI,,,XCOOR [CHECK CA IN RESERVATION 5 3Q6W XCOOR 7 3QLG LDX 1 2 7 3R66 LDX 2 7 10 3RKQ LDN 3 ACOMMUNE1(1) 21 3S5B FOUTMOVE 1,2,3,4,HLOCK1 [MOVE [X4] WDS FROM CA TO ACOM1 ETC 7 3SK2 SBN 4 5 17 3T4L BNZ 4 XCLO1 [J NOT OPEN OR RENAME 19 3TJ= LDX 2 FX2 [ ELSE FILE NAME TO AWORK2-4 9 3W3W LDN 3 AWORK2(2) 10 3WHG ADN 2 ACOMMUNE1+2 7 3X36 MOVE 2 3 8 3XGQ XCLO1 LDX 2 FX2 10 3Y2B LDX 3 ACOMMUNE1(2) 21 3YG2 LDCT 0 #400 [SET 'PERI WITH IN-RESERVN CA'SWITCH 9 3Y_L ORS 0 AWORK1(2) 5 3_F= RESVI 8 3_YW MEMB LDX 2 FX2 9 42DG LDX 0 ANM(2) 7 42Y6 ANDN 0 3 20 43CQ ORS 0 AWORK1(2) [MEMBER NO TO B22-23 OF AWORK1 6 43XB CAPCA 4 44C2 # 19 44WL # O/P NOW SWAPABLE AND WE ENTER CPA WITH X3=TYPE/MODE WORD OF CA 9 45B= # X5=TYPE OF MONITORING 16 45TW # X6=TYPE/UNIT NO OF PERIPHERAL ; X7=O/P ADDR OF CA 20 46*G # AWORK1:B0 SET IF PERI WITH IN-RESN CA ;B1 SET IF PERI MAYBE HAS FN 11 46T6 # B22-23 MEMBER NUMBER 4 47#Q # 7 47SB LDX 0 6 10 48#2 ANDX 0 ZFORMAT(1) 21 48RL BZE 0 ZFOK [J IF PERIPHERAL NAME IN N/I FORMAT 10 49?= GEOERR 1,PRLFRMAT 9 49QW ...ZFORMAT #70077400 4 4==G ZFOK 21 4=Q6 OUTBLOCN 17 [NOW WE CONSTRUCT THE MONITOR MESSAGE 8 4?9Q LDN 0 MONUM 8 4?PB ADN 1 TAB1 7 4#92 SRC 5 4 21 4#NL NXTYP BNG 5 MTYPE [J IF TYPE FOUND,WITH X1->CHAR STRING 7 4*8= ADN 1 2 7 4*MW SRC 5 1 8 4B7G BCT 0 NXTYP 19 4BM6 GEOERR 1,MONTYPE? [MNTRG TYPE IN X5 NOT CORRECT 9 4C6Q MTYPE ADN 2 ACOMMUNE1 19 4CLB MOVE 1 2 [ACOMMUNE1,2 =TYPE OF MNTRG 7 4D62 LDN 1 8 9 4DKL LDN 5 ACOMMUNE1 21 4F5= CALL 4 OUTPARAX [ %A=8 CHAR STRING GIVING MNTRG TYPE 21 4FJW OUTPACKC 6,1,PERINAME [ %B=4 CHAR STRING,PERIPH TYPE/UNIT 7 4G4G FPCACA 2 11 4GJ6 HUNT2 2,APERI,APERIRES 14 4H3Q LDN 5 #56 [ N 21 4HHB FPERENTA 2,6,UNALL [J TO UNALL IF SPECD TYPE/UNO UNALOCD 14 4J32 LDN 5 #71 [ Y 8 4JGL UNALL LDX 2 FX2 10 4K2= DCH 5 ACOMMUNE1(2) 7 4KFW LDN 1 1 9 4K_G LDN 5 ACOMMUNE1 21 4LF6 CALL 4 OUTPARAX [ %C =Y (ALLOCATED) OR N(UNALLOCATED) 10 4LYQ LDX 5 XMONINF(1) 9 4MDB LDX 0 AWORK1(2) 21 4MY2 BPZ 0 SHORT [J IF NOT PERI WITH IN-RESERVATION CA 21 4NCL OUTNUM 7,7,1 [ %D=7CHAR R/JUSTIFIED,ZERO SUP ADDR 18 4NX= [ OF O/P CONTROL AREA 18 4PBW ANDX 3 BSP16 [GET MODE OF PERI (B9-13) 21 4PWG LDN 4 0 [NOW CONVERT IT TO A FIVE CHARACTER 14 4QB6 LDN 0 4 [ STRING 7 4QTQ LDX 5 3 7 4R*B SLL 5 9 7 4RT2 XOCT SLL 4 3 7 4S#L SLL 45 3 8 4SS= BCT 0 XOCT 10 4T?W STO 4 ACOMMUNE1(2) 7 4TRG SRL 5 3 10 4W?6 STO 5 ACOMMUNE2(2) 7 4WQQ LDN 1 5 9 4X=B LDN 5 ACOMMUNE1 20 4XQ2 CALL 4 OUTPARAX [ %E =5 CHAR STRING,MODE OF PERI 10 4Y9L LDX 5 YMONINF(1) 8 4YP= LDCT 0 #200 9 4_8W ANDX 0 AWORK1(2) 20 4_NG BZE 0 MEDI [J IF NO CHANCE OF A FILE-NAME 14 4_R5 ...[ EXTRA TEST FOR MODE #1200 - B-0292 7 4_TN ... LDX 0 3 8 4_Y? ... ANDN 0 #1777 8 522W ... SBN 0 #1200 9 525F ... BZE 0 PB0292 7 5286 LDX 0 3 8 52MQ ANDN 0 #1077 21 537B BNZ 0 MEDI [J IF MODE (LESS ANY ADDITIVE MODES) 21 53M2 [ IS NOT ONE OF #100,#200,#300,#400, 20 546L [#500,#600,#700 - NO FILE NAME 7 54L= LDX 0 3 8 555W ANDN 0 #1777 8 55KG SBN 0 #600 20 5656 BZE 0 MEDI [J IF MODE (LESS AD.MD) IS #600 5 56#Y ...PB0292 21 56JQ LDX 2 FX2 [ OTHERWISE MOVE FILE NAME TO ACOM1-3 9 574B LDN 1 AWORK2(2) 9 57J2 ADN 2 ACOMMUNE1 7 583L MOVE 1 3 8 58H= LDN 1 12 9 592W LDN 5 ACOMMUNE1 20 59GG CALL 4 OUTPARAX [ %F=12CHAR STRING - FILE NAME 10 5=26 LDX 5 ZMONINF(1) 5 5=FQ SHORT 4 5=_B MEDI 9 5?F2 LDX 4 AWORK1(2) 10 5?YL BRN K1MONEVENT 4 5#D= # 21 5#XW # ENTRY POINTS 5 AND 7 ARE FOR THE MACROS MONEND AND MONENDB RESPECTIVEY 20 5*CG # THE CURRENT ACTIVITY BECOMES THE CPA, AND A PROGRAM EVEVNT OF TYPE 16 5*X6 # MONITOR,MESSAGE 'MONRESUME COMPLETED' IS GENERATED 4 5BBQ # 18 5BWB ZEP5 [ENTRY FOR MONEND MACRO 8 5CB2 LDCT 0 #600 9 5CTL ANDX 0 AMON(2) 17 5D*= ERS 0 AMON(2) [CLEAR MONRESUME BITS 7 5DSW SLL 0 1 21 5F#G BNG 0 XSTOP [IF MR STOP,J TO CREATE MONITOR EVENT 18 5FS6 EVENTFIN [ ELSE RESTART PROGRAM 6 5G?Q XSTOP UNPLUG 6 5GRB ZPCA CAPCA 14 5H?2 ZCPA LDX 5 XMONRES(1) [MESSAGE 18 5HQL BRN ZEP1 [GENERATE MONITOR EVENT 4 5J== # 18 5JPW ZEP7 [ENTRY FOR MONENDB MACRO 9 5K9G LDCH 0 ATYPE(2) 9 5KP6 SBN 0 APET/64 19 5L8Q BZE 0 ZPCA [J IF CURRENT ACTIVITY IS PCA 18 5LNB BRN ZCPA [ ELSE J AND AVOID CAPCA 13 5M82 # SUBROUTINES 4 5MML # 11 5N7= XGMON HUNT2 3,GMON,AOUT,FX2 7 5NLW EXIT 7 0 4 5P6G # 18 5PL6 OUTPARAX [JUST THE OUTPARAX MACRO 8 5Q5Q SBX 4 FX1 8 5QKB OUTPARAX 1,5 8 5R52 ADX 4 FX1 7 5RJL EXIT 4 0 4 5S4= # 11 5SHW MENDAREA 20,K99MONEVENT 4 5T3G #END 8 ____ ...31247464000200000000