ibm:vm370-lib:cp:dmkgrt.assemble_src
Table of Contents
DMKGRT Source
References
- Fixes Applied : 7
- This Source Date : Wednesday, January 17, 1979
- Last Fix ID : [HRC109DK]
Source Listing
- DMKGRT.ASSEMBLE.txt
- GRT TITLE 'DMKGRT (CP) VM/370 RELEASE 6' 00001000
- ISEQ 73,80 VALIDATE SEQUENCING OF INPUT @V60A6B6 00002000
- *. 00003000
- * MODULE NAME - 00004000
- * 00005000
- * DMKGRT 00006000
- * 00007000
- * FUNCTION - 00008000
- * 00009000
- * COMMON DATA AREAS AND SUBROUTINES FOR 3270 DISPLAY SUPPORT 00010000
- * 00011000
- * CONTENTS - 00012000
- * 00013000
- * DMKGRTAB - COMPUTE THE NEXT TAB ADDRESS AND CREATE THE DATA 00016000
- * STREAM TO POSITION THE CURSOR AND INSERT A LOGICAL 00017000
- * TAB CHARACTER IF NECESSARY. 00018000
- * DMKGRTID - Copy DKMSYSID into the 3270 status areas HRC108DK 00018100
- * in DMKGRTB, DMKGRWTB. DMKGRUTB, DMKGRVTB HRC108DK 00018200
- *. 00019000
- EJECT 00020000
- DMKGRT CSECT @V60A6B6 00021000
- SPACE 2 00022000
- ENTRY DMKGRTAB,DMKGRTAI,DMKGRTB,DMKGRTBL @V60A6B6 00023000
- ENTRY DMKGRTAC HRC029DK 00023500
- ENTRY DMKGRTCI,DMKGRTCS,DMKGRTDS,DMKGRTFD @V60A6B6 00024000
- ENTRY DMKGRTCN HRC101DK 00025290
- ENTRY DMKGRTFO,DMKGRTHL,DMKGRTIN HRC101DK 00025580
- ENTRY DMKGRTCL,DMKGRTCF HRC073DK 00025600
- ENTRY DMKGRTMR,DMKGRTNA,DMKGRTPF,DMKGRTP6 @V60A6B6 00026000
- ENTRY DMKGRTRD,DMKGRTRU,DMKGRTWI,DMKGRTWT @V60A6B6 00027000
- ENTRY DMKGRTID HRC108DK 00027100
- ENTRY DMKGRTBF HRC101DK 00028990
- SPACE 3 00030000
- EXTRN DMKSYSID,DMKGRWTB,DMKGRUTB,DMKGRVTB HRC108DK 00030100
- EXTRN DMKGRXTB 00030110
- SPACE 3 HRC108DK 00030200
- USING PSA,R0 @V60A6B6 00031000
- USING BUFFER,R3 @V60A6B6 00032000
- USING VMBLOK,R11 @V60A6B6 00033000
- USING SAVEAREA,R13 @V60A6B6 00034000
- *. 00154000
- * SUBROUTINE NAME - 00155000
- * 00156000
- * DMKGRTAB 00157000
- * 00158000
- * FUNCTION - 00159000
- * 00160000
- * TO RETURN THE ADDRESS AND LENGTH OF THE DATA STREAM THAT 00161000
- * WILL MOVE THE CURSOR TO THE NEXT TAB POSITION AND ADD A 00162000
- * LOGICAL TAB CHARACTER IF NECESSARY. 00163000
- * 00164000
- * ATTRIBUTES - 00165000
- * 00166000
- * SERIALLY REUSABLE, RESIDENT, CALLED VIA BALR 00167000
- * 00168000
- * ENTRY POINT - 00169000
- * 00170000
- * DMKGRTAB 00171000
- * 00172000
- * ENTRY CONDITIONS - 00173000
- * 00174000
- * GPR 0 = DISPLAY ALTERNATE SCREEN SIZE INDEX VALUE 00175000
- * GPR 1 = ADDRESS OF AREA IN WHICH TO BUILD TAB DATA STREAM 00176000
- * GPR 2 = POINTER TO THE PF TABLE ENTRY FOR THE TAB FUNCTION 00177000
- * GPR 3 = ADDRESS OF THE INPUT BUFFER CONTAINING DATA READ 00178000
- * GPR 4 = POINTER TO THE PF TAB DATA FIELD 00179000
- * GPR11 = DISPLAY TERMINAL USER'S VMBLOK ADDRESS 00180000
- * GPR14 = CALLER'S RETURN ADDRESS 00181000
- * GPR15 = ADDRESS OF DMKGRTAB 00182000
- * 00183000
- * EXIT CONDITIONS - 00184000
- * 00185000
- * GPR 2 = LENGTH OF THE DATA STREAM CREATED FOR TAB FUNCTION 00186000
- * 00187000
- * CALLS TO OTHER ROUTINES - 00188000
- * 00189000
- * NONE 00190000
- * 00191000
- * EXTERNAL REFERENCES - 00192000
- * 00193000
- * NONE 00194000
- * 00195000
- * TABLES / WORK AREAS - 00196000
- * 00197000
- * BALRSAVE 00198000
- * TABTRTBL 00199000
- EJECT 00200000
- * REGISTER USAGE - 00201000
- * 00202000
- * GPR 0 = USED TO COMPUTE INPUT AREA OFFSET 00203000
- * GPR 1 = USED TO ADDRESS TAB DATA STREAM 00204000
- * GPR 2 = POINTER TO THE PF TABLE DATA 00205000
- * GPR 3 = ADDRESS OF THE INPUT BUFFER 00206000
- * GPR 4 = POINTER TO THE PF DATA FIELD 00207000
- * GPR 5-7 = WORK REGISTERS 00208000
- * GPR14 = RETURN ADDRESS 00209000
- * GPR15 = BASE REGISTER 00210000
- * 00211000
- * ALL OTHER REGISTERS ARE NOT USED 00212000
- * 00213000
- * NOTES - 00214000
- * 00215000
- * NONE 00216000
- * 00217000
- * OPERATION - 00218000
- * 00219000
- * 1. THE CURSOR ADDRESS IS CONVERTED TO AN INPUT AREA OFFSET BY 00220000
- * USING THE ADDRESS RETURNED FROM THE READ AND THE INPUT AREA 00221000
- * DISPLACEMENT FROM THE BEGINNING OF THE DISPLAY SCREEN. 00222000
- * 00223000
- * 2. IF THIS OFFSET IS BEYOND THE LAST TAB POSITION, THE CURSOR 00224000
- * WILL BE PUT AT THE BEGINNING OF THE INPUT AREA. OTHERWISE THE 00225000
- * NEXT TAB POSITION IS USED TO POSITION THE CURSOR. 00226000
- * 00227000
- * 3. THE INPUT DATA IS THEN SCANNED FOR NULLS TO DETERMINE IF A 00228000
- * LOGICAL TAB CHARACTER IS NEEDED. IF A LOGICAL TAB CHARACTER IS 00229000
- * FOUND DURING THE SCAN, THE COUNT IS UPDATED TO THE CORRECT TAB 00230000
- * POSITION. IF A NULL IS FOUND BEFORE THE BUFFER COUNT REACHES 00231000
- * THE NEW TAB OFFSET, A LOGICAL TAB CHARACTER IS PUT IN THE DATA 00232000
- * STREAM - TO BE WRITTEN AT THE END OF THE NON-NULL DATA OR AT 00233000
- * THE TAB LOCATION PRECEDING THE ONE WHERE THE CURSOR WILL BE. 00234000
- * 00235000
- * 4. THE LENGTH OF THE DATA STREAM BUILT IS PUT INTO REGISTER 2, 00236000
- * THE REGISTERS USED ARE RESTORED, AND THE SUBROUTINE IS EXITED. 00237000
- *. 00238000
- EJECT 00239000
- *---------------------------------------------------------------------* 00240000
- * DMKGRTAB - FIND NEXT TAB POSITION AND BUILD DATA STREAM * 00241000
- *---------------------------------------------------------------------* 00242000
- SPACE 00243000
- DMKGRTAB DS 0H @V60A6B6 00244000
- USING *,R15 ESTABLISH SUBROUTINE'S BASE ADDR @V60A6B6 00245000
- STM R0,R7,BALRSAVE SAVE REGISTERS THAT WILL BE USED @V60A6B6 00246000
- LR R7,R0 SET UP TO GET INPUT AREA OFFSET @V60A6B6 00247000
- L R0,DMKGRTDS(R7) LOAD THE CORRECT DISPLACEMENT @V60A6B6 00248000
- NC ADDRCURS(2),=X'3F3F' STRIP TO GET SIX BIT ADDR @V60A6B6 00249000
- SLR R6,R6 CLEAR A COUPLE OF WORK REGISTERS @V60A6B6 00250000
- LR R7,R6 ... @V60A6B6 00251000
- IC R6,ADDRCURS GET HIGH ORDER SIX BITS OF ADDR. @V60A6B6 00252000
- SLL R6,6 SHIFT THEM INTO THE RIGHT PLACE @V60A6B6 00253000
- IC R7,ADDRCURS+1 GET LOW ORDER SIX BITS OF ADDR. @V60A6B6 00254000
- ALR R6,R7 PUT THE PIECES OF ADDR TOGETHER @V60A6B6 00255000
- SLR R6,R0 SUBTRACT OFF ADDR OF INPUT AREA @V60A6B6 00256000
- MVI 0(R1),WCC6 SET WRITE CONTROL CHARACTER UP. @V60A6B6 00257000
- LA R5,4(,R4) POINT TO BEGINNING OF TAB DATA. @V60A6B6 00258000
- LH R4,2(,R2) GET THE COUNT OF TAB DATA FIELD @V60A6B6 00259000
- S R4,F4 ADJUST FOR ACTUAL TAB DATA SIZE @V60A6B6 00260000
- BNP TABEGIN IF NO TABS, PUT CURSOR AT START @V60A6B6 00261000
- SPACE 00262000
- TABSCAN CLM R6,B'0001',0(R5) IS THIS THE PLACE TO TAB TO? @V60A6B6 00263000
- BL TABHIGH YES, IF CURRENT ADDR IS LOWER @V60A6B6 00264000
- LA R5,1(,R5) BUMP TO NEXT TAB BYTE @V60A6B6 00265000
- BCT R4,TABSCAN KEEP LOOKING IF ANY TABS LEFT @V60A6B6 00266000
- TABEGIN SLR R7,R7 INDICATE TAB BACK TO BEGINNING @V60A6B6 00267000
- SPACE 00268000
- TABONE EQU * @V60A6B6 00269000
- LA R2,5 SIZE OF DATA STREAM BEING BUILT @V60A6B6 00270000
- TABTWO BAL R6,TABADDR GO CONVERT BUFFER ADDRESS BACK @V60A6B6 00271000
- MVI 4(R1),IC ADD INSERT CURSOR ORDER TO DATA @V60A6B6 00272000
- ST R2,BALR2 STORE SIZE OF DATA IN SAVE AREA @V60A6B6 00273000
- LM R0,R7,BALRSAVE RESTORE WORK REGISTERS @V60A6B6 00274000
- BR R14 AND RETURN TO CALLER @V60A6B6 00275000
- SPACE 2 00276000
- TABHIGH IC R7,0(,R5) GET ADDRESS OF WHERE TO TAB @V60A6B6 00277000
- L R5,4(,R2) RESTORE POINTER TO PF DATA @V60A6B6 00278000
- LA R5,4(,R5) POINT TO TAB DATA AGAIN @V60A6B6 00279000
- LA R4,ADDRDATA ADDRESS THE INPUT DATA @V60A6B6 00280000
- SLR R3,R3 INITIALIZE COUNT REGISTER @V60A6B6 00281000
- IC R6,VMGRFTAB GET USER'S LOGICAL TAB CHAR. @V60A6B6 00282000
- EJECT 00283000
- TABLOOP CLI 0(R4),X00 HAVE WE HIT END OF DATA ? @V60A6B6 00284000
- BE TABCHAR YES, THIS IS WHERE TO PUT TAB @V60A6B6 00285000
- CLM R6,B'0001',0(R4) IS CHARACTER A LOGICAL TAB? @V60A6B6 00286000
- BE TABUPDT YES, MUST UPDATE TAB REGISTER @V60A6B6 00287000
- LA R3,1(,R3) BUMP BUFFER COUNT BY ONE @V60A6B6 00288000
- TABNEXT CLM R3,B'0001',0(R5) IS THIS A TAB POSITION ? @V60A6B6 00289000
- BL TABDATA IF NOT, THEN KEEP CHECKING @V60A6B6 00290000
- LA R5,1(,R5) POINT TO NEXT TAB LOCATION @V60A6B6 00291000
- TABDATA LA R4,1(,R4) ADDRESS NEXT CHARACTER IN BUFFER @V60A6B6 00292000
- CR R3,R7 UP TO WHERE THE NEXT TAB IS ? @V60A6B6 00293000
- BL TABLOOP NO, CONTINUE LOOKING AT INPUT @V60A6B6 00294000
- B TABONE YES, NO NEED FOR A LOGICAL TAB @V60A6B6 00295000
- TABUPDT IC R3,0(,R5) BUMP BUFFER COUNT BY TAB VALUE @V60A6B6 00296000
- LA R5,1(,R5) POSITION TAB REGISTER TO NEXT @V60A6B6 00297000
- B TABDATA AND KEEP CHECKING INPUT DATA @V60A6B6 00298000
- SPACE 00299000
- TABCHAR LR R5,R7 SAVE PLACE TO MOVE CURSOR @V60A6B6 00300000
- LR R7,R3 GET WHERE TO PUT LOGICAL TAB @V60A6B6 00301000
- STC R6,4(,R1) PUT IN LOGICAL TAB CHARACTER @V60A6B6 00302000
- BAL R6,TABADDR CONVERT ADDR, PUT IN DATA STREAM @V60A6B6 00303000
- LA R1,4(,R1) BUMP DATA STREAM POINTER @V60A6B6 00304000
- LA R2,9 SET DATA COUNT REGISTER @V60A6B6 00305000
- LR R7,R5 RESTORE ADDRESS TO MOVE CURSOR @V60A6B6 00306000
- B TABTWO AND GO FINISH UP THE DATA STREAM @V60A6B6 00307000
- SPACE 2 00308000
- TABADDR AR R7,R0 ADD INPUT DISPLACEMENT BACK @V60A6B6 00309000
- STC R7,3(,R1) STORE LOW ORDER ADDRESS BYTE @V60A6B6 00310000
- NI 3(R1),X3F CLEAR TO JUST SIX BITS @V60A6B6 00311000
- SRL R7,6 GET HIGH ORDER ADDRESS BYTE @V60A6B6 00312000
- STC R7,2(,R1) STORE IT IN DATA STREAM @V60A6B6 00313000
- TR 2(2,R1),TABTRTBL MAKE 6-BIT DATA VALID EBCDIC @V60A6B6 00314000
- MVI 1(R1),SBA PUT IN SET BUFFER ADDRESS ORDER @V60A6B6 00315000
- BR R6 RETURN TO MAIN ROUTINE @V60A6B6 00316000
- DROP R15 @V60A6B6 00317000
- SPACE 2 00318000
- *. HRC108DK 00318100
- * Subroutine name - HRC108DK 00318110
- * HRC108DK 00318120
- * DMKGRTID HRC108DK 00318130
- * HRC108DK 00318140
- * Function - HRC108DK 00318150
- * To copy the system identification from DMKSYSID into HRC108DK 00318160
- * the various 3270 status areas in the various GRTBLOKs HRC108DK 00318170
- * HRC108DK 00318180
- * Attributes - HRC108DK 00318190
- * HRC108DK 00318200
- * Serially reusable, resident, called via SVC HRC108DK 00318210
- * HRC108DK 00318220
- * Entry point - HRC108DK 00318230
- * HRC108DK 00318240
- * DMKGRTID HRC108DK 00318250
- * HRC108DK 00318260
- * Entry conditions - HRC108DK 00318270
- * HRC108DK 00318280
- * GPR12 = Address of DMKGRTID HRC108DK 00318290
- * GPR13 = Address of the save area HRC108DK 00318300
- * HRC108DK 00318310
- * Exit conditions - HRC108DK 00318320
- * HRC108DK 00318330
- * None HRC108DK 00318340
- * HRC108DK 00318350
- * Calls to other routines - HRC108DK 00318360
- * HRC108DK 00318370
- * None HRC108DK 00318380
- * HRC108DK 00318390
- * External references - HRC108DK 00318400
- * HRC108DK 00318410
- * DMKGRWTB,DMKGRUTB,DMKGRVTB,DMKGRXTB GRTBLOK addresses HRC109DK 00318422
- * HRC108DK 00318430
- * Tables / work areas - HRC108DK 00318440
- * HRC108DK 00318450
- * SAVEAREA HRC108DK 00318460
- * HRC108DK 00318470
- * Register usage - HRC108DK 00318480
- * HRC108DK 00318490
- * GPR1 = Address of GRTBLOK HRC108DK 00318500
- * GPR2 = Address DMKSYSID HRC108DK 00318510
- * GPR3 = Return address from subroutine HRC108DK 00318520
- * GPR12 = Base address HRC108DK 00318530
- * GPR13 = Address of the save area HRC108DK 00318540
- * HRC108DK 00318550
- * Notes - HRC108DK 00318560
- * HRC108DK 00318570
- * None HRC108DK 00318580
- * HRC108DK 00318590
- * Operation - HRC108DK 00318600
- * HRC108DK 00318610
- * 1. Get address of DMKSYSID HRC108DK 00318620
- * HRC108DK 00318630
- * 2. Call subroutine GRTSYSID for each GRTBLOK to be HRC108DK 00318640
- * updated with the address of the GRTBLOK in R2 HRC108DK 00318650
- * to cause the SYSID to be copied into the various HRC108DK 00318660
- * different status areas within that GRTBLOK. HRC108DK 00318670
- * HRC108DK 00318680
- * 3. Return to caller HRC108DK 00318690
- *. HRC108DK 00318700
- SPACE 1 HRC108DK 00318710
- DMKGRTID DS 0H HRC108DK 00318720
- USING DMKGRTID,R12 Establish base address HRC108DK 00318730
- STM R0,R11,SAVEREGS Save registers HRC108DK 00318740
- L R2,=A(DMKSYSID) Get address of SYSID HRC108DK 00318750
- LA R1,DMKGRTB Get address of std GRTBLOK HRC108DK 00318760
- BAL R3,GRTSYSID Copy SYSID to status areas HRC108DK 00318770
- L R1,=A(DMKGRWTB) Get address of M2A GRTBLOK HRC108DK 00318780
- BAL R3,GRTSYSID Copy SYSID to status areas HRC108DK 00318790
- L R1,=A(DMKGRUTB) Get address of M3 GRTBLOK HRC108DK 00318800
- BAL R3,GRTSYSID Copy SYSID to status areas HRC108DK 00318810
- L R1,=A(DMKGRVTB) Get address of M4 GRTBLOK HRC108DK 00318820
- BAL R3,GRTSYSID Copy SYSID to status areas HRC108DK 00318830
- L R1,=A(DMKGRXTB) Get address of M5 GRTBLOK HRC109DK 00318834
- BAL R3,GRTSYSID Copy SYSID to status areas HRC109DK 00318836
- EXIT Return to caller HRC108DK 00318840
- * HRC108DK 00318850
- GRTSYSID DS 0H HRC108DK 00318860
- MVC GRTRNST1-DMKGRTB(8,R1),0(R2) RUNNING status msg HRC108DK 00318870
- MVC GRTRNST2-DMKGRTB(8,R1),0(R2) RUNNING status msg HRC108DK 00318880
- MVC GRTCPRST-DMKGRTB(8,R1),0(R2) CP READ status msg HRC108DK 00318890
- MVC GRTRNST3-DMKGRTB(8,R1),0(R2) RUNNING status msg HRC108DK 00318900
- MVC GRTHLDST-DMKGRTB(8,R1),0(R2) HOLDING status msg HRC108DK 00318910
- MVC GRTMORST-DMKGRTB(8,R1),0(R2) MORE... status msg HRC108DK 00318920
- MVC GRTRNST4-DMKGRTB(8,R1),0(R2) RUNNING status msg HRC108DK 00318930
- MVC GRTVMRST-DMKGRTB(8,R1),0(R2) VM READ status msg HRC108DK 00318940
- BR R3 Return to caller HRC108DK 00318950
- DROP R12 HRC108DK 00318960
- * 0 1 2 3 4 5 6 7 8 9 A B C D E F 00319000
- TABTRTBL DC X'40C1C2C3C4C5C6C7C8C94A4B4C4D4E4F' 0 @V60A6B6 00320000
- DC X'50D1D2D3D4D5D6D7D8D95A5B5C5D5E5F' 1 @V60A6B6 00321000
- DC X'60E1E2E3E4E5E6E7E8E96A6B6C6D6E6F' 2 @V60A6B6 00322000
- DC X'F0F1F2F3F4F5F6F7F8F97A7B7C7D7E7F' 3 @V60A6B6 00323000
- SPACE 00324000
- X00 EQU X'00' @V60A6B6 00325000
- X3F EQU X'3F' @V60A6B6 00326000
- EJECT 00327000
- * TABLE OF ATTENTION IDENTIFICATION CODES AND INDEX VALUES 00328000
- * - REFERENCED BY DMKGRF 00329000
- SPACE 00330000
- DMKGRTAI DC X'7D00' ENTER @V60A6B6 00331000
- DC X'6D04' CLEAR @V60A6B6 00332000
- DC X'6E18' PA2 (CNCL) @V60A6B6 00333000
- DC X'6C08' PA1 @V60A6B6 00334000
- DC X'6B0C' PA3 @V60A6B6 00335000
- DC X'E610' CARD READER @V60A6B6 00336000
- DMKGRTPF DC X'F114' PF01 @V60A6B6 00337000
- DC X'F214' PF02 @V60A6B6 00338000
- DC X'F314' PF03 @V60A6B6 00339000
- DC X'F414' PF04 @V60A6B6 00340000
- DC X'F514' PF05 @V60A6B6 00341000
- DMKGRTP6 DC X'F614' PF06 @V60A6B6 00342000
- DC X'F714' PF07 @V60A6B6 00343000
- DC X'F814' PF08 @V60A6B6 00344000
- DC X'F914' PF09 @V60A6B6 00345000
- DC X'7A14' PF10 @V60A6B6 00346000
- DC X'7B14' PF11 @V60A6B6 00347000
- DC X'7C14' PF12 @V60A6B6 00348000
- DC X'C114' PF13 HRC029DK 00348070
- DC X'C214' PF14 HRC029DK 00348140
- DC X'C314' PF15 HRC029DK 00348210
- DC X'C414' PF16 HRC029DK 00348280
- DC X'C514' PF17 HRC029DK 00348350
- DC X'C614' PF18 HRC029DK 00348420
- DC X'C714' PF19 HRC029DK 00348490
- DC X'C814' PF20 HRC029DK 00348560
- DC X'C914' PF21 HRC029DK 00348630
- DC X'4A14' PF22 HRC029DK 00348700
- DC X'4B14' PF23 HRC029DK 00348770
- DC X'4C14' PF24 HRC029DK 00348840
- DC X'011C' TESTREQ @V60A6B6 00349000
- DMKGRTAC DC AL2((*-DMKGRTAI)/2) TABLE ENTRY COUNT HRC029DK 00349500
- SPACE 3 00350000
- * TABLE OF EBCDIC FORMS OF LINE ADDRESSES 00351000
- * - REFERENCED BY DMKGRF. 00352000
- SPACE 00353000
- DMKGRTBL DS 0H 00 - 01 - 02 - 03 - 04 - 05 - 06 - 07 @V60A6B6 00354000
- DC X'4040,C150,C260,C3F0,C540,C650,C760,C8F0' +0 @V60A6B6 00355000
- DC X'4A40,4B50,4C60,4DF0,4F40,5050,D160,D2F0' +8 @V60A6B6 00356000
- DC X'D440,D550,D660,D7F0,D940,5A50,5B60,5CF0' +16 @V60A6B6 00357000
- DC X'5E40,5F50,6060,61F0,E340,E450,E560,E6F0' +24 HRC101DK 00358070
- DC X'E840,E950,6A60,6BF0,6D40,6E50,6F60,F0F0' +32 HRC101DK 00358140
- DC X'F240,F350,F460' +40 HRC101DK 00358210
- SPACE , HRC101DK 00358280
- DMKGRTBF DS 0H 00 - 01 - 02 - 03 - 04 - 05 - 06 - 07 HRC101DK 00358350
- DC X'C14F,C25F,C36F,C47F,C64F,C75F,C86F,C97F' +0 HRC101DK 00358420
- DC X'4B4F,4C5F,4D6F,4E7F,504F,D15F,D26F,D37F' +8 HRC101DK 00358490
- DC X'D54F,D65F,D76F,D87F,5A4F,5B5F,5C6F,5D7F' +16 HRC101DK 00358560
- DC X'5F4F,605F,616F,E27F,E44F,E55F,E66F,E77F' +24 HRC101DK 00358630
- DC X'E94F,6A5F,6B6F,6C7F,6E4F,6F5F,F06F,F17F' +32 HRC101DK 00358700
- DC X'F34F,F45F,F56F' +40 HRC101DK 00358770
- * 00358900
- DMKGRTCL DS 0H 00 - 01 - 02 - 03 - 04 - 05 - 06 - 07 HRC073DK 00358905
- DC X'4040,C204,C4C8,C64C,C850,4AD4,4CD8,4E5C' +0 HRC073DK 00358910
- DC X'5060,D2E4,D4E8,D66C,D8F0,5AF4,5CF8,5E7C' +8 HRC073DK 00358915
- DC X'6140,E3C4,E5C8,E74C,E950,6BD4,6DD8,6F5C' +16 HRC073DK 00358920
- DC X'F160,F3E4,F5E8' +24 HRC073DK 00358925
- * 00358930
- DMKGRTCF DS 0H 00 - 01 - 02 - 03 - 04 - 05 - 06 - 07 HRC073DK 00358935
- DC X'C2C3,C4C7,C64B,C84F,4AD3,4CD7,4E5B,505F' +0 HRC073DK 00358940
- DC X'D2E3,D4E7,D66B,D86F,5AF3,5CF7,5E7B,607F' +8 HRC073DK 00358945
- DC X'E3C3,E5C7,E74B,E94F,6BD3,6DD7,6F5B,F15F' +16 HRC073DK 00358950
- DC X'F3E3,F5E7,F76B' +24 HRC073DK 00358955
- EJECT 00359000
- * FORMAT DATA STREAM - USED BY DMKGRF 00360000
- SPACE 00361000
- DMKGRTFD DC AL1(WCC56,SBA,X'40',X'40') PUT 'VM/370 ONLINE' @V60A6B6 00362000
- DMKGRTFO DC CL20'VM/370 Online' AT TOP OF SCREEN HRC370DK 00363000
- SPACE 2 00364000
- DMKGRTDS DC F'1760,2400,3280,1440,3300' DSP INPUT OFFSETS HRC073DK 00365490
- SPACE 2 00366000
- * INPUT AREA COORDINATE TABLE 00367000
- SPACE 00368000
- DMKGRTIN DC AL1(22,23,0,0) 3277/3278 MOD 2 INPUT LINE HRC101DK 00369490
- DC AL1(30,31,0,0) 3278 MOD 3 HRC101DK 00369980
- DC AL1(41,42,0,0) 3278 MOD 4 HRC101DK 00370470
- DC AL1(18,19,0,0) 3278 MOD 2A INPUT LINE ADDRS. @V60A6B6 00371000
- DC AL1(25,26,0,0) 3278 MOD 5 HRC073DK 00371100
- SPACE 2 00372000
- LTORG @V60A6B6 00373000
- EJECT 00374000
- DMKGRTB GRTBLOK BLD,SCRSIZE=1920 00375000
- * EQUATES FOR REMOTE 3270 DATA STREAMS 00376000
- SPACE 00377000
- DMKGRTCS EQU GRTCLRDS @V60A6B6 00378000
- DMKGRTCN EQU GRTCNCDS PA2 CLEAR HRC101DK 00378500
- DMKGRTRD EQU GRTCPRDS @V60A6B6 00379000
- DMKGRTCI EQU GRTCRDDS @V60A6B6 00380000
- DMKGRTHL EQU GRTHLDDS @V60A6B6 00381000
- DMKGRTMR EQU GRTMORDS @V60A6B6 00382000
- DMKGRTNA EQU GRTNACDS @V60A6B6 00383000
- DMKGRTRU EQU GRTRUNDS @V60A6B6 00384000
- DMKGRTWI EQU GRTWINDS @V60A6B6 00385000
- DMKGRTWT EQU GRTWRTDS @V60A6B6 00386000
- EJECT 00387000
- COPY CONBUF @V60A6B6 00388000
- ADDRCURS EQU BUFFER+1 @V60A6B6 00389000
- ADDRDATA EQU BUFFER+6 @V60A6B6 00390000
- SPACE 2 00391000
- COPY EQU @V60A6B6 00392000
- COPY SAVE @V60A6B6 00393000
- COPY VMBLOK @V60A6B6 00394000
- COPY RBLOKS @V60A6B6 00395000
- PSA 00396000
- END DMKGRT @V60A6B6 00397000
ibm/vm370-lib/cp/dmkgrt.assemble_src.txt ยท Last modified: 2023/08/06 13:37 by Site Administrator