ibm:vm370-lib:cp:dmkent.assemble_src
Table of Contents
DMKENT Source
References
- Fixes Applied : 1
- This Source Date : Saturday, December 9, 1978
- Last Fix ID : [R09282DK]
Source Listing
- DMKENT.ASSEMBLE.txt
- ENT TITLE 'DMKENT (CP) VM/370 - RELEASE 6' 00001000
- COPY OPTIONS 00002000
- COPY LOCAL 00003000
- EJECT 00004000
- *. 00005000
- * 00006000
- * MODULE NAME - 00007000
- * DMKENT 00008000
- * 00009000
- * FUNCTION - 00010000
- * 00011000
- * TO PROVIDE MAIN STORAGE RESIDENT LINKAGE BETWEEN TIMER 00012000
- * REQUEST BLOCKS AND CP REQUEST BLOCKS AND THE PAGABLE 00013000
- * SERVICE ROUTINES OF VM/MONITOR 00014000
- * 00015000
- * ATTRIBUTES - 00016000
- * 00017000
- * RE-ENTRANT, RESIDENT, 00018000
- * 00019000
- * ENTERED VIA TRQBLOK TO START AND STOP MONITOR 00020000
- * AT TIMES SPECIFIED BY SYSMON MACRO OR OPERATOR 00021000
- * ENTERED VIA CPEXBLOK TO START AND STOP MONITOR 00022000
- * WHEN THE AUTOMATIC FACILITIES REQUIRE IMMEDIATE 00023000
- * AS OPPOSED TO DEFERRED ACTION, ALSO WHEN CLOSING 00024000
- * OF SPOOL FILE IS REQUIRED 00025000
- * DOES DEVICE, CONTROL UNIT, AND CHANNEL SAMPLING 00025500
- * 00026000
- * EXECUTABLE ENTRY POINTS - 00027000
- * 00028000
- * DMKENTST - VIA TRQ START MONITOR WITH MONITOR COMMAND 00029000
- * DMKENTSC - VIA CPEXBLOK START MONITOR WITH MONITOR COMMAND 00030000
- * DMKENTET - VIA TRQ STOP MONITOR WITH MON COMMAND 00031000
- * DMKENTEC - VIA CPEXBLOK STOP MONITOR WITH MON COMMAND 00032000
- * DMKENTFI - VIA CPEXBLOK COMPLETE MONITOR SHUTDOWN 00033000
- * DMKENTKC - VIA CPEXBLOK CLOSE MONITOR FILE WITH COMMAND 00034000
- * DMKENTTI - VIA TRQ FOR I/O UTILIZATION SAMPLING 00034300
- * DMKCVTAB - ABEND RTN FOR TOD CLOCK FAILURE 00034600
- * 00035000
- * NON EXECUTABLE ENTRY POINTS - 00036000
- * 00037000
- * DMKENTTB - TRQ FOR STARTING MONITORING 00038000
- * DMKENTBS - STATUS OF START TRQ 00039000
- * DMKENTTE - TRQ FOR STOPPING MONITORING 00040000
- * DMKENTES - STATUS OF END TRQ 00041000
- * DMKENTSK - POINTER TO SEEKS LIST 00041300
- * DMKENTUT - I/O UTILIZATION INTERVAL 00041600
- * 00042000
- * ENTRY CONDITIONS - 00043000
- * 00044000
- * GPR12 - ENTRY POINT ADDRESS 00045000
- * 00046000
- * EXIT CONDITIONS - 00047000
- * 00048000
- * NONE 00049000
- * 00050000
- * EXTERNAL REFERENCES/CALLS TO OTHER ROUTINES - 00051000
- * 00052000
- * SEE PROLOGUE FOR EACH ENTRY POINT 00053000
- * 00054000
- DMKENT START 00055000
- MODID DC CL8'DMKENT' 00056000
- SPACE 1 00057000
- EXTRN DMKPRGMC,DMKSYSAT,DMKMIAIN,DMKDSPCH @V50A2B5 00058000
- EXTRN DMKMIAEN,DMKMIAKC,DMKMNIFI @V50A2B5 00059000
- EXTRN DMKSCHST,DMKCVTAB 00059500
- SPACE 1 00060000
- USING PSA,R0 @V50A2B5 00061000
- USING VMBLOK,R11 @V50A2B5 00062000
- USING SAVEAREA,R13 @V50A2B5 00063000
- SPACE 1 00064000
- *. 00065000
- * 00066000
- * ENTRY POINT - 00067000
- * 00068000
- * DMKENTST - TIMER INTERRUPT REQUEST TO START MONITOR 00069000
- * 00070000
- * EXTERNAL REFERENCES/CALLS - 00071000
- * 00072000
- * DMKPRGMC - ADDRESS OF COMMUNICATIONS AREA 00073000
- * DMKSYSAT - INDICATOR FOR AUTOMATIC MONITORING 00074000
- * 00075000
- * DMKMIAIN - ROUTINE TO AUTOSTART MONITOR TO SPOOL 00076000
- * DMKDSPCH - WHERE TO GO TO START SOMETHING ELSE 00077000
- * 00078000
- * OPRERATION - 00079000
- * 00080000
- * IF THE MONITOR COMMUNICATIONS AREA DOES NOT ALREADY 00081000
- * EXIST, THEN THIS REQUEST TO AUTO START MONITOR IS 00082000
- * VALID AND THE SYSMON MACRO SPECIFICATIONS IN DMKSYS 00083000
- * IS CHECKED TO ENSURE THAT AUTOMATIC MONITORING IS IN 00084000
- * FACT OK IN THIS INSTALLATION. IF ALL IS WELL DMKMIAIN 00085000
- * IS CALLED TO DO THE AUTO START AFTER WHICH A BRANCH 00086000
- * IS MADE TO THE DISPATCHER TO FIND OTHER WORK TO DO 00087000
- * 00088000
- *. 00089000
- ENTRY DMKENTST @V50A2B5 00090000
- DMKENTST DS 0H @V50A2B5 00091000
- USING *,R12 @V50A2B5 00092000
- SL R12,=A(DMKENTST-DMKENT) @V50A2B5 00093000
- USING DMKENT,R12 @V50A2B5 00094000
- LA R4,DMKENTBS SET OFF THE STACK FLAG @V50A2B5 00095000
- MVI 0(R4),C'U' @V50A2B5 00096000
- L R4,=A(DMKPRGMC) SEE IF MONITOR ALREADY ON @V50A2B5 00097000
- ICM R4,B'1111',0(R4) @V50A2B5 00098000
- BNZ EXITN YES, INVALID TO RQST START @V50A2B5 00099000
- L R4,=A(DMKSYSAT) CHECK SYSMON MACRO @V50A2B5 00100000
- TM 0(R4),AUTGO IS AUTO FLAG SPECIFIED @V50A2B5 00101000
- BNO EXITN NO, RQST TO START INVALID @V50A2B5 00102000
- CALL DMKMIAIN YES, OK TO AUTO START MON. @V50A2B5 00103000
- EXITN GOTO DMKDSPCH ALL DONE, FIND WORK TO DO @V50A2B5 00104000
- EJECT @V50A2B5 00105000
- *. 00106000
- * 00107000
- * ENTRY POINT - 00108000
- * DMKENTSC - VIA CPEXBLOK TO ISSUE A MONITOR START SPOOL 00109000
- * 00110000
- * EXTERNAL REFERENCES/CALLS - 00111000
- * 00112000
- * DMKPRGMC - MONITOR COMMUNICATIONS AREA TO SEE IF ON 00113000
- * DMKMIAIN - MONITOR MODULE TO SET UP START COMMAND 00114000
- * 00115000
- * OPERATION - 00116000
- * 00117000
- * IF THE MONITOR COMMUNICATIONS AREA DOES NOT ALREADY 00118000
- * EXIST, THEN THE MONITOR IS NOT CURRENTLY ACTIVE AND 00119000
- * THE PAGEABLE MODULE DMKMIAIN IS CALLED TO PREPARE 00120000
- * A MONITOR START COMMAND 00121000
- *. 00122000
- ENTRY DMKENTSC @V50A2B5 00123000
- DMKENTSC DS 0H @V50A2B5 00124000
- USING *,R12 @V50A2B5 00125000
- SL R12,=A(DMKENTSC-DMKENT) @V50A2B5 00126000
- USING DMKENT,R12 @V50A2B5 00127000
- L R6,=A(DMKPRGMC) SEE IF MONITOR ALREADY ON @V50A2B5 00128000
- ICM R6,B'1111',0(R6) I.E. DOES MONCOM EXIST @V50A2B5 00129000
- BNZ EXITN YES , LET DISPATCHER WORK @V50A2B5 00130000
- CALL DMKMIAIN NO, OK TO ISSUE START @V50A2B5 00131000
- B EXITN @V50A2B5 00132000
- EJECT 00133000
- *. 00134000
- * 00135000
- * ENTRY POINT - 00136000
- * 00137000
- * DMKENTET - VIA TRQ TO ISSUE MONITOR STOP COMMAND 00138000
- * 00139000
- * EXTERNAL REFERENCES/CALLS 00140000
- * 00141000
- * DMKPRGMC - TO SEE IF MONITOR IS ACTIVE 00142000
- * DMKSYSAT - TO SEE IF AUTO MONITOR IS SPECIFIED 00143000
- * DMKMIAEN - TO PREPARE START COMMAND 00144000
- * 00145000
- * OPERATION - 00146000
- * 00147000
- * IF THE MONITOR IS ACTIVE (AS INDICATED BY THE PRESENCE 00148000
- * OF THE MONITOR COMMUNICATIONS AREA) AND IF AUTO- 00149000
- * MATIC MONITORING IS ENABLED (AS SPECIFIED IN THE 00150000
- * SYSMON MACRO OF DMKSYS), THEN THE MODULE DMKMIAEN IS 00151000
- * CALLED TO PREPARE A MONITOR STOP COMMAND 00152000
- * 00153000
- *. 00154000
- ENTRY DMKENTET @V50A2B5 00155000
- DMKENTET DS 0H @V50A2B5 00156000
- USING *,R12 @V50A2B5 00157000
- SL R12,=A(DMKENTET-DMKENT) @V50A2B5 00158000
- USING DMKENT,R12 @V50A2B5 00159000
- LA R4,DMKENTES @V50A2B5 00160000
- MVI 0(R4),C'U' SET THE UNSTACK FLAG @V50A2B5 00161000
- L R4,=A(DMKPRGMC) SEE IF MONITOR ALREADY ON @V50A2B5 00162000
- ICM R4,B'1111',0(R4) I.E. DOES MONCOM EXIST @V50A2B5 00163000
- BZ EXITN NO, CAN'T STOP IT THEN @V50A2B5 00164000
- L R4,=A(DMKSYSAT) TEST SYSMON SETTING @V50A2B5 00165000
- TM 0(R4),AUTGO SEE IF AUTODISK IS ON @V50A2B5 00166000
- BNO EXITN NO, CAN'T AUTO START THEN @V50A2B5 00167000
- CALL DMKMIAEN SHUT OFF MONITOR @V50A2B5 00168000
- B EXITN @V50A2B5 00169000
- EJECT 00170000
- *. 00171000
- * 00172000
- * ENTRY POINT - 00173000
- * DMKENTEC - VIA CPEXBLOK TO ISSUE MON STOP COMMAND 00174000
- * 00175000
- * EXTERNAL REFERENCES/CALLS 00176000
- * 00177000
- * DMKPRGMC - TO SEE IF MONITOR ALREADY ACTIVE 00178000
- * DMKMIAEN - TO PREPARE A MONITOR STOP COMMAND 00179000
- * 00180000
- * OPERATION - 00181000
- * IF THE MONITOR IS ACTIVE (AS INDICATED BY THE PRESENCE 00182000
- * OF THE MONITOR COMMUNICATIONS AREA) THEN CALL THE 00183000
- * PAGEABLE MODULE DMKMIAEN TO PREPARE A MON STOP COMMAND 00184000
- * 00185000
- *. 00186000
- ENTRY DMKENTEC @V50A2B5 00187000
- DMKENTEC DS 0H @V50A2B5 00188000
- USING *,R12 @V50A2B5 00189000
- SL R12,=A(DMKENTEC-DMKENT) @V50A2B5 00190000
- USING DMKENT,R12 @V50A2B5 00191000
- L R6,=A(DMKPRGMC) SEE IF MONITOR ALREADY ON @V50A2B5 00192000
- ICM R6,B'1111',0(R6) I.E. DOES MONCOM EXIST @V50A2B5 00193000
- BZ EXITN NO, CAN'T SHUT IT OFF THEN@V50A2B5 00194000
- CALL DMKMIAEN SHUT OFF MONITOR @V50A2B5 00195000
- B EXITN @V50A2B5 00196000
- EJECT 00197000
- *. 00198000
- * 00199000
- * ENTRY POINT - 00200000
- * DMKENTFI - VIA CPEXBLOK TO SHUTDOWN ROUTINES DIRECTLY 00201000
- * 00202000
- * EXTERNAL REFERENCES/CALLS 00203000
- * 00204000
- * DMKMNIFI - PAGEABLE MODULE TO SHUTDOWN MONITOR 00205000
- * 00206000
- * OPERATION - 00207000
- * 00208000
- * THIS SMALL SECTION IS USED ONLY TO SATISFY THE STORAGE 00209000
- * RESIDENCY REQUIREMENTS OF A CPEXBLOK. THE CPEXBLOK 00210000
- * HAS BEEN USED TO SCHEDULE A REQUEST TO EXECUTE THE 00211000
- * MONITOR SHUTDOWN ROUTINES IN DMKMNIFI 00212000
- * 00213000
- *. 00214000
- ENTRY DMKENTFI @V50A2B5 00215000
- DMKENTFI DS 0H @V50A2B5 00216000
- USING *,R12 @V50A2B5 00217000
- SL R12,=A(DMKENTFI-DMKENT) @V50A2B5 00218000
- USING DMKENT,R12 @V50A2B5 00219000
- CALL DMKMNIFI ROUTINE TO FREE UP ALL RESOURCES @V50A2B5 00220000
- B EXITN @V50A2B5 00221000
- EJECT 00222000
- *. 00223000
- * 00224000
- * ENTRY POINT - 00225000
- * 00226000
- * DMKENTKC - VIA CPEXBLOK TO ISSUE MONITOR CLOSE 00227000
- * 00228000
- * CALLS - 00229000
- * 00230000
- * DMKMIAKC - MONITOR ROUTINE TO PREPARE A CLOSE COMMAND 00231000
- * 00232000
- * OPERATION - 00233000
- * 00234000
- * THIS ROUTINE MERELY SATISFIES THE MAIN STORAGE RESIDENCY 00235000
- * REQUIREMENTS OF A CPEXBLOK ENTRY POINT 00236000
- * 00237000
- *. 00238000
- ENTRY DMKENTKC @V50A2B5 00239000
- DMKENTKC DS 0H @V50A2B5 00240000
- USING *,R12 @V50A2B5 00240050
- SL R12,=A(DMKENTKC-DMKENT) @V50A2B5 00240090
- USING DMKENT,R12 @V50A2B5 00240130
- CALL DMKMIAKC PREPARE MONITOR CLOSE @V50A2B5 00240170
- B EXITN ... @V50A2B5 00240210
- EJECT 00240250
- *. 00240290
- * ENTRY POINT - 00240330
- * 00240370
- * DMKENTTI - VIA TRQ TO GATHER I/O UTILIZATION DATA 00240410
- * 00240450
- * EXTERNAL REFERENCES/CALLS - 00240490
- * 00240530
- * DMKSCHST - SCHEDULE THE NEXT TRQ FOR UTILIZATION 00240570
- * DMKCVTAB - ABEND DUE TO BAD TOD CLOCK 00240610
- * 00240650
- * EXIT CONDITIONS - 00240690
- * 00240730
- * NORMAL EXIT - DISPATCHER 00240770
- * ABNORMAL EXIT - CVT001 ABEND DUE TO TOD CLOCK FAILURE 00240810
- * 00240850
- * OPERATION - 00240890
- * 00240930
- * SCHEDULE THE NEXT UTILIZATION TIMER REQUEST BLOCK. 00240970
- * GATHER DEVICE, CONTROL UNIT, AND CHANNEL SAMPLES. 00241010
- * 00241050
- *. 00241090
- ENTRY DMKENTTI @V60BEBC 00241130
- DMKENTTI DS 0H @V60BEBC 00241170
- USING *,R12 @V60BEBC 00241210
- SL R12,=A(DMKENTTI-DMKENT) @V60BEBC 00241250
- USING DMKENT,R12 @V60BEBC 00241290
- L R9,=A(DMKPRGMC) GET ADDR OF MONCOM @V60BEBC 00241330
- L R9,0(R9) ... @V60BEBC 00241370
- USING MONCOM,R9 @V60BEBC 00241410
- L R1,MONUTRB ADDR UTILIZATION TRB @V60BEBC 00241450
- USING TRQBLOK,R1 @V60BEBC 00241490
- STCK TRQBTOD TIME OF DAY FOR REQUEST @V60BEBC 00241530
- BC 12,OKCLOCK CLOCK FUNCTIONING? @V60BEBC 00241570
- GOTO DMKCVTAB NO, ABEND CVT001 @V60BEBC 00241610
- OKCLOCK LH R3,DMKENTUT GET UTILIZATION INTERVAL @V60BEBC 00241650
- LTR R3,R3 HAS INTERVAL BEEN TURNED OFF? @V60BEBC 00241690
- BZ GETOUT @V60BEBC 00241730
- SLR R2,R2 CLEAR FOR MULTIPLY @V60BEBC 00241770
- M R2,=F'1000000' TO MICROSECONDS @V60BEBC 00241810
- SLDL R2,12 ALIGN WITH TOD FORMAT @V60BEBC 00241850
- AL R3,TRQBTOD+4 ADD IN LOW ORDER TOD BITS @V60BEBC 00241890
- BC 12,JUMPOVE SKIP IF NO OVERFLOW @V60BEBC 00241930
- AL R2,F1 ADD 1 TO HIGH ORDER TOD @V60BEBC 00241970
- JUMPOVE AL R2,TRQBTOD ADD IN HIGH ORDER TOD BITS @V60BEBC 00242010
- STM R2,R3,TRQBVAL NEXT INTERRUPT DUE AT THIS TIME@V60BEBC 00242050
- CALL DMKSCHST INSERT TRB INTO REQUEST CHAIN @V60BEBC 00242090
- DROP R1 @V60BEBC 00242130
- GETOUT SWITCH TCH ON MP ONLY @V60BEBC 00242170
- L R1,MONCHPTR GET PTR TO CHAN SAMPLES @V60BEBC 00242210
- LH R2,0(R1) GET SAMPLE COUNT @V60BEBC 00242250
- LA R2,1(R2) INCR SAMPLE COUNT @V60BEBC 00242290
- STH R2,0(R1) SAVE IT BACK @V60BEBC 00242330
- LA R1,MNCHSAMP(R1) INITIAL SAMPLE FIELD OFFSET @V60BEBC 00242370
- LA R2,0 INITIAL CHANNEL NUMBER @V60BEBC 00242410
- TCHLOOP TCH 0(R2) CHANNEL STATUS? @V60BEBC 00242450
- BC 9,NOINCR FREE OR NOT-OP, NO INCREMENT @V60BEBC 00242490
- LH R3,0(R1) GET CURRENT SAMPLE COUNT @V60BEBC 00242530
- LA R3,1(R3) INCREMENT IT @V60BEBC 00242570
- STH R3,0(R1) SAVE IT BACK @V60BEBC 00242610
- NOINCR LA R1,MNCHSAMP(R1) INCR CHANNEL FIELD PTR @V60BEBC 00242650
- LA R2,256(R2) INCR CHANNEL NUMBER @VA09282 00242690
- C R2,F4096 ALL POSSIBLE CHANNELS?? @VA09282 00242730
- BL TCHLOOP NO, DO NEXT CHANNEL @V60BEBC 00242770
- SPACE 1 @V60BEBC 00242810
- LH R1,MONDVNUM NUMBER OF DEVICES FOR BCT @V60BEBC 00242850
- L R2,MONDVLST ADDR OF DEVICE LIST @V60BEBC 00242890
- USING MNDEVLST,R2 DEVICE ENTRY ADDRESSABILITY @V60BEBC 00242930
- USING RCUBLOK,R7 @V60BEBC 00242970
- USING RDEVBLOK,R8 @V60BEBC 00243010
- NEXTDEV L R8,0(R2) NEXT RDEVBLOK @V60BEBC 00243050
- L R7,RDEVCUA AND RCUBLOK @V60BEBC 00243090
- TM RCUTYPE,RCUSUB IS THIS SUB-CONTROL UNIT @V60BEBC 00243130
- BZ JUMPONE NO SKIP @V60BEBC 00243170
- L R7,RCUPRIME YES, GET PRIMARY CU @V60BEBC 00243210
- JUMPONE TM RDEVSTAT,RDEVBUSY IS DEVICE MARKED BUSY? @V60BEBC 00243250
- BZ TESTCU NO, HOW ABOUT CONTROL UNIT? @V60BEBC 00243290
- LH R3,MNDVBSY YES, GET CURRENT COUNT @V60BEBC 00243330
- LA R3,1(R3) INCREMENT IT @V60BEBC 00243370
- STH R3,MNDVBSY SAVE IT BACK @V60BEBC 00243410
- TESTCU TM RCUSTAT,RCUBUSY IS CONTROL UNIT MARKED BUSY @V60BEBC 00243450
- BZ INCRDEV NO, DO NEXT DEVICE @V60BEBC 00243490
- LH R3,MNCUBSY YES, GET CURRENT COUNT @V60BEBC 00243530
- LA R3,1(R3) INCREMENT IT @V60BEBC 00243570
- STH R3,MNCUBSY SAVE IT BACK @V60BEBC 00243610
- INCRDEV LA R2,MNDEVLEN(R2) INCREMENT DEVICE LIST PTR @V60BEBC 00243650
- BCT R1,NEXTDEV TEST FOR ALL DEVICES COMPLETED @V60BEBC 00243690
- SPACE 1 @V60BEBC 00243730
- B EXITN GOTO DISPATCHER @V60BEBC 00243770
- EJECT @V60BEBC 00243810
- *. 00243850
- * 00243890
- * ENTRY POINT - 00243930
- * 00243970
- * DMKENT62 - COLLECT I/O UTILIZATION DATA 00244010
- * 00244050
- * ENTRY CONDITIONS - 00244090
- * 00244130
- * GPR1 - POINTER TO MONITOR BUFFER 00244170
- * GPR9 - POINTER TO MONCOM AREA 00244210
- * GPR12- ADDRESSABILITY 00244250
- * GPR13- SAVEAREA ADDRESS 00244290
- * 00244330
- * EXIT CONDITIONS - 00244370
- * 00244410
- * NONE 00244450
- * 00244490
- * EXTERNAL REFERENCES - 00244530
- * 00244570
- * NONE 00244610
- * 00244650
- * REGISTER USAGE - 00244690
- * 00244730
- * GPR4 - CHANNEL SAMPLE INDEX 00244770
- * GPR5 - RCHBLOK ADDRESSABILITY 00244810
- * GPR7 - RCUBLOK ADDRESSABILITY 00244850
- * GPR8 - RDEVBLOK ADDRESSABILITY 00244890
- * 00244930
- * OPERATION - 00244970
- * 00245010
- * SCAN THROUGH THE MONITOR DASTAP LIST AND INSERT 00245050
- * BUSY COUNTS FOR DEVICE, CONTROL UNIT, AND CHANNEL 00245090
- * INTO THE CURRENT MONITOR BUFFER. 00245130
- * 00245170
- *. 00245210
- DMKENT62 RELOC I/O UTILIZATION COLLECTION @V60BEBC 00245250
- USING RDEVBLOK,R8 RDEVBLOK ADDRESSABILITY @V60BEBC 00245290
- USING MONCOM,R9 COMM AREA ADDRESSABILITY @V60BEBC 00245330
- USING MN602HDR,R1 @V60BEBC 00245370
- L R3,MONCHPTR POINT TO CHANNEL SAMPLES 00245410
- LH R3,0(R3) GET SAMPLE COUNT 00245450
- STH R3,MN602SAM PUT SAMPLES INTO BUFFER @V60BEBC 00245490
- LA R1,MN602HLN(R1) REPOSITION FIELD POINTER @V60BEBC 00245530
- LH R3,MONDVNUM NUM. DEVICES FOR BCT @V60BEBC 00245570
- DROP R1 @V60BEBC 00245610
- USING MN602DEV,R1 SWITCH TO RECORD DSECT @V60BEBC 00245650
- L R2,MONDVLST ADDR OF DEVICE LIST @V60BEBC 00245690
- USING MNDEVLST,R2 DEVICE LIST ADDRESSABILITY @V60BEBC 00245730
- USING RCUBLOK,R7 @V60BEBC 00245770
- USING RCHBLOK,R5 @V60BEBC 00245810
- MOVEADD1 L R8,0(R2) NEXT RDEVBLOK PTR @V60BEBC 00245850
- L R7,RDEVCUA PICK UP CU ADDRESS @V60BEBC 00245890
- MVC MN602ADD,RDEVADD GET DEVICE ADDRESS @V60BEBC 00245930
- OC MN602ADD+1(1),RCUADD+1 AND CONTROL UNIT ADDRESS @V60BEBC 00245970
- TM RCUTYPE,RCUSUB IS THIS A SUB-CONTROL UNIT @V60BEBC 00246010
- BZ SKIPONE NO, C.U. OK AS IS @V60BEBC 00246050
- L R7,RCUPRIME GET PRIME C.U. ADDRESS @V60BEBC 00246090
- SKIPONE L R5,RCUCHA GET ADDR OF CHANNEL BLOCK @V60BEBC 00246130
- OC MN602ADD(1),RCHADD ADD CHANNEL ADDRESS @V60BEBC 00246170
- MVC MN602CHQ,RCHQCNT GET CHANNEL Q COUNT @V60BEBC 00246210
- MVC MN602CUQ,RCUQCNT GET C.U. Q COUNT @V60BEBC 00246250
- MVC MN602DVQ,RDEVQCNT GET DEVICE Q COUNT @V60BEBC 00246290
- MVC MN602CUB(4),MNCUBSY GET DEVICE, C.U. BUSY COUNTS@V60BEBC 00246330
- XC MNCUBSY(4),MNCUBSY THEN RESET THEM TO 0 @V60BEBC 00246370
- LH R4,RCHADD OBTAIN CHANNEL SAMPLE @V60BEBC 00246410
- SRL R4,7 INDEX @V60BEBC 00246450
- A R4,MONCHPTR PT TO PROPER CHANNEL SAMPLE @V60BEBC 00246490
- MVC MN602CHB(MNCHSAMP),2(R4) MOVE IT TO BUFFER @V60BEBC 00246530
- LA R2,MNDEVLEN(R2) NEXT DEVICE BLOCK @V60BEBC 00246570
- LA R1,MN602DLN(R1) NEXT MONITOR RECORD @V60BEBC 00246610
- BCT R3,MOVEADD1 DO NEXT DEVICE @V60BEBC 00246650
- L R4,MONCHPTR ADDRESS CHANNEL SAMPLES @V60BEBC 00246690
- XC 0(MNCHSIZE*8,R4),0(R4) CLEAR CHANNEL SAMPLES @V60BEBC 00246730
- EXIT RETURN TO DMKMON @V60BEBC 00246770
- EJECT @V60BEBC 00246810
- ENTRY DMKENTBS @V50A2B5 00246850
- DMKENTBS DC C'U' MON START TRQ STATUS - SCHEDULED OR @V50A2B5 00248000
- * REMOVED FROM CHAIN (UNSTACKED) 00249000
- ENTRY DMKENTES @V50A2B5 00250000
- DMKENTES DC C'U' MON STOP TRQ STATUS - SCHEDULED OR @V50A2B5 00251000
- * REMOVED FROM CHAIN (UNSTACKED) 00252000
- ENTRY DMKENTTB @V50A2B5 00253000
- DMKENTTB DS 0D MONITOR START TIMER REQUEST BLOCK @V50A2B5 00254000
- DC 40X'00' @V50A2B5 00255000
- ENTRY DMKENTTE @V50A2B5 00256000
- DMKENTTE DS 0D MONITOR STOP TIMER REQUEST BLOCK @V50A2B5 00257000
- DC 40X'00' @V50A2B5 00258000
- ENTRY DMKENTSK @V60BEBC 00258200
- DMKENTSK DC A(0) POINTER TO SEEKS LIST @V60BEBC 00258400
- ENTRY DMKENTUT @V60BEBC 00258600
- DMKENTUT DC H'2' UTILIZATION INTERVAL DEFAULT @V60BEBC 00258800
- COPY EQU @V50A2B5 00259000
- COPY SAVE @V50A2B5 00260000
- COPY VMBLOK @V50A2B5 00261000
- COPY MONBLOKS @V50A2B5 00262000
- COPY TIMER @V60BEBC 00262300
- COPY RBLOKS 00262600
- PSA @V50A2B5 00263000
- END DMKENT 00264000
ibm/vm370-lib/cp/dmkent.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator