UCS TITLE 'DMKUCS (CP) VM/370 - RELEASE 6' 00001000
SPACE 4 00002000
MACRO 00003000
UCS &NAME 00004000
GBLA &SW 00005000
SPACE 2 00006000
*********************************************************************** 00007000
* * * * 00008000
* * UCS * UCS NAME * 00009000
* * * * 00010000
*********************************************************************** 00011000
SPACE 2 00012000
AIF ('&SW' EQ '1').ORG IS THIS THE 1ST UCS MACRO 00013000
&SW SETA 1 NO - SET SW TO ONE 00014000
AGO .NORG 00015000
.ORG ANOP 00016000
SPACE 00017000
ORG *-8 OVERLAY LAST ZERO HEADER RECORD 00018000
.NORG ANOP 00019000
SPACE 00020000
AIF (K'&NAME GT 4).ERR1 NAME TOO LONG 00021000
UCS&NAME DS 0H 00022000
DC CL4'&NAME' UCS BUFFER NAME 00023000
DC AL2(NEXT&NAME-UCS&NAME) DISPLACEMENT TO NEXT HDR 00024000
DC AL2(DEND&NAME-DATA&NAME) LENGTH OF BUFFER DATA 00025000
DC AL2(CCW&NAME-UCS&NAME) DISPLACEMENT TO CCW 00026000
DC AL2(NEXT&NAME-CCW&NAME) LENGTH OF CCWS 00027000
DATA&NAME EQU * 00028000
AGO .END 00029000
.ERR1 MNOTE 12,'***UCS NAME -&NAME- OMITTED OR TOO LONG. 4 IS MAX.' 00030000
.END ANOP 00031000
SPACE 3 00032000
MEND 00033000
EJECT 00034000
MACRO 00035000
UCSCCW &NAME,&PRINT 00036000
LCLA &CNT,&DATA,&NUM,&A 00037000
SPACE 2 00038000
*********************************************************************** 00039000
* * * * 00040000
* * UCSCCW * UCS NAME,(PRINT1,PRINT2,PRINT3,,,,,,PRINT12) * 00041000
* * * * 00042000
*********************************************************************** 00043000
SPACE 2 00044000
AIF (K'&NAME GT 4).ERR1 NAME TOO LONG. 4 IS MAX. 00045000
AIF ('&NAME' EQ '').ERR1 INVALID NAME 00046000
DEND&NAME EQU * END OF BUFFER DATA 00047000
CCW&NAME DS 0D 00048000
ORG UCS&NAME VERIFY UCS MACRO WAS USED 00049000
ORG 00050000
SPACE 00051000
AIF ('&PRINT' EQ '').LAST NO PRINT CCW COUNT 00052000
&NUM SETA N'&PRINT NUMBER OF COUNT FIELDS 00053000
AIF ('&NUM' GT '12').ERR2 MAX. CCWS IS 12 00054000
.LOOP ANOP 00055000
&A SETA &A+1 ADD ONE TO FIELD 00056000
&DATA SETA &DATA+&CNT 00057000
&CNT SETA &PRINT(&A) SET UP DATA AND COUNT FIELDS 00058000
AIF ('&CNT' LT '1').ERR3 COUNT LESS THAN ONE 00059000
AIF ('&CNT' GT '132').ERR3 COUNT TOO HIGH 00060000
AIF ('&A' EQ '&NUM').CCW25 LAST CCW 00061000
CCW 9,&DATA,CC+SILI,&CNT PRINT VERIFY CCW 00062000
AGO .LOOP 00063000
.CCW25 ANOP 00064000
CCW 25,&DATA,CC+SILI,&CNT PRINT AND SPACE 3 00065000
&DATA SETA &DATA+&CNT 00066000
AIF ('&DATA' GT '240').ERR4 CHARACTER COUNT EXCEEDS 240 00067000
SPACE 00068000
MNOTE *,'TOTAL PRINT CHARACTER COUNT IS &DATA BYTES' 00069000
SPACE 00070000
.LAST ANOP 00071000
SPACE 00072000
NEXT&NAME DS 0H 00073000
SPACE 00074000
DC XL8'00' ZERO HEADER RECORD 00075000
AGO .END 00076000
.ERR1 ANOP 00077000
SPACE 00078000
MNOTE 12'***UCS NAME -&NAME- OMITTED OR TOO LONG. 4 IS MAX.' 00079000
AGO .END 00080000
.ERR2 ANOP 00081000
SPACE 00082000
MNOTE 12,'***PRINT HAS -&NUM- PARAMETERS. 12 IS MAX.' 00083000
AGO .END 00084000
.ERR3 ANOP 00085000
SPACE 00086000
MNOTE 12,'***PRINT -&CNT- NOT 1 TO 132' 00087000
AGO .END 00088000
.ERR4 ANOP 00089000
SPACE 00090000
MNOTE 12,'***TOTAL CHARACTER COUNT -&DATA- TOO LARGE.240 MAX.' 00091000
AGO .END 00092000
.END ANOP 00093000
SPACE 3 00094000
MEND 00095000
EJECT 00096000
*. 00097000
* 00098000
* 00099000
* MODULE NAME - 00100000
* 00101000
* DMKUCS 00102000
* 00103000
* FUNCTION - 00104000
* 00105000
* 00106000
* THIS MODULE CONTAINS THE UCS BUFFER LOAD IMAGES THAT 00107000
* ARE USED BY THE OPERATOR COMMAND 'LOAD' TO LOAD THE 00108000
* UNIVERSAL CHARACTER SET BUFFER IN THE 2821 CONTROL UNIT. 00109000
* 00110000
* ATTRIBUTES - 00111000
* 00112000
* PAGEABLE, CALLED BY DMKCSO 00113000
* 00114000
* 00115000
* NO EXECUTABLE CODE IN THIS MODULE. 00116000
* 00117000
* 00118000
* NOTES - 00119000
* 00120000
* 1. THIS MODULE MUST START ON A PAGE BOUNDARY. 00121000
* 2. THIS MODULE CANNOT EXCEED A FULL PAGE IN SIZE. 00122000
* 3. TWO MACRO ARE INCLUDED IN THIS MODULE TO ASSIST 00123000
* IN THE CREATION OF BUFFER LOAD IMAGES. 00124000
* 00125000
* 00126000
* 00127000
EJECT 00128000
* 00129000
****************************** 00130000
* 00131000
* UCS MACRO 00132000
* 00133000
****************************** 00134000
* 00135000
* 00136000
* THIS MACRO CREATES A 12 BYTE HEADER FOR THE BUFFER LOAD AND IS 00137000
* USED BY DMKCSO. 00138000
* 00139000
* 00140000
* +------+------+--------------------------------+ 00141000
* | | UCS | UCS NAME | 00142000
* +------+------+--------------------------------+ 00143000
* 00144000
* 00145000
* 00146000
* UCS NAME - 00147000
* 00148000
* ONE TO FOUR ALPHABETIC AND/OR NUMERIC CHARACTER NAME TO BE 00149000
* ASSIGNED TO BUFFER LOAD. 00150000
* 00151000
* 00152000
* 00153000
* 00154000
****************************** 00155000
* 00156000
* UCSCCW MACRO 00157000
* 00158000
****************************** 00159000
* 00160000
* 00161000
* 00162000
* THIS MACRO CREATES A CCW STRING TO PRINT THE BUFFER 00163000
* LOAD IMAGE WHEN VER IS SPECIFIED BY THE OPERATOR IN 00164000
* LOAD COMMAND. THIS MACRO MUST IMMEDIATELY 00165000
* FOLLOW THE BUFFER LOAD DATA. 00166000
* 00167000
* 00168000
* 00169000
* +------+------+----------------------------------------------+ 00170000
* | |UCSCCW| UCS NAME,(PRINT1,PRINT2,,,,,,PRINT12) | 00171000
* +------+------+----------------------------------------------+ 00172000
* 00173000
* 00174000
* 00175000
* UCS NAME - 00176000
* 00177000
* SAME AS PREVIOUS UCS MACRO 00178000
* 00179000
* (PRINT1,PRINT2,,,,PRINT12) - 00180000
* 00181000
* COUNT - ENTER NUMBER OF CHARACTERS (1 TO 132) TO BE PRINTED BY 00182000
* THE RESPECTIVE CCW IN A VERIFY OPERATION. A MAX OF 12 PRINT 00183000
* FIELDS CAN BE GIVEN. TOTAL PRINT CHARACTER COUNT MUST BE 00184000
* EQUAL OR LESS THAN 240. IF THIS OPERAND IS OMITTED, THE 00185000
* DEFAULT COUNT IS 48 PER CCW. THE DEFAULT CCW ARE 00186000
* LOCATED IN DMKCSO. 00187000
* 00188000
* EXAMPLES - 00189000
* 00190000
* UCS EX01 00191000
* 00192000
* DC 5CL48'1234567890..........WXYZ' 00193000
* 00194000
* UCSCCW EX01,(48,48,48,48,48) 00195000
* 00196000
* 00197000
* 00198000
* UCS EX02 00199000
* 00200000
* DC 5CL48'1234567890.....WXYZ' 00201000
* 00202000
* UCSCCW EX02 00203000
* 00204000
* 00205000
* 00206000
*. 00207000
EJECT 00208000
COPY OPTIONS 00209000
SPACE 00210000
COPY LOCAL OPTIONS 00211000
SPACE 00212000
PRINT DATA 00213000
DMKUCS CSECT 00214000
SPACE 3 00215000
DC CL8'DMKUCS' MODULE NAME 00216000
SPACE 3 00217000
ENTRY DMKUCSLD 00218000
DMKUCSLD DS 0H 00219000
* 'PCS-AN' - 3LEVEL SET, 48 'A' GRAPHICS 00220000
UCS PCAN 00221000
SPACE 00222000
DC C'1234567890,-PQR#$@/STUVWXYZ',X'9C' LOZENGE 00223000
DC C'.*1234567890,-JKLMNOABCDEFGHI+.*' 00224000
DC C'1234567890,-PQR&&$%/STUVWXYZ',X'9C' LOZENGE 00225000
DC C'.*1234567890,-JKLMNOABCDEFGHI+.*' 00226000
DC C'1234567890,-PQR#$@/STUVWXYZ',X'9C' LOZENGE 00227000
DC C'.*1234567890,-JKLMNOABCDEFGHI+.*' 00228000
DC C'1234567890,-PQR&&$%/STUVWXYZ',X'9C' LOZENGE 00229000
DC C'.*1234567890,-JKLMNOABCDEFGHI+.*' 00230000
SPACE 2 00231000
UCSCCW PCAN,(60,60,60,60) 00232000
EJECT 00233000
* 'PCS-HN' - 3 LEVEL SET, 48 'H' GRAPHICS 00234000
UCS PCHN 00235000
SPACE 00236000
DC C'1234567890,-PQR=$''/STUVWXYZ).*1234567890,-JKLMNOABCDEFGHI+.*' 00237000
DC C'1234567890,-PQR&&$(/STUVWXYZ).*1234567890,-JKLMNOABCDEFGHI+.*' 00238000
DC C'1234567890,-PQR=$''/STUVWXYZ).*1234567890,-JKLMNOABCDEFGHI+.*' 00239000
DC C'1234567890,-PQR&&$(/STUVWXYZ).*1234567890,-JKLMNOABCDEFGHI+.*' 00240000
SPACE 2 00241000
UCSCCW PCHN,(60,60,60,60) 00242000
EJECT 00243000
* NORMAL AN ARRANGEMENT 00244000
UCS AN 00245000
SPACE 00246000
DC C'1234567890#@/STUVWXYZ&&,' @VA07307 00247300
DC C'%JKLMNOPQR-$*ABCDEFGHI+.',X'4C' LOZENGE @VA07307 00247700
DC C'1234567890#@/STUVWXYZ&&,' @VA07307 00248300
DC C'%JKLMNOPQR-$*ABCDEFGHI+.',X'4C' LOZENGE @VA07307 00248700
DC C'1234567890#@/STUVWXYZ&&,' @VA07307 00249300
DC C'%JKLMNOPQR-$*ABCDEFGHI+.',X'4C' LOZENGE @VA07307 00249700
DC C'1234567890#@/STUVWXYZ&&,' @VA07307 00250300
DC C'%JKLMNOPQR-$*ABCDEFGHI+.',X'4C' LOZENGE @VA07307 00250700
DC C'1234567890#@/STUVWXYZ&&,' @VA07307 00251300
DC C'%JKLMNOPQR-$*ABCDEFGHI+.',X'4C' LOZENGE @VA07307 00251700
SPACE 2 00252000
UCSCCW AN,(48,48,48,48,48) 00253000
EJECT 00254000
* NORMAL HN ARRANGEMENT 00255000
UCS HN 00256000
SPACE 00257000
DC 5C'1234567890=''/STUVWXYZ&&,(JKLMNOPQR-$*ABCDEFGHI+.)' 00258000
SPACE 2 00259000
UCSCCW HN,(48,48,48,48,48) 00260000
EJECT 00261000
* 'QN' - PL/I - 60 GRAPHICS, 45 PREFERRED 00262000
UCS QN 00263000
SPACE 00264000
DC C'1234567890XY/STUVW_"$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00265000
DC C'1234567890XY/STUVW<;#*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00266000
DC C'1234567890XY/STUVW?>@*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00267000
DC C'1234567890XY/STUVW¬''&&*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00268000
DC C'1234567890XY/STUVW|:%*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00269000
SPACE 2 00270000
UCSCCW QN,(48,48,48,48,48) 00271000
EJECT 00272000
* 'QNC' - PL/I - 60 GRAPHICS, 45 PREFERRED 00273000
UCS QNC 00274000
SPACE 00275000
DC C'1234567890#@/STUVWXYZ&&.%JKLMNOPQR-$*ABCDEFGHI",=' 00276000
DC C'1234567890#@/STUVWXYZ&&.%JKLMNOPQR-$*ABCDEFGHI|:_' 00277000
DC C'1234567890#@/STUVWXYZ&&.%JKLMNOPQR-$*ABCDEFGHI<;¬' 00278000
DC C'1234567890#@/STUVWXYZ&&.%JKLMNOPQR-$*ABCDEFGHI''?>' 00279000
DC C'1234567890#@/STUVWXYZ&&.%JKLMNOPQR-$*ABCDEFGHI)+(' 00280000
SPACE 2 00281000
UCSCCW QNC,(48,48,48,48,48) 00282000
EJECT 00283000
* 'RN' - FORTRAN,COBOL,COMMERCIAL - 52 GRAPHICS, 47 PRF 00284000
SPACE 00285000
UCS RN 00286000
SPACE 00287000
DC C'1234567890XY/STUVW''@$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00288000
DC C'1234567890XY/STUVW%@$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00289000
DC C'1234567890XY/STUVW#@$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00290000
DC C'1234567890XY/STUVW',X'4C' @VA07658 00291300
DC C'@$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' @VA07658 00291600
DC C'1234567890XY/STUVW&&@$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00292000
SPACE 2 00293000
UCSCCW RN,(48,48,48,48,48) 00294000
EJECT 00295000
* 'YN' - HIGH SPEED ALPHANUMERIC - 42 GRAPHICS, 39 PREF 00296000
SPACE 00297000
UCS YN 00298000
SPACE 00299000
DC 2C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.' 00300000
DC C'#-$' 00301000
DC 3C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.' 00302000
DC C'#-$' 00303000
DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.' 00304000
SPACE 2 00305000
UCSCCW YN,(39,42,39,39,42,39) 00306000
EJECT 00307000
* 'TN' - TEXT PRINTING - 120 GRAPHICS 00308000
UCS TN 00309000
SPACE 00310000
DC C'1234567890=./STUVWXYZ,#&&JKLMNOPQR-":ABCDEFGHI+abcdefghijklmn' 00311000
DC C'opqrstuvwxyz@''?;Æ!$*%棥·©§¶¼½¾^µþý¸~¬()´±><ðÞ¢¤[]º»¿¨Ð¯®_×|' 00312000
DC C'1234567890=./STUVWXYZ,#&&JKLMNOPQR-":ABCDEFGHI+abcdefghijklmn' 00313000
DC C'opqrstuvwxyz@''?;Æ!$*%棥·©§¶¼½¾^µþý¸~¬()´±><ðÞ¢¤[]º»¿¨Ð¯®_×|' 00314000
SPACE 2 00315000
UCSCCW TN,(60,60,60,60) 00316000
EJECT 00317000
* 'PN' - PL/I - 60 GRAPHICS 00318000
SPACE 00319000
UCS PN 00320000
SPACE 00321000
DC C'1234567890XY/STUVW|:_",=JKLMNOPQR-Z(ABCDEFGHI+.)%$*#&&@<;¬''?>' 00322000
DC C'1234567890XY/STUVW|:_",=JKLMNOPQR-Z(ABCDEFGHI+.)%$*#&&@<;¬''?>' 00323000
DC C'1234567890XY/STUVW|:_",=JKLMNOPQR-Z(ABCDEFGHI+.)%$*#&&@<;¬''?>' 00324000
DC C'1234567890XY/STUVW|:_",=JKLMNOPQR-Z(ABCDEFGHI+.)%$*#&&@<;¬''?>' 00325000
SPACE 2 00326000
UCSCCW PN,(60,60,60,60) 00327000
EJECT 00328000
* 'SN' - TEXT PRINTING - 84 GRAPHICS, 78 PREFERRED 00329000
SPACE 00330000
UCS SN 00331000
SPACE 00332000
DC C'1234567890&&./STUVWXYZ,$*JKLMNOPQR-":' @VA07777 00333100
DC C'ABCDEFGH' @VA07777 00333200
DC X'C94E818283848586878889919293949596979899A2A3' @VA07777 00333300
DC X'A4A5A6A7A8A97C7D4D5DBF4F' @VA07777 00333400
DC C'1234567890&&./STUVWXYZ,$*JKLMNOPQR-":' @VA07777 00333500
DC C'ABCDEFGH' @VA07777 00333600
DC X'C94E818283848586878889919293949596979899A2A3' @VA07777 00333700
DC X'A4A5A6A7A8A97C7D4D5DBF4F' @VA07777 00333800
DC C'1234567890&&./STUVWXYZ,$*JKLMNOPQR-":' @VA07777 00333900
DC C'ABCDEFGH' @VA07777 00334000
DC X'C94E818283848586878889919293949596979899A2A3' @VA07777 00334100
DC X'A4A5A6A7A8A97C7D4D5DBF4F' @VA07777 00334200
DC C'?!;¢%',X'9C' LOZENGE 00335000
SPACE 2 00336000
UCSCCW SN,(78,78,84) 00337000
EJECT 00338000
COPY EQU 00339000
END 00340000