Table of Contents

DMKUCS Source

References

Source Listing

DMKUCS.ASSEMBLE.txt
  1. UCS TITLE 'DMKUCS (CP) VM/370 - RELEASE 6' 00001000
  2. SPACE 4 00002000
  3. MACRO 00003000
  4. UCS &NAME 00004000
  5. GBLA &SW 00005000
  6. SPACE 2 00006000
  7. *********************************************************************** 00007000
  8. * * * * 00008000
  9. * * UCS * UCS NAME * 00009000
  10. * * * * 00010000
  11. *********************************************************************** 00011000
  12. SPACE 2 00012000
  13. AIF ('&SW' EQ '1').ORG IS THIS THE 1ST UCS MACRO 00013000
  14. &SW SETA 1 NO - SET SW TO ONE 00014000
  15. AGO .NORG 00015000
  16. .ORG ANOP 00016000
  17. SPACE 00017000
  18. ORG *-8 OVERLAY LAST ZERO HEADER RECORD 00018000
  19. .NORG ANOP 00019000
  20. SPACE 00020000
  21. AIF (K'&NAME GT 4).ERR1 NAME TOO LONG 00021000
  22. UCS&NAME DS 0H 00022000
  23. DC CL4'&NAME' UCS BUFFER NAME 00023000
  24. DC AL2(NEXT&NAME-UCS&NAME) DISPLACEMENT TO NEXT HDR 00024000
  25. DC AL2(DEND&NAME-DATA&NAME) LENGTH OF BUFFER DATA 00025000
  26. DC AL2(CCW&NAME-UCS&NAME) DISPLACEMENT TO CCW 00026000
  27. DC AL2(NEXT&NAME-CCW&NAME) LENGTH OF CCWS 00027000
  28. DATA&NAME EQU * 00028000
  29. AGO .END 00029000
  30. .ERR1 MNOTE 12,'***UCS NAME -&NAME- OMITTED OR TOO LONG. 4 IS MAX.' 00030000
  31. .END ANOP 00031000
  32. SPACE 3 00032000
  33. MEND 00033000
  34. EJECT 00034000
  35. MACRO 00035000
  36. UCSCCW &NAME,&PRINT 00036000
  37. LCLA &CNT,&DATA,&NUM,&A 00037000
  38. SPACE 2 00038000
  39. *********************************************************************** 00039000
  40. * * * * 00040000
  41. * * UCSCCW * UCS NAME,(PRINT1,PRINT2,PRINT3,,,,,,PRINT12) * 00041000
  42. * * * * 00042000
  43. *********************************************************************** 00043000
  44. SPACE 2 00044000
  45. AIF (K'&NAME GT 4).ERR1 NAME TOO LONG. 4 IS MAX. 00045000
  46. AIF ('&NAME' EQ '').ERR1 INVALID NAME 00046000
  47. DEND&NAME EQU * END OF BUFFER DATA 00047000
  48. CCW&NAME DS 0D 00048000
  49. ORG UCS&NAME VERIFY UCS MACRO WAS USED 00049000
  50. ORG 00050000
  51. SPACE 00051000
  52. AIF ('&PRINT' EQ '').LAST NO PRINT CCW COUNT 00052000
  53. &NUM SETA N'&PRINT NUMBER OF COUNT FIELDS 00053000
  54. AIF ('&NUM' GT '12').ERR2 MAX. CCWS IS 12 00054000
  55. .LOOP ANOP 00055000
  56. &A SETA &A+1 ADD ONE TO FIELD 00056000
  57. &DATA SETA &DATA+&CNT 00057000
  58. &CNT SETA &PRINT(&A) SET UP DATA AND COUNT FIELDS 00058000
  59. AIF ('&CNT' LT '1').ERR3 COUNT LESS THAN ONE 00059000
  60. AIF ('&CNT' GT '132').ERR3 COUNT TOO HIGH 00060000
  61. AIF ('&A' EQ '&NUM').CCW25 LAST CCW 00061000
  62. CCW 9,&DATA,CC+SILI,&CNT PRINT VERIFY CCW 00062000
  63. AGO .LOOP 00063000
  64. .CCW25 ANOP 00064000
  65. CCW 25,&DATA,CC+SILI,&CNT PRINT AND SPACE 3 00065000
  66. &DATA SETA &DATA+&CNT 00066000
  67. AIF ('&DATA' GT '240').ERR4 CHARACTER COUNT EXCEEDS 240 00067000
  68. SPACE 00068000
  69. MNOTE *,'TOTAL PRINT CHARACTER COUNT IS &DATA BYTES' 00069000
  70. SPACE 00070000
  71. .LAST ANOP 00071000
  72. SPACE 00072000
  73. NEXT&NAME DS 0H 00073000
  74. SPACE 00074000
  75. DC XL8'00' ZERO HEADER RECORD 00075000
  76. AGO .END 00076000
  77. .ERR1 ANOP 00077000
  78. SPACE 00078000
  79. MNOTE 12'***UCS NAME -&NAME- OMITTED OR TOO LONG. 4 IS MAX.' 00079000
  80. AGO .END 00080000
  81. .ERR2 ANOP 00081000
  82. SPACE 00082000
  83. MNOTE 12,'***PRINT HAS -&NUM- PARAMETERS. 12 IS MAX.' 00083000
  84. AGO .END 00084000
  85. .ERR3 ANOP 00085000
  86. SPACE 00086000
  87. MNOTE 12,'***PRINT -&CNT- NOT 1 TO 132' 00087000
  88. AGO .END 00088000
  89. .ERR4 ANOP 00089000
  90. SPACE 00090000
  91. MNOTE 12,'***TOTAL CHARACTER COUNT -&DATA- TOO LARGE.240 MAX.' 00091000
  92. AGO .END 00092000
  93. .END ANOP 00093000
  94. SPACE 3 00094000
  95. MEND 00095000
  96. EJECT 00096000
  97. *. 00097000
  98. * 00098000
  99. * 00099000
  100. * MODULE NAME - 00100000
  101. * 00101000
  102. * DMKUCS 00102000
  103. * 00103000
  104. * FUNCTION - 00104000
  105. * 00105000
  106. * 00106000
  107. * THIS MODULE CONTAINS THE UCS BUFFER LOAD IMAGES THAT 00107000
  108. * ARE USED BY THE OPERATOR COMMAND 'LOAD' TO LOAD THE 00108000
  109. * UNIVERSAL CHARACTER SET BUFFER IN THE 2821 CONTROL UNIT. 00109000
  110. * 00110000
  111. * ATTRIBUTES - 00111000
  112. * 00112000
  113. * PAGEABLE, CALLED BY DMKCSO 00113000
  114. * 00114000
  115. * 00115000
  116. * NO EXECUTABLE CODE IN THIS MODULE. 00116000
  117. * 00117000
  118. * 00118000
  119. * NOTES - 00119000
  120. * 00120000
  121. * 1. THIS MODULE MUST START ON A PAGE BOUNDARY. 00121000
  122. * 2. THIS MODULE CANNOT EXCEED A FULL PAGE IN SIZE. 00122000
  123. * 3. TWO MACRO ARE INCLUDED IN THIS MODULE TO ASSIST 00123000
  124. * IN THE CREATION OF BUFFER LOAD IMAGES. 00124000
  125. * 00125000
  126. * 00126000
  127. * 00127000
  128. EJECT 00128000
  129. * 00129000
  130. ****************************** 00130000
  131. * 00131000
  132. * UCS MACRO 00132000
  133. * 00133000
  134. ****************************** 00134000
  135. * 00135000
  136. * 00136000
  137. * THIS MACRO CREATES A 12 BYTE HEADER FOR THE BUFFER LOAD AND IS 00137000
  138. * USED BY DMKCSO. 00138000
  139. * 00139000
  140. * 00140000
  141. * +------+------+--------------------------------+ 00141000
  142. * | | UCS | UCS NAME | 00142000
  143. * +------+------+--------------------------------+ 00143000
  144. * 00144000
  145. * 00145000
  146. * 00146000
  147. * UCS NAME - 00147000
  148. * 00148000
  149. * ONE TO FOUR ALPHABETIC AND/OR NUMERIC CHARACTER NAME TO BE 00149000
  150. * ASSIGNED TO BUFFER LOAD. 00150000
  151. * 00151000
  152. * 00152000
  153. * 00153000
  154. * 00154000
  155. ****************************** 00155000
  156. * 00156000
  157. * UCSCCW MACRO 00157000
  158. * 00158000
  159. ****************************** 00159000
  160. * 00160000
  161. * 00161000
  162. * 00162000
  163. * THIS MACRO CREATES A CCW STRING TO PRINT THE BUFFER 00163000
  164. * LOAD IMAGE WHEN VER IS SPECIFIED BY THE OPERATOR IN 00164000
  165. * LOAD COMMAND. THIS MACRO MUST IMMEDIATELY 00165000
  166. * FOLLOW THE BUFFER LOAD DATA. 00166000
  167. * 00167000
  168. * 00168000
  169. * 00169000
  170. * +------+------+----------------------------------------------+ 00170000
  171. * | |UCSCCW| UCS NAME,(PRINT1,PRINT2,,,,,,PRINT12) | 00171000
  172. * +------+------+----------------------------------------------+ 00172000
  173. * 00173000
  174. * 00174000
  175. * 00175000
  176. * UCS NAME - 00176000
  177. * 00177000
  178. * SAME AS PREVIOUS UCS MACRO 00178000
  179. * 00179000
  180. * (PRINT1,PRINT2,,,,PRINT12) - 00180000
  181. * 00181000
  182. * COUNT - ENTER NUMBER OF CHARACTERS (1 TO 132) TO BE PRINTED BY 00182000
  183. * THE RESPECTIVE CCW IN A VERIFY OPERATION. A MAX OF 12 PRINT 00183000
  184. * FIELDS CAN BE GIVEN. TOTAL PRINT CHARACTER COUNT MUST BE 00184000
  185. * EQUAL OR LESS THAN 240. IF THIS OPERAND IS OMITTED, THE 00185000
  186. * DEFAULT COUNT IS 48 PER CCW. THE DEFAULT CCW ARE 00186000
  187. * LOCATED IN DMKCSO. 00187000
  188. * 00188000
  189. * EXAMPLES - 00189000
  190. * 00190000
  191. * UCS EX01 00191000
  192. * 00192000
  193. * DC 5CL48'1234567890..........WXYZ' 00193000
  194. * 00194000
  195. * UCSCCW EX01,(48,48,48,48,48) 00195000
  196. * 00196000
  197. * 00197000
  198. * 00198000
  199. * UCS EX02 00199000
  200. * 00200000
  201. * DC 5CL48'1234567890.....WXYZ' 00201000
  202. * 00202000
  203. * UCSCCW EX02 00203000
  204. * 00204000
  205. * 00205000
  206. * 00206000
  207. *. 00207000
  208. EJECT 00208000
  209. COPY OPTIONS 00209000
  210. SPACE 00210000
  211. COPY LOCAL OPTIONS 00211000
  212. SPACE 00212000
  213. PRINT DATA 00213000
  214. DMKUCS CSECT 00214000
  215. SPACE 3 00215000
  216. DC CL8'DMKUCS' MODULE NAME 00216000
  217. SPACE 3 00217000
  218. ENTRY DMKUCSLD 00218000
  219. DMKUCSLD DS 0H 00219000
  220. * 'PCS-AN' - 3LEVEL SET, 48 'A' GRAPHICS 00220000
  221. UCS PCAN 00221000
  222. SPACE 00222000
  223. DC C'1234567890,-PQR#$@/STUVWXYZ',X'9C' LOZENGE 00223000
  224. DC C'.*1234567890,-JKLMNOABCDEFGHI+.*' 00224000
  225. DC C'1234567890,-PQR&&$%/STUVWXYZ',X'9C' LOZENGE 00225000
  226. DC C'.*1234567890,-JKLMNOABCDEFGHI+.*' 00226000
  227. DC C'1234567890,-PQR#$@/STUVWXYZ',X'9C' LOZENGE 00227000
  228. DC C'.*1234567890,-JKLMNOABCDEFGHI+.*' 00228000
  229. DC C'1234567890,-PQR&&$%/STUVWXYZ',X'9C' LOZENGE 00229000
  230. DC C'.*1234567890,-JKLMNOABCDEFGHI+.*' 00230000
  231. SPACE 2 00231000
  232. UCSCCW PCAN,(60,60,60,60) 00232000
  233. EJECT 00233000
  234. * 'PCS-HN' - 3 LEVEL SET, 48 'H' GRAPHICS 00234000
  235. UCS PCHN 00235000
  236. SPACE 00236000
  237. DC C'1234567890,-PQR=$''/STUVWXYZ).*1234567890,-JKLMNOABCDEFGHI+.*' 00237000
  238. DC C'1234567890,-PQR&&$(/STUVWXYZ).*1234567890,-JKLMNOABCDEFGHI+.*' 00238000
  239. DC C'1234567890,-PQR=$''/STUVWXYZ).*1234567890,-JKLMNOABCDEFGHI+.*' 00239000
  240. DC C'1234567890,-PQR&&$(/STUVWXYZ).*1234567890,-JKLMNOABCDEFGHI+.*' 00240000
  241. SPACE 2 00241000
  242. UCSCCW PCHN,(60,60,60,60) 00242000
  243. EJECT 00243000
  244. * NORMAL AN ARRANGEMENT 00244000
  245. UCS AN 00245000
  246. SPACE 00246000
  247. DC C'1234567890#@/STUVWXYZ&&,' @VA07307 00247300
  248. DC C'%JKLMNOPQR-$*ABCDEFGHI+.',X'4C' LOZENGE @VA07307 00247700
  249. DC C'1234567890#@/STUVWXYZ&&,' @VA07307 00248300
  250. DC C'%JKLMNOPQR-$*ABCDEFGHI+.',X'4C' LOZENGE @VA07307 00248700
  251. DC C'1234567890#@/STUVWXYZ&&,' @VA07307 00249300
  252. DC C'%JKLMNOPQR-$*ABCDEFGHI+.',X'4C' LOZENGE @VA07307 00249700
  253. DC C'1234567890#@/STUVWXYZ&&,' @VA07307 00250300
  254. DC C'%JKLMNOPQR-$*ABCDEFGHI+.',X'4C' LOZENGE @VA07307 00250700
  255. DC C'1234567890#@/STUVWXYZ&&,' @VA07307 00251300
  256. DC C'%JKLMNOPQR-$*ABCDEFGHI+.',X'4C' LOZENGE @VA07307 00251700
  257. SPACE 2 00252000
  258. UCSCCW AN,(48,48,48,48,48) 00253000
  259. EJECT 00254000
  260. * NORMAL HN ARRANGEMENT 00255000
  261. UCS HN 00256000
  262. SPACE 00257000
  263. DC 5C'1234567890=''/STUVWXYZ&&,(JKLMNOPQR-$*ABCDEFGHI+.)' 00258000
  264. SPACE 2 00259000
  265. UCSCCW HN,(48,48,48,48,48) 00260000
  266. EJECT 00261000
  267. * 'QN' - PL/I - 60 GRAPHICS, 45 PREFERRED 00262000
  268. UCS QN 00263000
  269. SPACE 00264000
  270. DC C'1234567890XY/STUVW_"$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00265000
  271. DC C'1234567890XY/STUVW<;#*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00266000
  272. DC C'1234567890XY/STUVW?>@*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00267000
  273. DC C'1234567890XY/STUVW¬''&&*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00268000
  274. DC C'1234567890XY/STUVW|:%*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00269000
  275. SPACE 2 00270000
  276. UCSCCW QN,(48,48,48,48,48) 00271000
  277. EJECT 00272000
  278. * 'QNC' - PL/I - 60 GRAPHICS, 45 PREFERRED 00273000
  279. UCS QNC 00274000
  280. SPACE 00275000
  281. DC C'1234567890#@/STUVWXYZ&&.%JKLMNOPQR-$*ABCDEFGHI",=' 00276000
  282. DC C'1234567890#@/STUVWXYZ&&.%JKLMNOPQR-$*ABCDEFGHI|:_' 00277000
  283. DC C'1234567890#@/STUVWXYZ&&.%JKLMNOPQR-$*ABCDEFGHI<;¬' 00278000
  284. DC C'1234567890#@/STUVWXYZ&&.%JKLMNOPQR-$*ABCDEFGHI''?>' 00279000
  285. DC C'1234567890#@/STUVWXYZ&&.%JKLMNOPQR-$*ABCDEFGHI)+(' 00280000
  286. SPACE 2 00281000
  287. UCSCCW QNC,(48,48,48,48,48) 00282000
  288. EJECT 00283000
  289. * 'RN' - FORTRAN,COBOL,COMMERCIAL - 52 GRAPHICS, 47 PRF 00284000
  290. SPACE 00285000
  291. UCS RN 00286000
  292. SPACE 00287000
  293. DC C'1234567890XY/STUVW''@$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00288000
  294. DC C'1234567890XY/STUVW%@$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00289000
  295. DC C'1234567890XY/STUVW#@$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00290000
  296. DC C'1234567890XY/STUVW',X'4C' @VA07658 00291300
  297. DC C'@$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' @VA07658 00291600
  298. DC C'1234567890XY/STUVW&&@$*,=JKLMNOPQR-Z(ABCDEFGHI+.)' 00292000
  299. SPACE 2 00293000
  300. UCSCCW RN,(48,48,48,48,48) 00294000
  301. EJECT 00295000
  302. * 'YN' - HIGH SPEED ALPHANUMERIC - 42 GRAPHICS, 39 PREF 00296000
  303. SPACE 00297000
  304. UCS YN 00298000
  305. SPACE 00299000
  306. DC 2C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.' 00300000
  307. DC C'#-$' 00301000
  308. DC 3C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.' 00302000
  309. DC C'#-$' 00303000
  310. DC C'1234567890STABCDEFGHIJKLMNOPQRUVWXYZ*,.' 00304000
  311. SPACE 2 00305000
  312. UCSCCW YN,(39,42,39,39,42,39) 00306000
  313. EJECT 00307000
  314. * 'TN' - TEXT PRINTING - 120 GRAPHICS 00308000
  315. UCS TN 00309000
  316. SPACE 00310000
  317. DC C'1234567890=./STUVWXYZ,#&&JKLMNOPQR-":ABCDEFGHI+abcdefghijklmn' 00311000
  318. DC C'opqrstuvwxyz@''?;Æ!$*%棥·©§¶¼½¾^µþý¸~¬()´±><ðÞ¢¤[]º»¿¨Ð¯®_×|' 00312000
  319. DC C'1234567890=./STUVWXYZ,#&&JKLMNOPQR-":ABCDEFGHI+abcdefghijklmn' 00313000
  320. DC C'opqrstuvwxyz@''?;Æ!$*%棥·©§¶¼½¾^µþý¸~¬()´±><ðÞ¢¤[]º»¿¨Ð¯®_×|' 00314000
  321. SPACE 2 00315000
  322. UCSCCW TN,(60,60,60,60) 00316000
  323. EJECT 00317000
  324. * 'PN' - PL/I - 60 GRAPHICS 00318000
  325. SPACE 00319000
  326. UCS PN 00320000
  327. SPACE 00321000
  328. DC C'1234567890XY/STUVW|:_",=JKLMNOPQR-Z(ABCDEFGHI+.)%$*#&&@<;¬''?>' 00322000
  329. DC C'1234567890XY/STUVW|:_",=JKLMNOPQR-Z(ABCDEFGHI+.)%$*#&&@<;¬''?>' 00323000
  330. DC C'1234567890XY/STUVW|:_",=JKLMNOPQR-Z(ABCDEFGHI+.)%$*#&&@<;¬''?>' 00324000
  331. DC C'1234567890XY/STUVW|:_",=JKLMNOPQR-Z(ABCDEFGHI+.)%$*#&&@<;¬''?>' 00325000
  332. SPACE 2 00326000
  333. UCSCCW PN,(60,60,60,60) 00327000
  334. EJECT 00328000
  335. * 'SN' - TEXT PRINTING - 84 GRAPHICS, 78 PREFERRED 00329000
  336. SPACE 00330000
  337. UCS SN 00331000
  338. SPACE 00332000
  339. DC C'1234567890&&./STUVWXYZ,$*JKLMNOPQR-":' @VA07777 00333100
  340. DC C'ABCDEFGH' @VA07777 00333200
  341. DC X'C94E818283848586878889919293949596979899A2A3' @VA07777 00333300
  342. DC X'A4A5A6A7A8A97C7D4D5DBF4F' @VA07777 00333400
  343. DC C'1234567890&&./STUVWXYZ,$*JKLMNOPQR-":' @VA07777 00333500
  344. DC C'ABCDEFGH' @VA07777 00333600
  345. DC X'C94E818283848586878889919293949596979899A2A3' @VA07777 00333700
  346. DC X'A4A5A6A7A8A97C7D4D5DBF4F' @VA07777 00333800
  347. DC C'1234567890&&./STUVWXYZ,$*JKLMNOPQR-":' @VA07777 00333900
  348. DC C'ABCDEFGH' @VA07777 00334000
  349. DC X'C94E818283848586878889919293949596979899A2A3' @VA07777 00334100
  350. DC X'A4A5A6A7A8A97C7D4D5DBF4F' @VA07777 00334200
  351. DC C'?!;¢%',X'9C' LOZENGE 00335000
  352. SPACE 2 00336000
  353. UCSCCW SN,(78,78,84) 00337000
  354. EJECT 00338000
  355. COPY EQU 00339000
  356. END 00340000