ibm:vm370-lib:cp:dmkopr.assemble_src
Table of Contents
DMKOPR Source
References
- Fixes Applied : 4
- This Source Date : Thursday, December 7, 1978
- Last Fix ID : [HRC101DK]
Source Listing
- DMKOPR.ASSEMBLE.txt
- OPR TITLE 'DMKOPR (CP) VM/370 - RELEASE 6' 00001000
- ISEQ 73,80 VALIDATE SEQUENCING OF ASSEMBLE FILE 00002000
- *. 00003000
- * MODULE NAME - 00004000
- * 00005000
- * DMKOPR 00006000
- * 00007000
- * FUNCTION - 00008000
- * 00009000
- * PROVIDE THE NECCESSARY SUPPORT FOR FOR VM/370 CONSOLE. 00010000
- * CERTAIN ROUTINES WITHIN THE CONTROL PROGRAM CAN NOT 00011000
- * CALL DMKQCN TO ISSUE WRITES TO THE SYSTEM OPERATOR, 00012000
- * THIS MODULE WILL DETERMINE THE SYSTEM'S PRIMARY CONSOLE ; 00013000
- * (3210, 3215, 3066, 3270,3278), AND BUILD A CHANNEL PROGRAM 00014000
- * TO HANDLE THE REQUESTED CALL. 00015000
- * 00016000
- * 00016100
- * IF MESSAGE LENGTH IS GREATER THAN 160 BYTES AND MESSAGE 00016200
- * IS FOR A GRAPHICS TYPE DEVICE IT WILL BE TRUNCATED TO 00016300
- * 160 BYTES. 00016400
- * 00016500
- *. 00017000
- EJECT 00018000
- COPY OPTIONS 00019000
- COPY LOCAL OPTIONS 00020000
- EJECT 00021000
- DMKOPR START 00022000
- USING PSA,R0 00023000
- USING RDEVBLOK,R8 REAL DEVICE BLOCK 00024000
- SPACE 00025000
- EXTRN DMKRIODV,DMKRIOCN @V200820 00026000
- ENTRY DMKOPRWT @V200731 00027000
- SPACE 00028000
- *. 00029000
- * SUBROUTINE NAME - 00030000
- * 00031000
- * DMKOPRWT - TO WRITE TO SYSTEMS CONSOLE 00032000
- * 00033000
- * FUNCTION - 00034000
- * 00035000
- * TO INITIATE WRITE TO THE PRIMARY SYSTEMS CONSOLE 00036000
- * 00037000
- * ATTRIBUTES - 00038000
- * 00039000
- * SERIALLY REUSABLE, CALLED BY BALR R14,R15 00040000
- * 00041000
- * ENTRY CONDITIONS - 00042000
- * 00043000
- * GPR0 = MAXIMUM NUMBER OF BYTES 00044000
- * GPR1 = ADDRESS OF BUFFER 00045000
- * GPR2 = PARAMETER REGISTER - 00046000
- * NOAUTO - PREVENT AUTO-CARRIAGE RETURN 00047000
- * ALARM - RING THE ALARM 00048000
- * GPR14 = RETURN ADDRESS 00049000
- * GPR15 = ADDRESS OF DMKOPRWT 00050000
- * 00051000
- * EXIT CONDITIONS - 00052000
- * 00053000
- * GPR0 - GPR15 = UNCHANGED 00054000
- * CONDITION CODE = 0 (NO ERRORS DETECTED) 00055000
- * CONDITION CODE = 1 (ERROR DETECTED - EXAMINE CSW) 00056000
- * CONDITION CODE = 2 (MISUSE OF PARAMETERS) 00057000
- * CONDITION CODE = 3 (DEVICE IS NON-EXISTANT) 00058000
- * 00059000
- * CALLS TO OTHER ROUTINES - NONE 00060000
- * 00061000
- * EXTERNAL REFERENCES - 00062000
- * 00063000
- * DMKRIODV - ADDRESS OF REAL DEVICE BLOCKS 00064000
- * DMKRIOCN - ADDRESS OF POINTER TO SYSTEM PRIMARY CONSOLE 00065000
- * 00066000
- * TABLES / WORK AREAS - NONE 00067000
- * 00068000
- * REGISTER USAGE - 00069000
- * GPR0 = MAXIMUM BYTE COUNT 00070000
- * GPR1 = ADDRESS OF CALLERS BUFFER 00071000
- * GPR3 - GPR12 = WORK REGISTERS 00072000
- * GPR13 = UNUSED 00073000
- * GPR14 = RETURN REGISTER 00074000
- * GPR15 = MODULE BASE REGISTER 00075000
- *. 00076000
- EJECT 00077000
- USING DMKOPRWT,R15 00078000
- DMKOPRWT DS 0D ENTRY FOR SYSTEM CONSOLE OUTPUT 00079000
- STM R0,R15,OPREGS SAVE REGISTERS AT INPUT @V200731 00080000
- ST R2,PARM2 SAVE PARAMETER REGISTER 00081000
- L R8,=A(DMKRIOCN) GET PRIMARY SYSTEMS CONSOLE POINTER 00082000
- LH R3,2(,R8) PICK UP CONSOLE ADDRESS FOR 'SIO' 00083000
- LH R8,0(,R8) GET DISPLACEMENT OF RDEVBLOK 00084000
- SLL R8,3(0) CONVERT TO BYTE INDEX @V200820 00085000
- AL R8,=A(DMKRIODV) FORM ABSOLUTE ADDR. OF CONSOLE RDEVBLOK 00086000
- STIDP CPUID STORE CPU IDENTIFICATION @V200731 00087000
- CLI CPUVERSN,X'FF' IS THIS A VIRTUAL MACHINE ? @V200731 00088000
- BNE TESTCNS NO, GO TEST CONSOLE ADDRESS @V200731 00089000
- L R3,FFS GET ALL FFS @V200731 00090000
- DC X'83340024' GET CONSOLE ADDRESS (VIRTUAL) @V200731 00091000
- BO SETCC3 CONSOLE ADDRESS DOESN'T EXIST @V200731 00092000
- B CNS3210 @V200820 00093000
- SPACE 00094000
- TESTCNS EQU * CHECK FOR GRAPHIC CONSOLE @V200820 00095000
- CLI RDEVTYPC,CLASGRAF IS SYSTEM CONSOLE A 3277/3066 @V200731 00096000
- BE GRAPHID YES, GO TO GRAPHIC SUPPORT @V200731 00097000
- CNS3210 EQU * 00098000
- TM PARM,NOAUTO IS A CARRIAGE RETURN NECESSARY @V200731 00099000
- BZ WRT10CR YES, GET CORRECT CCWS @V200731 00100000
- STCM R1,B'0111',WRT3210+1 RESOLVE CCW DATA ADDRESS @V200731 00101000
- STH R0,WRT3210+6 STORE CCW COUNT 00102000
- LA R5,WRT3210 ADDRESS OF THE CHANNEL PROGRAM 00103000
- B SETCAW DO I/O 00104000
- WRT10CR EQU * @V200731 00105000
- STCM R1,B'0111',WRT3210A+1 RESOLVE CCW DATA ADDRESS @V200731 00106000
- STH R0,WRT3210A+6 STORE CCW COUNT 00107000
- LA R5,WRT3210A ADDRESS OF THE CHANNEL PROGRAM 00108000
- B SETCAW DO I/O 00109000
- SPACE 00110000
- GRAPHID EQU * @V200731 00111000
- MVC CPXYSTAT(20),RUNLABEL ASSUME 'RUNNING' STATUS @V200731 00112000
- CLI RDEVTYPE,TYP3066 IS THIS A 3066 CONSOLE @V200731 00113000
- BNE CON3270 NO, GO TO 3277 SUPPORT @V200731 00114000
- LA R4,RDEVCORD GET POINTER TO CURRENT LINE @V200731 00115000
- STCM R4,B'0111',WRTCRTXY+1 SAVE CURRENT LINE POINTER @V200731 00116000
- BAL R10,SETMSLEN PUT MSG IN 80 OR 160 BYTE BUFFER @VA11129 00116100
- LA R5,WRTCRTXY GET ADDRESS OF CHANNEL PROGRAM @V200731 00117000
- STCM R1,B'0111',WRT3066+1 RESOLVE CCW DATA ADDR @V200731 00118000
- STH R0,WRT3066+6 STORE THE CCW COUNT @V200731 00119000
- B SETCAW NOW DO SIO FOR WRITE @V200731 00120000
- SPACE 00121000
- CON3270 EQU * @V200731 00122000
- SR R4,R4 CLEAR REGISTER 4 @V200731 00123000
- IC R4,RDEVCORD GET THE CURRENT LINE (Y CO-ORD) @V200731 00124000
- SLL R4,1 SETUP THE INDEX INTO THE TABLE @V200731 00125000
- LH R4,TABLE70(R4) GET THE LINE ADDRESS @V200731 00126000
- CLI RDEVGRTY,MODEL2A IS THIS 3278 MODEL 2A? @V60A6B6 00126100
- BNE TRY3273 TRY MODEL 3 HRC101DK 00126250
- MVC LAB3270A+2(2),ADDR2A1 CHANGE ADDR FOR 3278 HRC101DK 00126300
- MVC LAB3270A+8(2),ADDR2A2 HRC101DK 00126350
- MVC MAXLEN,LEN327A MAX LEN FOR 3278 MOD2A=1440 HRC101DK 00126400
- B MOD3278 DON'T OVERLAY WITH 3270 @V60A6B6 00126510
- SPACE , HRC101DK 00126610
- TRY3273 EQU * HRC101DK 00126620
- CLI RDEVGRTY,MODEL3 IS THIS 3278 MODEL 3 ? HRC101DK 00126630
- BNE TRY3274 TRY MODEL 4 HRC101DK 00126640
- MVC LAB3270A+2(2),ADDR031 CHANGE ADDR FOR 3278 HRC101DK 00126650
- MVC LAB3270A+8(2),ADDR032 HRC101DK 00126660
- MVC MAXLEN,LEN3273 MAX LEN FOR 3278 MOD3 =2400 HRC101DK 00126670
- B MOD3278 DON'T OVERLAY WITH 3270 HRC101DK 00126680
- SPACE , HRC101DK 00126690
- TRY3274 EQU * HRC101DK 00126700
- CLI RDEVGRTY,MODEL4 IS THIS 3278 MODEL 4 ? HRC101DK 00126710
- BNE YES3270 ASSUME MODEL 2 HRC101DK 00126720
- MVC LAB3270A+2(2),ADDR041 CHANGE ADDR FOR 3278 HRC101DK 00126730
- MVC LAB3270A+8(2),ADDR042 HRC101DK 00126740
- MVC MAXLEN,LEN3274 MAX LEN FOR 3278 MOD4 =3280 HRC101DK 00126750
- B MOD3278 DON'T OVERLAY WITH 3270 HRC101DK 00126760
- SPACE , HRC101DK 00126770
- YES3270 EQU * HRC101DK 00126780
- MVC MAXLEN,LEN3272 MAX LEN FOR 3272=1760 HRC101DK 00126790
- MOD3278 EQU * @V60A6B6 00126800
- STCM R4,3,LAB3270+2 SAVE THE CURRENT LINE POINTER @V200731 00127000
- BAL R10,SETMSLEN PUT MSG IN 80 OR 160 BYTE BUFFER @VA11129 00127100
- STCM R1,B'0111',WRTCR70+1 GET THE MESSAGE ADDRESS @V200731 00128000
- STH R0,WRTCR70+6 SAVE THE BYTE COUNT IN THE CCW @V200731 00129000
- MVI LAB3270,WC6 TURN OFF ALARM BIT BY DEFAULT @VA08218 00129510
- LA R5,WRTCRT70 GET ADDRESS OF CHANNEL PROGRAM @V200731 00130000
- EJECT 00131000
- SETCAW EQU * HERE TO ISSUE 'SIO' 00132000
- TM PARM,ALARM SHOULD WE RING THE ALARM 00133000
- BZ DEVTIO NO - WAS NOT ASKED TO DO SO. 00134000
- MVI LAB3270,WC56 TURN ON 3270 ALARM CONTROL BIT @VA07600 00134500
- ICM R5,B'1000',ALRMTIC CHAIN CCW STRING FROM 00135000
- ST R5,ALRMTIC THE ALARM CCW... 00136000
- LA R5,ALRMCCW LOAD NEW CAW ADDRESS 00137000
- DEVTIO EQU * @V200731 00138000
- LA R10,TIOT1 GET THE ADDRESS OF TIO @V200731 00139000
- L R4,XRIGHT16 GET THE TIMEOUT COUNT @V200731 00140000
- TIOT1 EQU * @V200731 00141000
- TIO 0(R3) CLEAR ANY OUTSTANDING STATUS @V200731 00142000
- BO SETCC3 NOT OPERATIONAL - SET CC = 3 @V200731 00143000
- BC 4+2,TESTLOOP GO DECREMENT COUNT @V200731 00144000
- ST R5,CAW STORE CAW ADDRESS @V200731 00145000
- XC CSW,CSW CLEAR CSW FIELD @V200731 00146000
- LA R5,10 ERROR RETRY COUNT = 10 @V200731 00147000
- SIORETR1 EQU * @V200731 00148000
- SIO 0(R3) ISSUE SIO @V200731 00149000
- LA R10,TIOT2 GET THE ADDRESS OF TIO @V200731 00150000
- L R4,XRIGHT16 GET THE TIMEOUT COUNT @V200731 00151000
- TIOT2 EQU * @V200731 00152000
- TIO 0(R3) WAIT FOR DEVICE END STATUS @V200731 00153000
- BO SETCC3 NOT OPERATIONAL - SET CC = 3 @V200731 00154000
- BC 4+2,TESTLOOP GO DECREMENT COUNT @V200731 00155000
- TM CSW+4,UC WAS THERE AN ERROR CONDITION @V200731 00156000
- BO SIORETRY YES, GO DECREMENT RETRY COUNT @V200731 00157000
- CLI CPUVERSN,X'FF' RUNNING VIRTUALLY ? @V200820 00158000
- BE SETCC0 YES - ALL FINISHED @VM08535 00159000
- CLI RDEVTYPC,CLASGRAF IS DEVICE TYPE GRAPHIC ? @V200731 00160000
- BNE SETCC0 NO -- RETURN TO CALLER @VM08535 00161000
- SLR R10,R10 CLEAR REG 00162000
- IC R10,RDEVCORD INSERT 3066 CORRIDINATE 00163000
- LA R10,1(,R10) BUMP IT BY 1 LINE 00164000
- CH R0,=H'80' DID CCW REACH BEYOND 1 LINE 00165000
- BNH *+8 NO 00166000
- LA R10,1(,R10) YES - INCREASE IT BY 1 MORE LINE 00167000
- STC R10,RDEVCORD SAVE THE CURRENT POINTER 00168000
- MH R10,=H'80' GET THE BYTE LENGTH @V200731 00169000
- L R4,=F'2640' GET THE MAX. LENGTH @V200731 00170000
- CLI RDEVTYPE,TYP3066 IS THIS A 3066 GRAPHIC ? @V200731 00171000
- BE TEST3066 YES, GO CHECK FOR MAX. @V200731 00172000
- L R4,MAXLEN GET THE MAX.LENGTH FOR 3270 @V60A6B6 00173000
- TEST3066 EQU * @V200731 00174000
- CR R10,R4 IS Y COORDINATE AT END OF CRT @V200731 00175000
- BL SETCC0 NO - RETURN TO CALLER @VA14139 00176100
- MVI RDEVCORD,0 YES - RESET TO TOP OF THE SCREEN 00177000
- B SETCC0 ALL DONE - RETURN @VM08535 00178000
- SIORETRY EQU * @V200731 00179000
- BCT R5,SIORETR1 DECREMENT RETRY COUNT @V200731 00180000
- B SETCC1 GO SET CONDITION CODE 1 @V200731 00181000
- TESTLOOP EQU * @V200731 00182000
- BCTR R4,R10 DECREMENT TIO INSTRUCTION COUNT @V200731 00183000
- B SETCC2 GO SET CONDITION CODE 2 @V200731 00184000
- EJECT 00185000
- SETCC0 CLI *+1,255 SET CONDITION CODE = 0 00186000
- B RSTREGS RESTORE USERS REGISTERS 00187000
- SETCC1 TM *,X'FF' SET CONDITION CODE = 1 00188000
- B RSTREGS RESTORE USERS REGISTERS 00189000
- SETCC2 CLI *,X'00' SET CONDITION CODE = 2 00190000
- B RSTREGS RESTORE USERS REGISTERS 00191000
- SETCC3 TM *+1,255 SET CONDITION CODE = 3 00192000
- RSTREGS LM R0,R15,OPREGS RESTORE CALLERS REGISTERS @V200730 00193000
- BR R14 RETURN TO CALLER 00194000
- SETMSLEN DS 0H @VA11129 00194100
- LR R5,R0 GET MESSAGE LENGTH @VA12247 00194125
- CH R0,=H'80' WHAT IS MESSAGE LENGTH @VA11129 00194140
- BL MSLEN80 LESS THAN SET TO 80 @VA11129 00194160
- BER R10 IF EQUAL TO 80, CONTINUE @VA11129 00194180
- CH R0,=H'160' IS IT MORE THAN 160 BYTES @VA11129 00194200
- BNH MSLEN160 YES, SET IT FOR 160 BYTES @VA11129 00194220
- LA R5,160 SET MOVE FOR MAXIMUM LENGTH @VA11129 00194240
- MSLEN160 DS 0H @VA11129 00194260
- LA R0,160 SET WRITE FOR MAXIMUM LENGTH @VA11129 00194280
- B SETMS @VA11129 00194300
- MSLEN80 DS 0H @VA11129 00194320
- LA R0,80 SET WRITE FOR MINIMUM LENGTH @VA11129 00194340
- SETMS DS 0H @VA11129 00194360
- XC MSGBUF(160),MSGBUF CLEAR BUFFER @VA11129 00194380
- BCTR R5,0 SUBTRACT ONE FOR EXECUTE @VA11129 00194400
- EX R5,MSGMVC MOVE MESSAGE TO BUFFER @VA11129 00194420
- LA R1,MSGBUF @VA11129 00194440
- BR R10 RETURN TO MAINLINE @VA11129 00194460
- SPACE 2 00194480
- MSGMVC MVC MSGBUF(*-*),0(R1) EXECUTED INSTRUCTION - MSG @VA11129 00194500
- EJECT 00195000
- *---------------------------------------------------------------------* 00196000
- * GRAPHIC SUPPORT CCWS * 00197000
- *---------------------------------------------------------------------* 00198000
- CRTWORD CCW X'27',SBACP,SILI+CC,2 SET BAR TO (STATUS WORD) @V200731 00199000
- CCW X'01',CPXYSTAT,SILI+CC,20 WRITE 'RUNNING' @V200731 00200000
- CCW X'27',SBAREAD,SILI+CC,2 SET BUFFER ADDR @V200731 00201000
- CCW X'01',BLNKLINE,SILI+CC,140 CLEAR INPUT LINE @V200731 00202000
- CURS3066 CCW X'0F',SBAREAD,SILI+CC,2 REPOSITION CURSOR @V200731 00203000
- CCW X'03',*-*,SILI,3 END OF READ CCW STRING @V200731 00204000
- SPACE 2 00205000
- CRTWORD1 CCW X'01',LAB3270A,SILI,LEN THE CONTROL DATA @V200731 00206000
- CCW X'03',*-*,SILI,2 @V200731 00207000
- SPACE 2 00208000
- WRTCRTXY CCW X'27',*-*,SILI+CC,2 SET CORRECT LINE IN BUFFER @V200731 00209000
- WRT3066 CCW X'01',*-*,SILI+CC,140 WRITE OUT USER DATA @V200731 00210000
- CCW X'08',CRTWORD,SILI,1 NOW DISPLAY STATUS @V200731 00211000
- SPACE 2 00212000
- WRTCRT70 CCW X'01',LAB3270,SILI+CD,4 THE CONTROL DATA @V200731 00213000
- WRTCR70 CCW X'00',*-*,SILI+CD,0 THE WRITE CCW @V200731 00214000
- CCW X'00',LAB3270A+1,SILI+CC,LEN-1 WRITE STATUS @V200731 00215000
- CCW X'03',*-*,SILI,2 @V200731 00216000
- SPACE 3 00217000
- *---------------------------------------------------------------------* 00218000
- * CCW'S FOR GRAPHICS AND CONSOLES SUPPORT * 00219000
- *---------------------------------------------------------------------* 00220000
- ALRMCCW CCW X'0B',*-*,SILI+CC,1 RING THE ALARM @V200731 00221000
- ALRMTIC CCW X'08',*-*,SILI,0 NOP/TIC CCW @V200731 00222000
- SPACE 2 00223000
- *---------------------------------------------------------------------* 00224000
- * CCW'S FOR 2310/2315 CONSOLE * 00225000
- *---------------------------------------------------------------------* 00226000
- WRT3210 CCW X'01',*-*,SILI+CC,140 WRITE WITH NO CARRAGE RETURN 00227000
- CCW X'03',*-*,SILI,1 00228000
- SPACE 00229000
- WRT3210A CCW X'09',*-*,SILI+CC,140 WRITE WITH A CARRAGE RETURN 00230000
- CCW X'03',*-*,SILI,1 00231000
- SPACE 00232000
- *---------------------------------------------------------------------* 00233000
- * FIRST DC ARE ADDRESSES FOR LINES 1 -6 * 00234000
- * SECOND DC ARE ADDRESSES FOR LINES 7 - 12 * 00235000
- * THIRD DC ARE ADDRESSES FOR LINES 13 - 18 * 00236000
- * FOURTH DC ARE ADDRESSES FOR LINES 19 - 24 * 00237000
- * FIFTH DC ARE ADDRESSES FOR LINES 25 - 30 HRC101DK 00237200
- * SIXTH DC ARE ADDRESSES FOR LINES 31 - 36 HRC101DK 00237400
- * SEVENTHDC ARE ADDRESSES FOR LINES 37 - 42 HRC101DK 00237600
- * EIGHT DC ARE ADDRESSES FOR LINES 43 HRC101DK 00237800
- *---------------------------------------------------------------------* 00238000
- SPACE 2 00239000
- TABLE70 DS 0D @V200731 00240000
- DC X'4040C150C260C3F0C540C650' @V200731 00241000
- DC X'C760C8F04A404B504C604DF0' @V200731 00242000
- DC X'4F405050D160D2F0D440D550' @V200731 00243000
- DC X'D660D7F0D9405A505B605CF0' @V200731 00244000
- DC X'5E405F50606061F0E340E450' HRC101DK 00244200
- DC X'E560E6F0E840E9506A606BF0' HRC101DK 00244400
- DC X'6D406E506F60F0F0F240F350' HRC101DK 00244600
- DC X'F460' HRC101DK 00244800
- * X'5B60' - LINE 23, COL. 1 00245000
- * X'5D6A' - LINE 24, COL. 59 00246000
- SPACE 2 00247000
- WC56 EQU X'C6' WRITE CONTROL BITS 5 & 6 @VA07600 00247100
- WC6 EQU X'C2' WRITE CONTROL BIT 6 @V200731 00248000
- AT7 EQU X'C1' ATTRIBUTE BIT 7 @V200731 00249000
- AT2 EQU X'E0' ATTRIBUTE BIT 2 @V200731 00250000
- SF EQU X'1D' START OF FIELD CONTROL @V200731 00251000
- SBA EQU X'11' SET BUFFER ADDRESS @V200731 00252000
- IC EQU X'13' INSERT CURSOR @V200731 00253000
- EUA EQU X'12' ERASE UNPROTECTED @V200731 00254000
- ADDR2A1 DC X'D65F' LOCATION LINE 18 COL 80 HRC101DK 00254110
- ADDR2A2 DC X'D86B' LOCATION LINE 20 COL 60 HRC101DK 00254120
- ADDR031 DC X'E55F' LOCATION LINE 18 COL 80 HRC101DK 00254130
- ADDR032 DC X'E76B' LOCATION LINE 20 COL 60 HRC101DK 00254140
- ADDR041 DC X'F34F' LOCATION LINE 18 COL 80 HRC101DK 00254150
- ADDR042 DC X'F55B' LOCATION LINE 20 COL 60 HRC101DK 00254160
- MAXLEN DC F'0000' INITIALIZATION OF LEN FIELD @V60A6B6 00254300
- LEN327A DC F'1440' SCREEN FOR 3278 MOD2A = 1440 HRC101DK 00254490
- LEN3272 DC F'1760' SCREEN FOR 3272=1760 HRC101DK 00254580
- LEN3273 DC F'2400' SCREEN FOR 3273=2400 HRC101DK 00254670
- LEN3274 DC F'3280' SCREEN FOR 3274=3280 HRC101DK 00254760
- SPACE 2 00255000
- LAB3270A DC AL1(WC6),AL1(SBA),X'5B5F',AL1(SF),AL1(AT7) @VA03499 00256500
- DC AL1(IC),AL1(EUA),X'5D6B',AL1(SF),AL1(AT2) @V200731 00257000
- RUNLABEL DC CL20'RUNNING' @V200731 00258000
- LEN EQU *-LAB3270A @V200731 00259000
- LAB3270 DC AL1(WC6),AL1(SBA),X'0000' @V200731 00260000
- SPACE 2 00261000
- MSGBUF DS CL160 NEW MESSAGE BUFFER @VA11129 00261100
- SPACE 3 00262000
- OPREGS DC 16F'0' REGISTER SAVE AREA @V200730 00263000
- SPACE 00264000
- PARM2 DC F'0' PARMS PASSED 00265000
- PARM EQU PARM2+3 00266000
- WRTREQ EQU X'40' REQUEST TO 'WRITE' TO SYSTEMS CONSOLE 00267000
- SBACP DC AL1(34,60) COORDINATES FOR SCREEN 'STATUS' WORD 00268000
- SBAREAD DC AL1(33,0) COORDINATES FOR (READ/CURSOR) CCW 00269000
- SPACE 00270000
- CPXYSTAT DC CL20'40' SCREEN 'STATUS' WORD 00271000
- BLNKLINE DC CL140'40' BLANKS FOR CLEARING 'READ AREA' @V200731 00272000
- MODEL2A EQU X'0C' GIVES CORRECT VALUE TO DETERMINE @V60A6B6 00272100
- MODEL2 EQU X'00' GIVES CORRECT VALUE TO DETERMINE HRC101DK 00272120
- MODEL3 EQU X'04' GIVES CORRECT VALUE TO DETERMINE HRC101DK 00272140
- MODEL4 EQU X'08' GIVES CORRECT VALUE TO DETERMINE HRC101DK 00272160
- MODEL5 EQU X'10' GIVES CORRECT VALUE TO DETERMINE HRC101DK 00272180
- * IF THE SCREEN SIZE IS 20 LINES 00272200
- EJECT 00273000
- LTORG 00274000
- EJECT 00275000
- COPY RBLOKS 00276000
- COPY EQU 00277000
- COPY DEVTYPES 00278000
- PSA 00279000
- END DMKOPR 00280000
ibm/vm370-lib/cp/dmkopr.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator