Table of Contents

FCOPY

Table Of Contents

  • [00008] FCOPY - FILE COPY.
  • [00010] FILE COPY.
  • [00170] SYMBOL DEFINITIONS.
  • [00200] CONV - GENERATE CONVERSION BASE TABLE ENTRY.
  • [00214] WORKING STORAGE.
  • [00291] MAIN ROUTINE.
  • [00334] SUBROUTINES.
  • [00336] CLF - COPY FILE WITHOUT CONVERSION (SPECIAL CASE).
  • [00373] FBH - FORM BLOCK HEADER WORD.
  • [00405] GCH - GET CHARACTER.
  • [00500] PCH - OUTPUT CHARACTER.
  • [00609] PFE - PRINT FINAL ERROR MESSAGES.
  • [00669] PTE - PROCESS TRANSLATION ERROR.
  • [00760] RCH - READ CHARACTER.
  • [00860] STB - START STRANGER TAPE BLOCK.
  • [00909] TCH - TRANSLATE CHARACTER.
  • [00973] WCH - WRITE CHARACTER.
  • [01085] WTB - WRITE TAPE BLOCK.
  • [01133] WZB - WRITE ZERO BYTE.
  • [01172] CONVERSION BASE TABLES
  • [03106] PRESET.
  • [03108] PRS - PRESET PROGRAM.
  • [03384] TARG - ARGUMENT TABLE.
  • [03400] TCHT - CHARACTER TYPE TABLE.
  • [03437] TLNT - TABLE OF LINE TERMINATORS.
  • [03464] BLD - BUILD TABLE.
  • [03594] CLP - CHECK LINE TERMINATOR PARAMETER.
  • [03652] VLC - VERIFY LINE TERMINATOR WITH CODE SET.

Source Code

FCOPY.txt
  1. IDENT FCOPY,FETS,FCOPY
  2. ABS
  3. ENTRY FCOPY
  4. ENTRY RFL=
  5. SYSCOM B1
  6. *COMMENT FCOPY - FILE COPY.
  7. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  8. TITLE FCOPY - FILE COPY.
  9. SPACE 4,10
  10. *** FCOPY - FILE COPY.
  11. * D. R. HILGREN 79/01/15.
  12. * J. HOLLISTER 82/02/22.
  13. SPACE 4,10
  14. *** *FCOPY* CONVERTS A FILE FROM ONE CODE SET FORMAT
  15. * TO ANOTHER CODE SET FORMAT.
  16. SPACE 4,20
  17. *** COMMAND.
  18. *
  19. * FCOPY(P=LFN1,N=LFN2,PC=IC1,NC=IC2,PL=LT1,NL=LT2,FL=L,LB=N,R,A)
  20. *
  21. * LFN1 FILE TO BE CONVERTED (DEFAULT IS *OLD*). LFN1
  22. * IS NOT REWOUND BEFORE OR AFTER THE OPERATION.
  23. *
  24. * LFN2 FILE WRITTEN IN NEW FORMAT (DEFAULT IS *NEW*).
  25. * LFN2 IS NOT REWOUND BEFORE OR AFTER THE OPERATION.
  26. *
  27. * IC1 INTERNAL CHARACTERISTIC OF LFN1 (DEFAULT IS
  28. * *ASCII*).
  29. *
  30. * IC2 INTERNAL CHARACTERISTIC OF LFN2 (DEFAULT IS
  31. * *ASCII8*).
  32. *
  33. * DIS = 6 BIT DISPLAY CODE BASED ON EITHER 63 OR 64
  34. * CHARACTER SET, WHICHEVER IS IN USE IN THE
  35. * RESIDENT SYSTEM.
  36. *
  37. * DIS63 = 6 BIT DISPLAY CODE, BASED ON 63
  38. * CHARACTER SET.
  39. *
  40. * DIS64 = 6 BIT DISPLAY CODE, BASED ON 64
  41. * CHARACTER SET.
  42. *
  43. * ASCII = 6/12 DISPLAY CODE BASED ON EITHER 63 OR 64
  44. * CHARACTER SET.
  45. *
  46. * ASCII63 = 6/12 DISPLAY CODE BASED ON THE 63 CHARACTER
  47. * SET.
  48. *
  49. * ASCII64 = 6/12 DISPLAY CODE, BASED ON THE 64 CHARACTER
  50. * SET.
  51. *
  52. * ASCII8 = 7 BIT SUBSET OF 8 BIT ASCII, RIGHT
  53. * JUSTIFIED IN 12 BITS.
  54. *
  55. * ASCII88 = FULL 8 BIT ASCII CHARACTER SET IN 8 BITS.
  56. *
  57. * ASCFL = FULL 8 BIT ASCII, IN FIXED LENGTH LINES
  58. * WITHOUT LINE TERMINATORS (STRANGER TAPES
  59. * ONLY).
  60. *
  61. * EBCFL = 8 BIT EBCDIC, IN FIXED LENGTH LINES
  62. * WITHOUT LINE TERMINATORS (STRANGER TAPES
  63. * ONLY).
  64. *
  65. * LT1 LINE TERMINATOR OF LFN1 (DEFAULT IS ZERO BYTE).
  66. *
  67. * LT2 LINE TERMINATOR OF LFN2 (DEFAULT IS ZERO BYTE).
  68. *
  69. * ZB = ZERO BYTE.
  70. * CR = CARRIAGE RETURN.
  71. * FF = FORM FEED.
  72. * LF = LINE FEED.
  73. * US = UNIT SEPARATOR.
  74. * RS = RECORD SEPARATOR.
  75. * CRLF = CARRIAGE RETURN-LINE FEED.
  76. * LFCR = LINE FEED-CARRIAGE RETURN.
  77. * NN = SPECIFIED OCTAL VALUE.
  78. *
  79. * THE FOLLOWING TABLE SPECIFIES THE LEGAL COMBINATIONS
  80. * OF CODE SETS (INTERNAL CHARACTERISTICS) AND LINE
  81. * TERMINATORS.
  82. *
  83. *
  84. * * LINE TERMINATOR
  85. * CODE SET *
  86. * * ZB CR FF LF US RS CRLF LFCR NN
  87. * ******************************************************
  88. * DIS * Y N N N N N N N 0-77B
  89. * *
  90. * DIS63 * Y N N N N N N N 0-77B
  91. * *
  92. * DIS64 * Y N N N N N N N 0-77B
  93. * *
  94. * ASCII * Y Y Y Y Y Y N N 0-77B *
  95. * *
  96. * ASCII63 * Y Y Y Y Y Y N N 0-77B *
  97. * *
  98. * ASCII64 * Y Y Y Y Y Y N N 0-77B *
  99. * *
  100. * ASCII8 * Y Y Y Y Y Y Y Y 0-377B
  101. * *
  102. * ASCII88 * N Y Y Y Y Y Y Y 0-377B
  103. * *
  104. * ASCFL * N N N N N N N N N
  105. * *
  106. * EBCFL * N N N N N N N N N
  107. *
  108. * * +7400B OR 7700B, IF DESIRED.
  109. *
  110. * L FIXED LENGTH LINE LENGTH. THIS PARAMETER IS ONLY
  111. * USED ON STRANGER TAPES. (DEFAULT IS 80)
  112. *
  113. * N LINES PER BLOCK ON STRANGER TAPE. FOR S-FORMAT
  114. * STRANGER TAPE, THE PRODUCT OF THE FIXED LINE LENGTH
  115. * AND THE BLOCK LENGTH MUST BE LESS THAN OR EQUAL TO
  116. * 3840. (DEFAULT IS 3840 DIVIDED BY FIXED LENGTH LINE
  117. * LENGTH)
  118. *
  119. * R - IF SPECIFIED, LFN1 AND LFN2 ARE REWOUND BEFORE AND
  120. * AFTER THE OPERATION.
  121. *
  122. * A - IF SPECIFIED, ABORT AFTER THE OPERATION IF ERRORS
  123. * OCCURRED.
  124. SPACE 4,15
  125. *** DAYFILE MESSAGES.
  126. *
  127. * * BAD FCOPY CONVERSION TABLE.* - FCOPY TABLES
  128. * ARE IN ERROR. CONSULT SITE ANALYST.
  129. *
  130. * * ERROR IN FCOPY ARGUMENTS.* - ERROR DETECTED IN
  131. * COMMAND ARGUMENTS.
  132. *
  133. * * ERROR LIMIT. XXXXXX ADDITIONAL ERRORS FOUND.* - MORE
  134. * THAN 20 ERRORS WERE FOUND DURING CONVERSION.
  135. *
  136. * * FCOPY COMPLETE.* - INFORMATIVE MESSAGE INDICATING
  137. * *FCOPY* COMPLETION.
  138. *
  139. * * FILE NAME CONFLICT.* - LFN1 CAN NOT BE THE SAME
  140. * FILE NAME AS LFN2.
  141. *
  142. * * UNKNOWN CODE CCCC, FILE XXXX, RECORD YYYY, LINE
  143. * ZZZZZZ.* - CODE IS NOT A VALID CHARACTER IN THE INPUT
  144. * CHARACTER SET.
  145. *
  146. * * INPUT FILE NOT FOUND.* - LFN1 MUST BE AN EXISTING
  147. * LOCAL OR ATTACHED DIRECT ACCESS FILE.
  148. *
  149. * * UNRECOGNIZED CODE SET PARAMETER.* - *PC* OR *NC*
  150. * PARAMETER SPECIFIES UNSUPPORTED CONVERSION.
  151. *
  152. * *UNRECOGNIZED LINE TERMINATOR PARAMETER.* - *PL* OR *NL*
  153. * PARAMETER SPECIFIES AN UNSUPPORTED LINE TERMINATOR.
  154. *
  155. * *CODE SET LINE TERMINATOR CONFLICT.* - THE LINE TERMINATOR
  156. * SPECIFIED ON THE *PL* OR *NL* PARAMETER IS NOT SUPPORTED BY
  157. * THE CODE SET SPECIFIED ON THE *PC* OR *NC* PARAMETER.
  158. *
  159. * * XXXXXX LINES TRUNCATED.* - THE NUMBER OF LINES INDICATED
  160. * WERE TOO LONG FOR THE SPECIFIED FIXED LENGTH LINE ON A COPY
  161. * TO A STRANGER TAPE.
  162. *
  163. * * INCORRECT FILE TYPE FOR SPECIFIED CHARACTER SET.* - EITHER
  164. * YOU SPECIFIED *ASCFL* OR *EBCFL* AS THE CHARACTER SET FOR A
  165. * FILE NOT RESIDING ON A STRANGER TAPE, OR SOME OTHER CHARACTER
  166. * SET FOR A FILE ON A STRANGER TAPE.
  167. *
  168. * * LINE TERMINATORS NOT USED ON A STRANGER TAPE.* - YOU
  169. * SPECIFIED A LINE TERMINATOR FOR A STRANGER TAPE FILE.
  170. TITLE SYMBOL DEFINITIONS.
  171. SPACE 4,10
  172. **** ASSEMBLY CONSTANTS.
  173.  
  174.  
  175. PBUFL EQU 20041B OLD BUFFER LENGTH
  176. NBUFL EQU 20041B NEW BUFFER LENGTH
  177. WBUFL EQU 101B WORKING WRITE BUFFER
  178. FETODL EQU 16 OPTICAL DISK FET EXTENSION LENGTH
  179. BLNK EQU 55B DISPLAY CHARACTER BLANK
  180. ZBCH EQU 400B INTERNAL ZERO BYTE CHARACTER
  181. EORC EQU 401B INTERNAL EOR CHARACTER
  182. EOFC EQU 402B INTERNAL EOF CHARACTER
  183. EOIC EQU 403B INTERNAL EOI CHARACTER
  184. TLEN EQU 403B CONVERSION BASE TABLE LENGTH
  185. MCVTL EQU 1006B MAXIMUM CONVERSION TABLE LENGTH
  186. MXCB EQU 3840D MAXIMUM CHARACTERS/BLOCK, S-FORMAT TAPE
  187.  
  188. ****
  189. SPACE 4,10
  190. * COMMON DECKS.
  191.  
  192.  
  193. *CALL COMCMAC
  194. *CALL COMCCMD
  195. *CALL COMSLFM
  196. QUAL COMSMTX
  197. *CALL COMSMTX
  198. QUAL *
  199. SPACE 4,10
  200. ** CONV - GENERATE CONVERSION BASE TABLE ENTRY.
  201. *
  202. * CONV X,Y
  203. *
  204. * ENTRY X = NUMERIC VALUE.
  205. * Y = NUMERIC VALUE.
  206. *
  207. *T 24/0, 18/X, 18/Y
  208.  
  209. PURGMAC CONV
  210.  
  211. CONV MACRO X,Y
  212. VFD 24D/0,18D/X,18D/Y
  213. CONV ENDM
  214. TITLE WORKING STORAGE.
  215. SPACE 4,10
  216. * FET DEFINITIONS.
  217.  
  218.  
  219. ORG 110B
  220. FETS BSS 0
  221.  
  222. P BSS 0 OLD FILE
  223. OLD FILEB PBUF,PBUFL,FET=10
  224. ORG P+11B
  225. VFD 30/0,12/FETODL,18/P+12B
  226. BSSZ FETODL OPTICAL DISK FET EXTENSION
  227.  
  228.  
  229. N BSS 0 NEW FILE
  230. NEW FILEB NBUF,NBUFL,FET=10
  231. ORG N+11B
  232. VFD 30/0,12/FETODL,18/N+12B
  233. BSSZ FETODL OPTICAL DISK FET EXTENSION
  234.  
  235.  
  236. * INPUT PARAMETERS.
  237.  
  238.  
  239. PC VFD 42/0LASCII,18/0 DEFAULT *PC* VALUE
  240. NC VFD 42/0LASCII8,18/0 DEFAULT *NC* VALUE
  241. PL CON 0 OLD FILE LINE TERMINATOR
  242. NL CON 0 NEW FILE LINE TERMINATOR
  243. FL CON 0 CHARACTERS PER LINE, STRANGER TAPE
  244. LB CON 0 LINES PER BLOCK, STRANGER TAPE
  245. R CON 0 REWIND FLAG
  246. A CON 0 ABORT FLAG
  247. SPACE 4,10
  248. * GLOBAL VARIABLES.
  249.  
  250.  
  251. ASV CON 1 ASSUMED VALUE FOR *A* AND *R* PARAMETERS
  252. CLNF CON 0 6 BIT COLON FOUND FLAG
  253. ENDF CON 0 EOI DETECTED FLAG
  254. ERCT CON 0 ERROR COUNT
  255. ERLM CON 20D ERROR LIMIT
  256. FILE CON 1 FILE NUMBER
  257. IBHW CON 0 FULL SIZED INPUT BLOCK HEADER WORD
  258. ILCC CON 0 INPUT LINE CHARACTER COUNT
  259. ILCT CON 0 INPUT LINES REMAINING IN BLOCK
  260. INDX CON 0 OFFSET TO SPECIAL SECTION OF TABLE
  261. IPTR CON 0 LOCATION TO STORE HEADER WORD ON OUTPUT
  262. IWRD CON 0 CURRENT INPUT WORD
  263. LINE CON 1 CURRENT LINE
  264. OBHW CON 0 FULL SIZED OUTPUT BLOCK HEADER WORD
  265. OLCC CON 0 OUTPUT LINE CHARACTER COUNT
  266. OLCT CON 0 OUTPUT LINES REMAINING IN BLOCK
  267. OWRD CON 0 CURRENT OUTPUT WORD
  268. RAHD CON -1 READ AHEAD CHARACTER
  269. RCRD CON 1 RECORD NUMBER
  270. SPAC CON 40B BLANK OUTPUT CHARACTER CODE
  271. STPI CON 0 NON-ZERO IF INPUT FILE IS STRANGER TAPE
  272. STPO CON 0 NON-ZERO IF OUTPUT FILE IS STRANGER TAPE
  273. TCVTL CON TLEN CONVERSION TABLE LENGTH
  274. TRNC CON 0 TRUNCATED LINE COUNT
  275. UBC CON 0 UNUSED BIT COUNT
  276.  
  277. SPACE 4,10
  278. * DAYFILE MESSAGES.
  279.  
  280.  
  281. MSGA DATA C* FCOPY COMPLETE.*
  282. MSGB DATA C* BAD FCOPY CONVERSION TABLE.*
  283. MSGC DATA 50H UNKNOWN CODE CCCC, FILE XXXX, RECORD YYYY, LIN
  284. DATA C*E ZZZZZZ.*
  285. MSGD DATA C* ERROR LIMIT. XXXXXX ADDITIONAL ERRORS FOUND.*
  286. MSGE DATA C* ERRORS OCCURRED IN FCOPY. SEE DAYFILE.*
  287. MSGF DATA C* XXXXXX LINES TRUNCATED.*
  288. MSGG DATA C* 1 LINE TRUNCATED.*
  289.  
  290.  
  291. TITLE MAIN ROUTINE.
  292. FCOPY SB1 1 ENTRY
  293. RJ PRS PRESET PROGRAM
  294. SA1 R
  295. ZR X1,FCO0 IF NO REWIND OF FILES
  296. REWIND P
  297. REWIND N
  298. FCO0 SB7 A0+
  299. NZ B7,FCO1 IF FILES NOT OF LIKE TYPE
  300. RJ CLF COPY LIKE FILES
  301. EQ FCO4 TERMINATE COPY
  302.  
  303. FCO1 RECALL N,R
  304. SA1 STPO
  305. ZR X1,FCO1.3 IF OUTPUT FILE NOT STRANGER TAPE
  306. WRITEO N RESERVE WORD FOR FIRST BLOCK HEADER WORD
  307. FCO1.3 SA1 STPI
  308. ZR X1,FCO1.5 IF INPUT FILE NOT STRANGER TAPE
  309. READN P,R READ STRANGER TAPE
  310. RJ STB START FIRST STRANGER TAPE BLOCK
  311. EQ FCO2 START CONVERSION
  312.  
  313. FCO1.5 READ P,R READ NORMAL FILE
  314. FCO2 RJ GCH GET NEXT CHARACTER
  315. RJ TCH TRANSLATE CHARACTER
  316. NG X2,FCO3 IF CHARACTER IGNORED
  317. RJ PCH OUTPUT CHARACTER
  318. FCO3 SA2 ENDF CHECK FOR EOI
  319. ZR X2,FCO2 IF NOT EOI
  320. FCO4 RJ PFE PRINT FINAL ERROR MESSAGES
  321. SA1 R
  322. ZR X1,FCO5 IF NO REWIND OF FILES
  323. REWIND P
  324. REWIND N
  325. FCO5 MESSAGE X5,3 PRINT TERMINATION MESSAGE
  326. SA1 A
  327. ZR X1,FCO6 IF *A* PARAMETER NOT SPECIFIED
  328. SX1 MSGA ADDRESS OF TERMINATION MESSAGE
  329. BX1 X5-X1
  330. ZR X1,FCO6 IF NORMAL TERMINATION
  331. ABORT
  332.  
  333. FCO6 ENDRUN
  334. TITLE SUBROUTINES.
  335. SPACE 4,10
  336. ** CLF - COPY FILE WITHOUT CONVERSION (SPECIAL CASE).
  337. *
  338. * ENTRY FET SET TO READ INPUT FILE.
  339. *
  340. * EXIT FILE COPIED.
  341. *
  342. * USES X - 1, 2, 6.
  343. * A - 1, 6.
  344. * B - 6, 7.
  345. *
  346. * CALLS WTW=
  347. *
  348. * MACROS READ, READW, WRITER, WRITEF.
  349.  
  350.  
  351. CLF SUBR ENTRY/EXIT
  352. CLF1 READ P,R
  353. CLF2 READW P,WBUF,WBUFL COPY TO WORKING BUFFER
  354. BX6 X1 SAVE STATUS
  355. SA6 CLFS
  356. SB7 B6-WBUF PRESET WTW PARAMETERS
  357. SB6 WBUF
  358. SX2 N
  359. RJ =XWTW= EMPTY WORKING FILE TO NEW FILE
  360. SA1 CLFS GET READ STATUS
  361. NG X1,CLF4 IF EOF/EOI
  362. ZR X1,CLF2 IF NOT EOR
  363. WRITER N,R
  364. EQ CLF1 CONTINUE COPY
  365.  
  366. CLF4 SX1 X1+1
  367. NG X1,CLFX IF EOI
  368. WRITEF N,R
  369. EQ CLF1 CONTINUE COPY
  370.  
  371. CLFS CON 0 READ STATUS
  372. FBH SPACE 4,15
  373. ** FBH - FORM BLOCK HEADER WORD.
  374. *
  375. * FORMS THE BLOCK HEADER WORD NEEDED FOR STRANGER TAPE OUTPUT.
  376. *
  377. * ENTRY (X1) = OUTPUT LINE CHARACTER COUNT.
  378. * (X2) = LINES IN BLOCK.
  379. * (B7) = BITS PER CHARACTER.
  380. *
  381. * EXIT (X6) = BLOCK HEADER WORD.
  382. *
  383. * USES X - 1, 2, 3, 4, 5, 6.
  384. * A - NONE.
  385. * B - B7.
  386.  
  387.  
  388. FBH SUBR ENTRY/EXIT
  389. IX3 X1*X2 COMPUTE CHARACTERS IN BLOCK
  390. SX4 B7+
  391. IX3 X3*X4 BITS IN BLOCK
  392. SX5 60D
  393. BX4 X3
  394. BX6 X5
  395. IX1 X4/X6 CYBER WORDS IN BLOCK, TRUNCATED
  396. IX2 X1*X5 CYBER BITS
  397. IX6 X3-X2 BITS USED IN LAST WORD
  398. ZR X6,FBH1 IF NO UNUSED BITS
  399. IX6 X5-X6 UNUSED BIT COUNT
  400. SX1 X1+B1 ROUND UP WORD COUNT
  401. LX6 24
  402. FBH1 BX6 X6+X1 FORM BLOCK HEADER WORD
  403. EQ FBHX RETURN
  404. SPACE 4,20
  405. ** GCH - GET CHARACTER.
  406. *
  407. * ENTRY (B2) = CURRENT POSITION IN INPUT WORD.
  408. * (B4) = INPUT CHARACTER LENGTH.
  409. * (IWRD) = CURRENT INPUT WORD.
  410. * (RAHD) = READ AHEAD CHARACTER.
  411. * = -1 IF NONE.
  412. *
  413. * EXIT (X2) = CHARACTER TO PROCESS.
  414. * (B2) = NEW POSITION IN INPUT WORD.
  415. * (RAHD) = NEW READ AHEAD CHARACTER.
  416. * = -1 IF NONE.
  417. * IN FILES NOT USING THE ZERO BYTE LINE TERMINATOR,
  418. * ZERO CHARACTERS OCCURRING BETWEEN AN EOR, EOF OR EOI
  419. * AND THE LAST LINE TERMINATOR PRECEDING IT ARE IGNORED.
  420. *
  421. * USES X - 1, 2, 3, 4, 5, 6, 7.
  422. * A - 1, 2, 3, 6, 7.
  423. * B - 2, 6, 7.
  424. *
  425. * CALLS PCH, RCH, TCH.
  426.  
  427.  
  428. GCH SUBR ENTRY/EXIT
  429. SA2 RAHD GET READ AHEAD WORD
  430. SX6 -B1 CLEAR READ AHEAD
  431. SA6 A2
  432. PL X2,GCHX IF CHARACTER ALREADY READ
  433. RJ RCH READ CHARACTER
  434. NZ X2,GCHX IF NOT ZERO CHARACTER
  435. SA1 IWRD GET INPUT WORD
  436. NZ X1,GCHX IF MORE CHARACTERS IN WORD
  437. SA3 PL GET INPUT LINE TERMINATOR
  438. SX3 X3-ZBCH
  439. NZ X3,GCH3 IF INPUT LINE TERMINATOR NOT ZERO BYTE
  440. SA1 INDX GET INDEX
  441. NZ X1,GCHX IF UNCOMPLETED DOUBLE LENGTH CHARACTER
  442.  
  443. * CHECK FOR ZERO BYTE.
  444.  
  445. SB7 B2+B4
  446. SB6 12D
  447. LT B7,B6,GCH1 IF NO ROOM FOR ZERO BYTE
  448. SX2 ZBCH SET ZERO BYTE CHARACTER
  449. SB2 B0+ SET CURRENT INPUT WORD EMPTY
  450. EQ GCHX RETURN
  451.  
  452. GCH1 RJ RCH READ NEXT CHARACTER
  453. SA1 IWRD GET NEW INPUT WORD
  454. NZ X2,GCH2 IF NOT ZERO CHARACTER
  455. NZ X1,GCH2 IF NOT ZERO BYTE
  456. SX2 ZBCH SET ZERO BYTE CHARACTER
  457. SB2 B0+ INPUT WORD IS EMPTY
  458. EQ GCHX RETURN
  459.  
  460. GCH2 SX6 X2 SET READ AHEAD CHARACTER
  461. SA6 RAHD
  462. BX2 X2-X2 RESET CHARACTER TO ZERO
  463. EQ GCHX RETURN
  464.  
  465. * CHECK FOR EXTRANEOUS ZERO CHARACTERS.
  466.  
  467. GCH3 SX5 B2 COMPUTE NUMBER OF CHARACTERS LEFT IN WORD
  468. SX4 B4
  469. IX6 X5/X4
  470. SX4 B4
  471. IX4 X4*X6 COMPUTE LEFTOVER BITS
  472. SX6 X6+1
  473. IX5 X5-X4
  474. SA6 GCHA
  475. SB2 X5
  476. RJ RCH READ NEXT CHARACTER FROM NEW WORD
  477. SX4 X2-EOIC-1
  478. SX5 X2-EORC
  479. PL X4,GCH4 IF NOT EOR, EOF, OR EOI
  480. PL X5,GCHX IF CHARACTER IS EOR, EOF OR EOI
  481. GCH4 SX6 X2 SAVE CHARACTER
  482. SA6 GCHB
  483. GCH5 SA1 GCHA CHECK ZERO CHARACTER COUNT
  484. SX7 X1-1 DECREMENT CHARACTER COUNT
  485. NG X7,GCH6 IF NO MORE ZERO CHARACTERS TO PROCESS
  486. BX2 X2-X2
  487. SA7 GCHA SAVE COUNT
  488. RJ TCH TRANSLATE ZERO CHARACTER
  489. NG X2,GCH5 IF CHARACTER IS TO BE IGNORED
  490. RJ PCH OUTPUT CHARACTER
  491. EQ GCH5 CONTINUE
  492.  
  493. GCH6 SA2 GCHB RESTORE FINAL CHARACTER
  494. EQ GCHX RETURN
  495.  
  496.  
  497. GCHA CON 0 ZERO CHARACTER COUNT
  498. GCHB CON 0 TEMPORARY CHARACTER STORAGE
  499. PCH SPACE 4,20
  500. ** PCH - OUTPUT CHARACTER.
  501. *
  502. * ENTRY (X2) = CHARACTER TO WRITE.
  503. * (B3) = CURRENT POSITION IN OUTPUT WORD.
  504. * (B5) = OUTPUT CHARACTER LENGTH.
  505. * (X6) = CHARACTER COUNT.
  506. *
  507. * EXIT (B3) = NEW POSITION IN OUTPUT WORD.
  508. * (CLNF) = 1 IF CHARACTER WRITTEN WAS A
  509. * 6 BIT DISPLAY CODE COLON.
  510. * (ENDF) = 1 IF EOI DETECTED.
  511. *
  512. * USES X - 1, 2, 3, 5, 6, 7.
  513. * A - 1, 3, 7.
  514. * B - 6, 7.
  515. *
  516. * CALLS GCH, WCH, WTB, WZB.
  517. *
  518. * MACROS WRITEO.
  519.  
  520.  
  521. PCH SUBR ENTRY/EXIT
  522. SX3 B5 SET BIT COUNT
  523. IX6 X3*X6
  524. SA1 NL CHECK FOR EOL
  525. SB7 X6
  526. BX1 X1-X2
  527. SA3 STPO
  528. NZ X1,PCH3 IF NOT EOL
  529. SA1 LINE INCREMENT LINE COUNT
  530. SX7 X1+B1
  531. SA7 A1
  532. NZ X3,PCH7 IF OUTPUT FILE IS STRANGER TAPE
  533.  
  534. * PROCESS DISPLAY CODE COLON.
  535.  
  536. PCH1 SX5 X2-ZBCH
  537. SA3 CLNF GET COLON FLAG
  538. NZ X5,PCH3 IF NOT ZERO BYTE EOL
  539. ZR X3,PCH2 IF COLON FLAG NOT SET
  540. SX2 BLNK SET BLANK TO GUARD COLON
  541. RJ WCH WRITE BLANK CHARACTER
  542. BX7 X7-X7 CLEAR COLON FLAG
  543. SA7 CLNF
  544. PCH2 RJ WZB WRITE ZERO BYTE
  545. EQ PCHX RETURN
  546.  
  547. * WRITE CHARACTER.
  548.  
  549. PCH3 BX7 X7-X7 CLEAR COLON FLAG
  550. SB6 6
  551. NZ X2,PCH4 IF NOT ZERO CHARACTER
  552. NE B6,B7,PCH4 IF ZERO CHARACTER NOT 6 BIT COLON
  553. SX7 B1+ SET COLON FLAG
  554. PCH4 SA7 CLNF SAVE COLON FLAG
  555. ZR X3,PCH5 IF OUTPUT FILE IS NOT STRANGER TAPE
  556. SA3 OLCC
  557. ZR X3,PCH6 IF RECORD (LINE) FULL
  558. SX7 X3-1 DECREMENT OUTPUT LINE CHARACTER COUNT
  559. SA7 A3
  560. PCH5 RJ WCH WRITE CHARACTER
  561. SA1 STPO
  562. ZR X1,PCHX IF OUTPUT FILE NOT STRANGER TAPE, RETURN
  563. SA1 ENDF
  564. ZR X1,PCHX IF NOT EOI
  565. RJ WTB WRITE TAPE BLOCK
  566. EQ PCHX RETURN
  567.  
  568. * TRUNCATE LONG LINE.
  569.  
  570. PCH6 RJ GCH READ NEXT INPUT FILE CHARACTER
  571. SA1 PL CHECK FOR LINE TERMINATOR
  572. BX1 X2-X1
  573. NZ X1,PCH6 IF NOT LINE TERMINATOR
  574. SA1 TRNC INCREMENT TRUNCATION COUNT
  575. SX6 X1+B1
  576. SA6 A1
  577. EQ PCH8 START A NEW LINE
  578.  
  579. * BLANK FILL REMAINDER OF A SHORT LINE.
  580.  
  581. PCH7 SA3 OLCC CHECK CHARACTER COUNT
  582. ZR X3,PCH8 IF NO MORE ROOM IN LINE
  583. SX7 X3-1 DECREMENT CHARACTER COUNT
  584. SA2 SPAC ADD ANOTHER BLANK TO LINE
  585. SB7 B5
  586. SA7 A3
  587. RJ WCH
  588. EQ PCH7 CHECK IF LINE IS FULL
  589.  
  590. PCH8 SA1 FL RESET OUTPUT LINE CHARACTER COUNT
  591. BX6 X1
  592. SA6 OLCC
  593. SA1 OLCT DECREMENT OUTPUT LINE COUNT
  594. SX7 X1-1
  595. SA7 A1
  596. NZ X7,PCHX IF NOT END OF BLOCK, RETURN
  597.  
  598. * WRITE CURRENT STRANGER TAPE BLOCK.
  599.  
  600. SA3 OWRD WRITE LAST WORD OF BLOCK
  601. BX7 X7-X7 CLEAR OUTPUT WORD
  602. BX6 X3
  603. SA7 A3
  604. WRITEO N
  605. SB3 60D RESET OUTPUT WORD POINTER
  606. RJ WTB WRITE STRANGER TAPE BLOCK
  607. EQ PCHX RETURN
  608. PFE SPACE 4,20
  609. ** PFE - PRINT FINAL ERROR MESSAGES.
  610. *
  611. * ENTRY (ERCT) = TRANSLATION ERROR COUNT.
  612. * (ERLM) = TRANSLATION ERROR LIMIT.
  613. * (TRNC) = TRUNCATED LINE COUNT.
  614. *
  615. * EXIT (X5) = ADDRESS OF TERMINATION MESSAGE.
  616. * ERROR MESSAGES PRINTED, IF APPROPRIATE.
  617. *
  618. * USES X - 0, 1, 2, 5, 6.
  619. * A - 1, 2, 6.
  620. * B - 5.
  621. *
  622. * CALLS CDD.
  623. *
  624. * MACROS MESSAGE.
  625.  
  626.  
  627. PFE SUBR ENTRY/EXIT
  628.  
  629. * PROCESS LINE TRUNCATION COUNT.
  630.  
  631. SX5 MSGA SET NORMAL TERMINATION MESSAGE
  632. SA1 TRNC
  633. SB5 X1
  634. ZR X1,PFE2 IF NO LINES TRUNCATED
  635. SX5 MSGE SET ABNORMAL TERMINATION MESSAGE
  636. NE B5,B1,PFE0 IF MORE THAN ONE LINE TRUNCATED
  637. SX2 MSGG
  638. EQ PFE1 PRINT ERROR MESSAGE
  639.  
  640. PFE0 RJ CDD CONVERT TRUNCATION COUNT TO DISPLAY
  641. MX0 -18
  642. SA1 MSGF
  643. SX2 A1
  644. LX6 18 POSITION COUNT FOR MESSAGE
  645. BX1 -X0*X1 CLEAR PLACE FOR COUNT
  646. BX6 X0*X6 REMOVE EXTRANEOUS BLANKS
  647. BX6 X1+X6 SET COUNT IN MESSAGE
  648. SA6 A1+
  649. PFE1 MESSAGE X2,3 * XXXXXX LINES TRUNCATED.*
  650.  
  651. * PROCESS TRANSLATION ERROR COUNT.
  652.  
  653. PFE2 SA2 ERCT GET ERROR COUNT
  654. SA1 ERLM GET ERROR LIMIT
  655. IX1 X2-X1
  656. ZR X2,PFEX IF NO TRANSLATION ERRORS, RETURN
  657. SX5 MSGE SET ABNORMAL TERMINATION MESSAGE
  658. NG X1,PFEX IF ERROR LIMIT NOT REACHED
  659. RJ CDD CONVERT EXCESS ERROR COUNT TO DISPLAY
  660. SA1 MSGD+1
  661. MX0 -36
  662. BX1 X0*X1 CLEAR SPACE FOR COUNT
  663. BX6 -X0*X6 REMOVE EXTRA BLANKS
  664. BX6 X1+X6 SET COUNT IN MESSAGE
  665. SA6 A1+
  666. MESSAGE MSGD,3 * ERROR LIMIT. ...*
  667. EQ PFEX RETURN
  668. SPACE 4,15
  669. ** PTE - PROCESS TRANSLATION ERROR.
  670. *
  671. * ENTRY (X2) = CHARACTER CODE, RIGHT JUSTIFIED.
  672. * (X5) = INDEX VALUE FOR 6/12 CHARACTERS.
  673. *
  674. * USES X - 0, 1, 3, 4, 5, 6.
  675. * A - 1, 3, 5, 6.
  676. * B - 6, 7.
  677. *
  678. * CALLS CDD, COD.
  679. *
  680. * MACROS MESSAGE.
  681.  
  682.  
  683. PTE SUBR ENTRY/EXIT
  684. SA1 ERCT GET ERROR COUNT
  685. SA3 ERLM GET ERROR LIMIT
  686. SX6 X1+B1 INCREMENT ERROR COUNT
  687. SA6 A1+
  688. IX6 X3-X6
  689. NG X6,PTEX IF ERROR LIMIT EXCEEDED, RETURN
  690. SX6 B4 SAVE (B) REGISTERS
  691. SB6 B2
  692. SB7 B3
  693. SA6 PTEA
  694. MX0 -24
  695.  
  696. * PUT CHARACTER CODE IN MESSAGE.
  697.  
  698. SX4 X5-200B
  699. SX6 X5-300B
  700. NZ X4,PTE1 IF NOT 12 BIT 6/12 CHAR STARTING WITH 74
  701. SX5 7400B
  702. PTE1 NZ X6,PTE2 IF NOT 12 BIT 6/12 CHAR STARTING WITH 76
  703. SX5 7600B
  704. PTE2 IX1 X2+X5 FORM FULL 12 BIT CHARACTER
  705. SA5 MSGC+1
  706. RJ COD CONVERT CODE TO DISPLAY
  707. BX6 -X0*X6
  708. LX0 12
  709. LX6 12
  710. BX5 X0*X5 CLEAR SPACE FOR CODE
  711. BX6 X5+X6 PUT CODE IN MESSAGE
  712. SA5 MSGC+2
  713. SA6 MSGC+1
  714.  
  715. * PUT FILE NUMBER IN MESSAGE.
  716.  
  717. SA1 FILE GET FILE NUMBER
  718. MX0 -24
  719. RJ CDD CONVERT FILE NUMBER TO DISPLAY
  720. BX6 -X0*X6
  721. BX5 X0*X5 CLEAR PLACE FOR FILE NUMBER
  722. BX6 X5+X6 SET FILE NUMBER IN MESSAGE
  723. SA5 MSGC+4
  724. SA6 MSGC+2
  725.  
  726. * PUT RECORD NUMBER IN MESSAGE.
  727.  
  728. SA1 RCRD GET RECORD NUMBER
  729. RJ CDD CONVERT RECORD NUMBER TO DISPLAY
  730. BX6 -X0*X6
  731. MX0 -36
  732. LX6 36D POSITION RECORD NUMBER
  733. BX5 -X0*X5 CLEAR PLACE FOR RECORD NUMBER
  734. BX6 X6+X5 SET RECORD NUMBER IN MESSAGE
  735. SA5 MSGC+5
  736. SA6 MSGC+4
  737.  
  738. * PUT LINE NUMBER IN MESSAGE.
  739.  
  740. SA1 LINE GET LINE NUMBER
  741. RJ CDD CONVERT LINE NUMBER TO DISPLAY
  742. BX6 -X0*X6 REMOVE EXTRA BLANKS
  743. LX0 12
  744. LX6 12
  745. BX5 X0*X5 CLEAR POSITION FOR LINE NUMBER
  746. BX6 X5+X6 SET LINE NUMBER IN MESSAGE
  747. SA6 MSGC+5
  748.  
  749. * WRITE MESSAGE TO DAYFILE.
  750.  
  751. MESSAGE MSGC,3 * UNKNOWN CODE CCCC, FILE XXXX,... *
  752. SA1 PTEA RESTORE SAVED (B) REGISTERS
  753. SB2 B6
  754. SB3 B7
  755. SB4 X1+
  756. EQ PTEX RETURN
  757.  
  758. PTEA DATA 0 B REGISTER STORAGE
  759. SPACE 4,10
  760. ** RCH - READ CHARACTER.
  761. *
  762. * ENTRY (B2) = CURRENT POSITION IN INPUT WORD.
  763. * (B4) = INPUT CHARACTER LENGTH.
  764. * (IWRD) = CURRENT INPUT WORD.
  765. *
  766. * EXIT (X2) = CHARACTER READ, RIGHT JUSTIFIED.
  767. * (B2) = NEW POSITION IN INPUT WORD.
  768. * (IWRD) = CURRENT INPUT WORD.
  769. *
  770. * USES X - 0, 1, 2, 3, 5, 6, 7.
  771. * A - 1, 2, 3, 6, 7.
  772. * B - 2, 6, 7.
  773. *
  774. * CALLS STB.
  775. *
  776. * MACROS READ, READO, RECALL.
  777.  
  778.  
  779. RCH SUBR ENTRY/EXIT
  780. SA3 STPI
  781. ZR X3,RCH0 IF INPUT FILE NOT STRANGER TAPE
  782. SA3 ILCC DECREMENT INPUT LINE CHARACTER COUNT
  783. SX7 X3-1
  784. SA7 A3+
  785. NZ X3,RCH0 IF NOT END OF LINE
  786. SA1 FL RESET INPUT LINE CHARACTER COUNT
  787. SA2 PL SET EOL CHARACTER
  788. BX7 X1
  789. SA7 A3
  790. SA1 ILCT DECREMENT INPUT LINE COUNT
  791. SX7 X1-1
  792. ZR X7,RCH6 IF NO MORE ROOM IN BLOCK
  793. SA7 A1+
  794. EQ RCHX RETURN
  795.  
  796. RCH0 GT B4,B2,RCH1 IF NO WHOLE CHARACTERS LEFT IN WORD
  797. MX0 1 BUILD MASK
  798. SB7 B4-B1
  799. SA1 IWRD GET INPUT WORD
  800. AX0 B7
  801. BX2 X0*X1 EXTRACT CHARACTER
  802. BX6 -X0*X1 DELETE CHARACTER FROM INPUT WORD
  803. LX2 B4
  804. LX6 B4
  805. SB2 B2-B4
  806. SA6 A1+ SAVE INPUT WORD
  807. EQ RCHX RETURN
  808.  
  809. RCH1 SB6 B4
  810. BX5 X5-X5
  811. ZR B2,RCH2 IF INPUT WORD EMPTY
  812. SA1 IWRD GET INPUT WORD
  813. SB6 B4-B2 COMPUTE REMAINDER
  814. LX5 X1,B4 SET PARTIAL CHARACTER
  815. RCH2 READO P READ NEXT WORD
  816. NZ X1,RCH3 IF EOR, EOF, OR EOI
  817. MX0 1 BUILD MASK
  818. SB7 B6-B1
  819. AX0 B7
  820. BX2 X0*X6 EXTRACT PARTIAL CHARACTER
  821. BX6 -X0*X6 DELETE USED BITS
  822. LX2 B6
  823. LX6 B6
  824. BX2 X5+X2
  825. SB2 60D RESET CURRENT POSTION
  826. SA6 IWRD SAVE INPUT WORD
  827. SB2 B2-B6
  828. EQ RCHX RETURN
  829.  
  830. RCH3 SA2 STPI
  831. NZ X2,RCH5 IF INPUT FILE ON STRANGER TAPE
  832. SA2 STPO
  833. NG X1,RCH4 IF EOF OR EOI
  834. NZ X2,RCH3.1 IF OUTPUT FILE ON STRANGER TAPE
  835. READ P,R
  836. RECALL N,R
  837. RCH3.1 SX2 EORC SET EOR CHARACTER
  838. SB2 B0+ SET CURRENT INPUT WORD EMPTY
  839. EQ RCHX RETURN
  840.  
  841. RCH4 SX1 X1+1
  842. NG X1,RCH5 IF EOI
  843. NZ X2,RCH4.1 IF OUTPUT FILE ON STRANGER TAPE
  844. READ P,R
  845. RECALL N,R
  846. RCH4.1 SX2 EOFC SET EOF CHARACTER
  847. SB2 B0+ SET CURRENT INPUT WORD EMPTY
  848. EQ RCHX RETURN
  849.  
  850. RCH5 SX2 EOIC SET EOI CHARACTER
  851. EQ RCHX RETURN
  852.  
  853. RCH6 RJ STB START NEW STRANGER TAPE BLOCK
  854. SA2 PL SET LINE TERMINATOR AS OUTPUT CHARACTER
  855. ZR X1,RCHX IF NOT EOI
  856. SX7 EOIC SET EOI AS NEXT CHARACTER READ
  857. SA7 RAHD
  858. EQ RCHX RETURN
  859. SPACE 4,20
  860. ** STB - START STRANGER TAPE BLOCK.
  861. *
  862. * ENTRY (IBHW) = INPUT BLOCK HEADER WORD FOR FULL BLOCK.
  863. * (FL) = FIXED LENGTH LINE LENGTH.
  864. * (LB) = LINES PER BLOCK.
  865. *
  866. * EXIT (X1) = NONZERO IF EOI REACHED.
  867. * NEW BLOCK STARTED IF NOT EOI.
  868. * (ILCC) RESET FOR NEW LINE.
  869. * (ILCT) RESET FOR NEW BLOCK.
  870. *
  871. * USES X - 0, 1, 3, 6, 7.
  872. * A - 1, 3, 7.
  873. * B - 2, 7.
  874. *
  875. * MACROS READN, READO, RECALL.
  876.  
  877.  
  878. STB SUBR ENTRY/EXIT
  879. STB1 READO P READ BLOCK HEADER WORD
  880. SB7 X1
  881. LT B7,B1,STB2 IF NEW READ DOES NOT NEED TO BE ISSUED
  882. READN P,R READ TAPE
  883. RECALL N,R
  884. EQ STB1 GET HEADER WORD
  885.  
  886. STB2 NZ X1,STBX IF END OF TAPE
  887. SA1 IBHW
  888. SA3 LB GET LINE COUNT FOR FULL TAPE BLOCK
  889. IX1 X1-X6
  890. BX7 X3
  891. ZR X1,STB3 IF FULL SIZE BLOCK
  892. SX3 X6+ NUMBER OF 60 BIT WORDS IN BLOCK
  893. SX0 60D
  894. AX6 24 UNUSED BIT COUNT
  895. IX3 X3*X0 COMPUTE BITS IN BLOCK
  896. SX1 B4+
  897. IX3 X3-X6
  898. IX7 X3/X1 COMPUTE NUMBER OF CHARACTERS IN BLOCK
  899. SA1 FL COMPUTE NUMBER OF LINES IN BLOCK
  900. IX7 X7/X1
  901. STB3 SA7 ILCT SAVE INPUT LINE COUNT
  902. SA1 FL RESET INPUT CHARACTER COUNT
  903. SB2 B0 SET TO START NEW INPUT WORD
  904. BX7 X1
  905. SA7 ILCC
  906. SX1 B0+ SET EXIT CONDITION
  907. EQ STBX RETURN
  908. SPACE 4,20
  909. ** TCH - TRANSLATE CHARACTER.
  910. *
  911. * ENTRY (X2) = CHARACTER TO TRANSLATE.
  912. * (A0) = CONVERSION TABLE FWA.
  913. *
  914. * EXIT (X2) = NEW CHARACTER(S), RIGHT JUSTIFIED.
  915. * = -1 IF CHARACTER IS TO BE IGNORED.
  916. * (X6) = CHARACTER COUNT.
  917. *
  918. * USES X - 0, 1, 2, 3, 4, 5, 6.
  919. * A - 1, 5, 6.
  920. * B - 6, 7.
  921. *
  922. * CALLS PTE.
  923. *
  924. * MACROS ABORT, MESSAGE.
  925.  
  926.  
  927. TCH SUBR ENTRY/EXIT
  928. SA5 INDX GET INDEX
  929. MX0 -9
  930. BX2 -X0*X2 TRUNCATE TOP 3 BITS
  931. BX6 X6-X6 CLEAR INDEX
  932. SB7 X2
  933. SA1 TCVTL GET TABLE LENGTH
  934. SB6 X1
  935. SA6 A5+
  936. SB7 B7+X5 COMPUTE ENTRY NUMBER
  937. LE B7,B6,TCH1 IF ENTRY NEEDED IS WITHIN TABLE BOUNDS
  938. SX2 B7+
  939. RJ PTE GENERATE ERROR
  940. SX2 -B1 IGNORE CHARACTER
  941. EQ TCHX RETURN
  942.  
  943. TCH1 SA1 A0+B7 GET CONVERSION TABLE ENTRY
  944. MX0 -36 EXTRACT DATA ITEM
  945. BX4 -X0*X1
  946. MX0 -3
  947. LX1 59-53
  948. BX6 -X0*X1 GET COUNT
  949. MX0 -2
  950. AX1 4
  951. BX3 -X0*X1 EXTRACT OPTION
  952. NZ X3,TCH3 IF NOT NORMAL CONVERSION
  953. BX2 X4 SET NEW CHARACTER
  954. EQ TCHX RETURN
  955.  
  956. TCH3 SX3 X3-1
  957. NZ X3,TCH5 IF NOT NO-CONVERSION OPTION
  958. ZR X4,TCH4 IF NOT AN ERROR
  959. RJ PTE PROCESS ERROR
  960. TCH4 SX2 -B1 IGNORE CHARACTER
  961. EQ TCHX RETURN
  962.  
  963. TCH5 SX3 X3-1
  964. NZ X3,TCH6 IF NOT SET INDEX OPTION
  965. BX6 X4 SET INDEX
  966. SA6 INDX
  967. SX2 -B1 IGNORE CHARACTER
  968. EQ TCHX RETURN
  969.  
  970. TCH6 MESSAGE MSGB,3 * BAD FCOPY CONVERSION TABLE.*
  971. ABORT
  972. WCH SPACE 4,15
  973. ** WCH - WRITE CHARACTER.
  974. *
  975. * ENTRY (X2) = CHARACTER TO WRITE.
  976. * (B3) = CURRENT POSITION IN OUTPUT WORD.
  977. * (B7) = CHARACTER LENGTH.
  978. *
  979. * EXIT (B3) = NEW POSITION IN OUTPUT WORD.
  980. * (ENDF) = 1 IF EOI DETECTED.
  981. *
  982. * USES X - 0, 1, 2, 3, 5, 6, 7.
  983. * A - 1, 2, 3, 5, 6, 7.
  984. * B - 3, 6, 7.
  985. *
  986. * MACROS WRITEF, WRITEO, WRITER.
  987.  
  988.  
  989. WCH10 SX7 B1+ SET END FLAG
  990. SA7 ENDF
  991.  
  992. WCH SUBR ENTRY/EXIT
  993. SA1 TCVTL
  994. SX1 X1+B1
  995. IX6 X2-X1
  996. SX5 X2-EORC
  997. SA1 OWRD GET OUTPUT WORD
  998. PL X6,WCH7 IF 12 BIT CHARACTER
  999. NG X5,WCH7 IF NOT EOR, EOF, OR EOI
  1000. SB6 B3-60D
  1001. SX6 B3
  1002. SA6 UBC
  1003. ZR B6,WCH4 IF OUTPUT WORD EMPTY
  1004. BX6 X1
  1005. SB3 60 RESET CURRENT POSITION
  1006. WRITEO N
  1007. BX7 X7-X7 CLEAR OUTPUT WORD
  1008. SA7 OWRD
  1009. WCH4 SA1 STPO
  1010. NZ X1,WCH10 IF OUTPUT FILE ON STRANGER TAPE
  1011.  
  1012. * PROCESS EOR.
  1013.  
  1014. NZ X5,WCH5 IF NOT EOR
  1015. SA5 RCRD GET RECORD NUMBER
  1016. SA3 N+1 FET+1
  1017. AX3 48
  1018. SX3 X3-2ROD OPTICAL DISK DEVICE TYPE
  1019. NZ X3,WCH4.1 IF NOT *OD*
  1020. SA3 N+6 FET+6
  1021. SA2 UBC UNUSED BIT COUNT
  1022. MX0 30
  1023. LX2 24
  1024. BX3 X0*X3
  1025. BX6 X2+X3
  1026. SA6 N+6
  1027. WCH4.1 WRITER N,R
  1028. SX7 X5+B1 INCREMENT RECORD NUMBER
  1029. SA7 A5
  1030. SX6 B1+ RESET LINE NUMBER
  1031. SA6 LINE
  1032. EQ WCHX RETURN
  1033.  
  1034. * PROCESS EOF.
  1035.  
  1036. WCH5 SX5 X5-1
  1037. NZ X5,WCH6 IF NOT EOF
  1038. SA5 FILE GET FILE NUMBER
  1039. WRITEF N,R
  1040. SX7 X5+B1 INCREMENT FILE NUMBER
  1041. SX6 B1+ RESET LINE AND RECORD NUMBERS
  1042. SA7 A5
  1043. SA6 LINE
  1044. SA6 RCRD
  1045. EQ WCHX RETURN
  1046.  
  1047. * PROCESS EOI.
  1048.  
  1049. WCH6 RECALL N
  1050. SA3 N+2 GET *IN* POINTER
  1051. SA2 N+3 GET *OUT* POINTER
  1052. IX3 X3-X2
  1053. ZR X3,WCH10 IF NO MORE WORDS TO WRITE
  1054. WRITER N FLUSH BUFFER
  1055. EQ WCH10 SET END FLAG
  1056.  
  1057. * WRITE CHARACTER.
  1058.  
  1059. WCH7 GT B7,B3,WCH8 IF NOT ENOUGH ROOM FOR CHARACTER IN WORD
  1060. SB3 B3-B7 DECREMENT CURRENT POSITION
  1061. LX2 B3
  1062. BX6 X1+X2
  1063. SA6 OWRD SAVE OUTPUT WORD
  1064. EQ WCHX RETURN
  1065.  
  1066. * START A NEW OUTPUT WORD.
  1067.  
  1068. WCH8 SB6 B7 SET DEFAULT REMAINDER
  1069. BX6 X1
  1070. ZR B3,WCH9 IF NO ROOM IN WORD
  1071. SB6 B7-B3 FORM AND INSERT PARTIAL CHARACTER
  1072. AX3 X2,B6
  1073. BX6 X1+X3
  1074. WCH9 SB3 60D RESET CURRENT POSITION
  1075. SB3 B3-B6 DECREMENT CURRENT POSITION
  1076. LX2 B3
  1077. MX0 1
  1078. SB7 B6-B1
  1079. AX0 X0,B7
  1080. BX7 X0*X2 SET NEW OUTPUT WORD
  1081. SA7 OWRD
  1082. WRITEO N WRITE OLD OUTPUT WORD
  1083. EQ WCHX RETURN
  1084. WTB SPACE 4,20
  1085. ** WTB - WRITE TAPE BLOCK.
  1086. *
  1087. * ENTRY (B7) = OUTPUT CHARACTER SIZE.
  1088. * (IPTR) = ADDRESS TO USE FOR BLOCK HEADER WORD.
  1089. * (ENDF) = SET IF EOI REACHED IN INPUT FILE.
  1090. * (OBHW) = OUTPUT BLOCK HEADER WORD FOR FULL BLOCK.
  1091. * (OLCT) = COUNT OF REMAINING LINES IN OUTPUT BLOCK.
  1092. *
  1093. * EXIT BLOCK WRITTEN TO STRANGER TAPE.
  1094. * (IPTR) UPDATED.
  1095. * (OLCT) RESET.
  1096. *
  1097. * USES X - 1, 2, 3, 6.
  1098. * A - 1, 2, 3, 6.
  1099. * B - NONE.
  1100. *
  1101. * CALLS FBH.
  1102. *
  1103. * MACROS WRITEN, WRITEO.
  1104.  
  1105.  
  1106. WTB SUBR ENTRY/EXIT
  1107. SA3 OBHW GET FULL SIZE OUTPUT BLOCK HEADER WORD
  1108. SA2 OLCT
  1109. SA1 FL
  1110. BX6 X3
  1111. ZR X2,WTB1 IF BLOCK FULL SIZE
  1112. SA3 LB
  1113. IX2 X3-X2 COMPUTE LINES USED IN BLOCK
  1114. ZR X2,WTB2 IF EMPTY BLOCK
  1115. RJ FBH FORM BLOCK HEADER WORD
  1116. WTB1 SA2 IPTR SET HEADER WORD IN BLOCK
  1117. SA6 X2+
  1118. WRITEN N,R WRITE BLOCK
  1119. WTB2 SA1 ENDF
  1120. NZ X1,WTBX IF END OF INFORMATION, RETURN
  1121.  
  1122. * START NEW BLOCK.
  1123.  
  1124. SA3 N+2 GET LOCATION FOR NEXT BLOCK HEADER WORD
  1125. BX6 X3
  1126. SA6 IPTR
  1127. WRITEO N RESERVE WORD FOR BLOCK HEADER WORD
  1128. SA1 LB RESET OUTPUT LINE COUNT
  1129. BX6 X1
  1130. SA6 OLCT
  1131. EQ WTBX RETURN
  1132. WZB SPACE 4,15
  1133. ** WZB - WRITE ZERO BYTE.
  1134. *
  1135. * ENTRY (B3) = POSITION IN OUTPUT WORD.
  1136. *
  1137. * EXIT (B3) UPDATED.
  1138. *
  1139. * USES X - 1, 6, 7.
  1140. * A - 1, 6, 7.
  1141. * B - 3.
  1142. *
  1143. * MACROS WRITEO.
  1144.  
  1145.  
  1146. WZB SUBR ENTRY/EXIT
  1147. SA1 OWRD GET OUTPUT WORD
  1148. SB6 12D
  1149. BX6 X1
  1150. WRITEO N
  1151. GE B3,B6,WZB1 IF WORD WRITTEN WAS PROPER ZERO BYTE
  1152. SX6 B0+
  1153. WRITEO N
  1154. WZB1 BX7 X7-X7 ZERO OUTPUT WORD
  1155. SA7 OWRD
  1156. SB3 60D RESET CURRENT POSITION
  1157. EQ WZBX RETURN
  1158. SPACE 4,10
  1159. * COMMON DECKS.
  1160.  
  1161.  
  1162. *CALL COMCCDD
  1163. *CALL,COMCCOD
  1164. *CALL COMCCIO
  1165. *CALL,COMCLFM
  1166. *CALL,COMCRDO
  1167. *CALL COMCRDW
  1168. *CALL COMCSYS
  1169. *CALL,COMCWTO
  1170. *CALL COMCWTW
  1171. *CALL,COMTCVT
  1172. TITLE CONVERSION BASE TABLES
  1173. SPACE 4,10
  1174. * BUFFERS.
  1175.  
  1176.  
  1177. USE BUFFERS
  1178.  
  1179. TCVT BSSZ MCVTL CONVERSION TABLE
  1180. WBUF BSSZ WBUFL WORKING WRITE BUFFER
  1181. BUF BSS 0
  1182. PBUF EQU BUF OLD BUFFER
  1183. NBUF EQU PBUF+PBUFL NEW BUFFER
  1184. RFL= EQU NBUF+NBUFL+4500B
  1185. SPACE 4,10
  1186. ** CONVERSION BASE TABLES.
  1187.  
  1188.  
  1189. BASE O
  1190. SPACE 4,10
  1191. TD64 BSS 0 64 CHARACTER DISPLAY CODE
  1192. QUAL COMTCVT
  1193. LOC 0
  1194.  
  1195. * TO FROM
  1196. * DIS64 DIS64
  1197.  
  1198. CONV T64D000,F64D000 :
  1199. CONV T64D001,F64D001 A
  1200. CONV T64D002,F64D002 B
  1201. CONV T64D003,F64D003 C
  1202. CONV T64D004,F64D004 D
  1203. CONV T64D005,F64D005 E
  1204. CONV T64D006,F64D006 F
  1205. CONV T64D007,F64D007 G
  1206. CONV T64D010,F64D010 H
  1207. CONV T64D011,F64D011 I
  1208. CONV T64D012,F64D012 J
  1209. CONV T64D013,F64D013 K
  1210. CONV T64D014,F64D014 L
  1211. CONV T64D015,F64D015 M
  1212. CONV T64D016,F64D016 N
  1213. CONV T64D017,F64D017 O
  1214. CONV T64D020,F64D020 P
  1215. CONV T64D021,F64D021 Q
  1216. CONV T64D022,F64D022 R
  1217. CONV T64D023,F64D023 S
  1218. CONV T64D024,F64D024 T
  1219. CONV T64D025,F64D025 U
  1220. CONV T64D026,F64D026 V
  1221. CONV T64D027,F64D027 W
  1222. CONV T64D030,F64D030 X
  1223. CONV T64D031,F64D031 Y
  1224. CONV T64D032,F64D032 Z
  1225. CONV T64D033,F64D033 0
  1226. CONV T64D034,F64D034 1
  1227. CONV T64D035,F64D035 2
  1228. CONV T64D036,F64D036 3
  1229. CONV T64D037,F64D037 4
  1230. CONV T64D040,F64D040 BLANK 5
  1231. CONV T64D041,F64D041 ! 6
  1232. CONV T64D042,F64D042 " 7
  1233. CONV T64D043,F64D043 # 8
  1234. CONV T64D044,F64D044 $ 9
  1235. CONV T64D045,F64D045 % +
  1236. CONV T64D046,F64D046 & -
  1237. CONV T64D047,F64D047 ' *
  1238. CONV T64D050,F64D050 ( /
  1239. CONV T64D051,F64D051 ) (
  1240. CONV T64D052,F64D052 * )
  1241. CONV T64D053,F64D053 + $
  1242. CONV T64D054,F64D054 , =
  1243. CONV T64D055,F64D055 - BLANK
  1244. CONV T64D056,F64D056 . ,
  1245. CONV T64D057,F64D057 / .
  1246. CONV T64D060,F64D060 0 #
  1247. CONV T64D061,F64D061 1 [
  1248. CONV T64D062,F64D062 2 ]
  1249. CONV T64D063,F64D063 3 %
  1250. CONV T64D064,F64D064 4 "
  1251. CONV T64D065,F64D065 5 _
  1252. CONV T64D066,F64D066 6 !
  1253. CONV T64D067,F64D067 7 &
  1254. CONV T64D070,F64D070 8 '
  1255. CONV T64D071,F64D071 9 ?
  1256. CONV T64D072,F64D072 : <
  1257. CONV T64D073,F64D073 ; >
  1258. CONV T64D074,F64D074 < @
  1259. CONV T64D075,F64D075 = \
  1260. CONV T64D076,F64D076 > ^
  1261. CONV T64D077,F64D077 ? ;
  1262. CONV T64D100,F64D100 @
  1263. CONV T64D101,F64D101 A
  1264. CONV T64D102,F64D102 B
  1265. CONV T64D103,F64D103 C
  1266. CONV T64D104,F64D104 D
  1267. CONV T64D105,F64D105 E
  1268. CONV T64D106,F64D106 F
  1269. CONV T64D107,F64D107 G
  1270. CONV T64D110,F64D110 H
  1271. CONV T64D111,F64D111 I
  1272. CONV T64D112,F64D112 J
  1273. CONV T64D113,F64D113 K
  1274. CONV T64D114,F64D114 L
  1275. CONV T64D115,F64D115 M
  1276. CONV T64D116,F64D116 N
  1277. CONV T64D117,F64D117 O
  1278. CONV T64D120,F64D120 P
  1279. CONV T64D121,F64D121 Q
  1280. CONV T64D122,F64D122 R
  1281. CONV T64D123,F64D123 S
  1282. CONV T64D124,F64D124 T
  1283. CONV T64D125,F64D125 U
  1284. CONV T64D126,F64D126 V
  1285. CONV T64D127,F64D127 W
  1286. CONV T64D130,F64D130 X
  1287. CONV T64D131,F64D131 Y
  1288. CONV T64D132,F64D132 Z
  1289. CONV T64D133,F64D133 [
  1290. CONV T64D134,F64D134 \
  1291. CONV T64D135,F64D135 ]
  1292. CONV T64D136,F64D136 ^
  1293. CONV T64D137,F64D137 _
  1294. CONV T64D140,F64D140
  1295. CONV T64D141,F64D141 A
  1296. CONV T64D142,F64D142 B
  1297. CONV T64D143,F64D143 C
  1298. CONV T64D144,F64D144 D
  1299. CONV T64D145,F64D145 E
  1300. CONV T64D146,F64D146 F
  1301. CONV T64D147,F64D147 G
  1302. CONV T64D150,F64D150 H
  1303. CONV T64D151,F64D151 I
  1304. CONV T64D152,F64D152 J
  1305. CONV T64D153,F64D153 K
  1306. CONV T64D154,F64D154 L
  1307. CONV T64D155,F64D155 M
  1308. CONV T64D156,F64D156 N
  1309. CONV T64D157,F64D157 O
  1310. CONV T64D160,F64D160 P
  1311. CONV T64D161,F64D161 Q
  1312. CONV T64D162,F64D162 R
  1313. CONV T64D163,F64D163 S
  1314. CONV T64D164,F64D164 T
  1315. CONV T64D165,F64D165 U
  1316. CONV T64D166,F64D166 V
  1317. CONV T64D167,F64D167 W
  1318. CONV T64D170,F64D170 X
  1319. CONV T64D171,F64D171 Y
  1320. CONV T64D172,F64D172 Z
  1321. CONV T64D173,F64D173 [
  1322. CONV T64D174,F64D174 \
  1323. CONV T64D175,F64D175 ]
  1324. CONV T64D176,F64D176 ^
  1325. CONV T64D177,F64D177
  1326.  
  1327. CONV T64D200,F64D200
  1328. CONV T64D201,F64D201
  1329. CONV T64D202,F64D202
  1330. CONV T64D203,F64D203
  1331. CONV T64D204,F64D204
  1332. CONV T64D205,F64D205
  1333. CONV T64D206,F64D206
  1334. CONV T64D207,F64D207
  1335. CONV T64D210,F64D210
  1336. CONV T64D211,F64D211
  1337. CONV T64D212,F64D212
  1338. CONV T64D213,F64D213
  1339. CONV T64D214,F64D214
  1340. CONV T64D215,F64D215
  1341. CONV T64D216,F64D216
  1342. CONV T64D217,F64D217
  1343. CONV T64D220,F64D220
  1344. CONV T64D221,F64D221
  1345. CONV T64D222,F64D222
  1346. CONV T64D223,F64D223
  1347. CONV T64D224,F64D224
  1348. CONV T64D225,F64D225
  1349. CONV T64D226,F64D226
  1350. CONV T64D227,F64D227
  1351. CONV T64D230,F64D230
  1352. CONV T64D231,F64D231
  1353. CONV T64D232,F64D232
  1354. CONV T64D233,F64D233
  1355. CONV T64D234,F64D234
  1356. CONV T64D235,F64D235
  1357. CONV T64D236,F64D236
  1358. CONV T64D237,F64D237
  1359. CONV T64D240,F64D240 BLANK
  1360. CONV T64D241,F64D241 !
  1361. CONV T64D242,F64D242 "
  1362. CONV T64D243,F64D243 #
  1363. CONV T64D244,F64D244 $
  1364. CONV T64D245,F64D245 %
  1365. CONV T64D246,F64D246 &
  1366. CONV T64D247,F64D247 '
  1367. CONV T64D250,F64D250 (
  1368. CONV T64D251,F64D251 )
  1369. CONV T64D252,F64D252 *
  1370. CONV T64D253,F64D253 +
  1371. CONV T64D254,F64D254 ,
  1372. CONV T64D255,F64D255 -
  1373. CONV T64D256,F64D256 .
  1374. CONV T64D257,F64D257 /
  1375. CONV T64D260,F64D260 0
  1376. CONV T64D261,F64D261 1
  1377. CONV T64D262,F64D262 2
  1378. CONV T64D263,F64D263 3
  1379. CONV T64D264,F64D264 4
  1380. CONV T64D265,F64D265 5
  1381. CONV T64D266,F64D266 6
  1382. CONV T64D267,F64D267 7
  1383. CONV T64D270,F64D270 8
  1384. CONV T64D271,F64D271 9
  1385. CONV T64D272,F64D272 :
  1386. CONV T64D273,F64D273 ;
  1387. CONV T64D274,F64D274 <
  1388. CONV T64D275,F64D275 =
  1389. CONV T64D276,F64D276 >
  1390. CONV T64D277,F64D277 ?
  1391. CONV T64D300,F64D300 @
  1392. CONV T64D301,F64D301 A
  1393. CONV T64D302,F64D302 B
  1394. CONV T64D303,F64D303 C
  1395. CONV T64D304,F64D304 D
  1396. CONV T64D305,F64D305 E
  1397. CONV T64D306,F64D306 F
  1398. CONV T64D307,F64D307 G
  1399. CONV T64D310,F64D310 H
  1400. CONV T64D311,F64D311 I
  1401. CONV T64D312,F64D312 J
  1402. CONV T64D313,F64D313 K
  1403. CONV T64D314,F64D314 L
  1404. CONV T64D315,F64D315 M
  1405. CONV T64D316,F64D316 N
  1406. CONV T64D317,F64D317 O
  1407. CONV T64D320,F64D320 P
  1408. CONV T64D321,F64D321 Q
  1409. CONV T64D322,F64D322 R
  1410. CONV T64D323,F64D323 S
  1411. CONV T64D324,F64D324 T
  1412. CONV T64D325,F64D325 U
  1413. CONV T64D326,F64D326 V
  1414. CONV T64D327,F64D327 W
  1415. CONV T64D330,F64D330 X
  1416. CONV T64D331,F64D331 Y
  1417. CONV T64D332,F64D332 Z
  1418. CONV T64D333,F64D333 [
  1419. CONV T64D334,F64D334 \
  1420. CONV T64D335,F64D335 ]
  1421. CONV T64D336,F64D336 ^
  1422. CONV T64D337,F64D337 _
  1423. CONV T64D340,F64D340
  1424. CONV T64D341,F64D341 A
  1425. CONV T64D342,F64D342 B
  1426. CONV T64D343,F64D343 C
  1427. CONV T64D344,F64D344 D
  1428. CONV T64D345,F64D345 E
  1429. CONV T64D346,F64D346 F
  1430. CONV T64D347,F64D347 G
  1431. CONV T64D350,F64D350 H
  1432. CONV T64D351,F64D351 I
  1433. CONV T64D352,F64D352 J
  1434. CONV T64D353,F64D353 K
  1435. CONV T64D354,F64D354 L
  1436. CONV T64D355,F64D355 M
  1437. CONV T64D356,F64D356 N
  1438. CONV T64D357,F64D357 O
  1439. CONV T64D360,F64D360 P
  1440. CONV T64D361,F64D361 Q
  1441. CONV T64D362,F64D362 R
  1442. CONV T64D363,F64D363 S
  1443. CONV T64D364,F64D364 T
  1444. CONV T64D365,F64D365 U
  1445. CONV T64D366,F64D366 V
  1446. CONV T64D367,F64D367 W
  1447. CONV T64D370,F64D370 X
  1448. CONV T64D371,F64D371 Y
  1449. CONV T64D372,F64D372 Z
  1450. CONV T64D373,F64D373 [
  1451. CONV T64D374,F64D374 \
  1452. CONV T64D375,F64D375 ]
  1453. CONV T64D376,F64D376 ^
  1454. CONV T64D377,F64D377
  1455.  
  1456. CONV ZBCH,ZBCH ZB ZB
  1457. CONV EORC,EORC EOR EOR
  1458. CONV EOFC,EOFC EOF EOF
  1459. CONV EOIC,EOIC EOI EOI
  1460.  
  1461. LOC *O
  1462. QUAL *
  1463. SPACE 4,10
  1464. TD63 BSS 0 63 CHARACTER DISPLAY CODE
  1465. QUAL COMTCVT
  1466. LOC 0
  1467.  
  1468. * TO FROM
  1469. * DIS63 DIS63
  1470.  
  1471. CONV T63D000,F63D000
  1472. CONV T63D001,F63D001 A
  1473. CONV T63D002,F63D002 B
  1474. CONV T63D003,F63D003 C
  1475. CONV T63D004,F63D004 D
  1476. CONV T63D005,F63D005 E
  1477. CONV T63D006,F63D006 F
  1478. CONV T63D007,F63D007 G
  1479. CONV T63D010,F63D010 H
  1480. CONV T63D011,F63D011 I
  1481. CONV T63D012,F63D012 J
  1482. CONV T63D013,F63D013 K
  1483. CONV T63D014,F63D014 L
  1484. CONV T63D015,F63D015 M
  1485. CONV T63D016,F63D016 N
  1486. CONV T63D017,F63D017 O
  1487. CONV T63D020,F63D020 P
  1488. CONV T63D021,F63D021 Q
  1489. CONV T63D022,F63D022 R
  1490. CONV T63D023,F63D023 S
  1491. CONV T63D024,F63D024 T
  1492. CONV T63D025,F63D025 U
  1493. CONV T63D026,F63D026 V
  1494. CONV T63D027,F63D027 W
  1495. CONV T63D030,F63D030 X
  1496. CONV T63D031,F63D031 Y
  1497. CONV T63D032,F63D032 Z
  1498. CONV T63D033,F63D033 0
  1499. CONV T63D034,F63D034 1
  1500. CONV T63D035,F63D035 2
  1501. CONV T63D036,F63D036 3
  1502. CONV T63D037,F63D037 4
  1503. CONV T63D040,F63D040 BLANK 5
  1504. CONV T63D041,F63D041 ! 6
  1505. CONV T63D042,F63D042 " 7
  1506. CONV T63D043,F63D043 # 8
  1507. CONV T63D044,F63D044 $ 9
  1508. CONV T63D045,F63D045 BLANK
  1509. CONV T63D046,F63D046 & -
  1510. CONV T63D047,F63D047 ' *
  1511. CONV T63D050,F63D050 ( /
  1512. CONV T63D051,F63D051 ) (
  1513. CONV T63D052,F63D052 * )
  1514. CONV T63D053,F63D053 + $
  1515. CONV T63D054,F63D054 , =
  1516. CONV T63D055,F63D055 - BLANK
  1517. CONV T63D056,F63D056 . ,
  1518. CONV T63D057,F63D057 / .
  1519. CONV T63D060,F63D060 0 #
  1520. CONV T63D061,F63D061 1 [
  1521. CONV T63D062,F63D062 2 ]
  1522. CONV T63D063,F63D063 3 %
  1523. CONV T63D064,F63D064 4 "
  1524. CONV T63D065,F63D065 5 _
  1525. CONV T63D066,F63D066 6 !
  1526. CONV T63D067,F63D067 7 &
  1527. CONV T63D070,F63D070 8 '
  1528. CONV T63D071,F63D071 9 ?
  1529. CONV T63D072,F63D072 : <
  1530. CONV T63D073,F63D073 ; >
  1531. CONV T63D074,F63D074 < @
  1532. CONV T63D075,F63D075 = \
  1533. CONV T63D076,F63D076 > ^
  1534. CONV T63D077,F63D077 ? ;
  1535. CONV T63D100,F63D100 @
  1536. CONV T63D101,F63D101 A
  1537. CONV T63D102,F63D102 B
  1538. CONV T63D103,F63D103 C
  1539. CONV T63D104,F63D104 D
  1540. CONV T63D105,F63D105 E
  1541. CONV T63D106,F63D106 F
  1542. CONV T63D107,F63D107 G
  1543. CONV T63D110,F63D110 H
  1544. CONV T63D111,F63D111 I
  1545. CONV T63D112,F63D112 J
  1546. CONV T63D113,F63D113 K
  1547. CONV T63D114,F63D114 L
  1548. CONV T63D115,F63D115 M
  1549. CONV T63D116,F63D116 N
  1550. CONV T63D117,F63D117 O
  1551. CONV T63D120,F63D120 P
  1552. CONV T63D121,F63D121 Q
  1553. CONV T63D122,F63D122 R
  1554. CONV T63D123,F63D123 S
  1555. CONV T63D124,F63D124 T
  1556. CONV T63D125,F63D125 U
  1557. CONV T63D126,F63D126 V
  1558. CONV T63D127,F63D127 W
  1559. CONV T63D130,F63D130 X
  1560. CONV T63D131,F63D131 Y
  1561. CONV T63D132,F63D132 Z
  1562. CONV T63D133,F63D133 [
  1563. CONV T63D134,F63D134 \
  1564. CONV T63D135,F63D135 ]
  1565. CONV T63D136,F63D136 ^
  1566. CONV T63D137,F63D137 _
  1567. CONV T63D140,F63D140
  1568. CONV T63D141,F63D141 A
  1569. CONV T63D142,F63D142 B
  1570. CONV T63D143,F63D143 C
  1571. CONV T63D144,F63D144 D
  1572. CONV T63D145,F63D145 E
  1573. CONV T63D146,F63D146 F
  1574. CONV T63D147,F63D147 G
  1575. CONV T63D150,F63D150 H
  1576. CONV T63D151,F63D151 I
  1577. CONV T63D152,F63D152 J
  1578. CONV T63D153,F63D153 K
  1579. CONV T63D154,F63D154 L
  1580. CONV T63D155,F63D155 M
  1581. CONV T63D156,F63D156 N
  1582. CONV T63D157,F63D157 O
  1583. CONV T63D160,F63D160 P
  1584. CONV T63D161,F63D161 Q
  1585. CONV T63D162,F63D162 R
  1586. CONV T63D163,F63D163 S
  1587. CONV T63D164,F63D164 T
  1588. CONV T63D165,F63D165 U
  1589. CONV T63D166,F63D166 V
  1590. CONV T63D167,F63D167 W
  1591. CONV T63D170,F63D170 X
  1592. CONV T63D171,F63D171 Y
  1593. CONV T63D172,F63D172 Z
  1594. CONV T63D173,F63D173 [
  1595. CONV T63D174,F63D174 \
  1596. CONV T63D175,F63D175 ]
  1597. CONV T63D176,F63D176 ^
  1598. CONV T63D177,F63D177
  1599.  
  1600. CONV T63D200,F63D200
  1601. CONV T63D201,F63D201
  1602. CONV T63D202,F63D202
  1603. CONV T63D203,F63D203
  1604. CONV T63D204,F63D204
  1605. CONV T63D205,F63D205
  1606. CONV T63D206,F63D206
  1607. CONV T63D207,F63D207
  1608. CONV T63D210,F63D210
  1609. CONV T63D211,F63D211
  1610. CONV T63D212,F63D212
  1611. CONV T63D213,F63D213
  1612. CONV T63D214,F63D214
  1613. CONV T63D215,F63D215
  1614. CONV T63D216,F63D216
  1615. CONV T63D217,F63D217
  1616. CONV T63D220,F63D220
  1617. CONV T63D221,F63D221
  1618. CONV T63D222,F63D222
  1619. CONV T63D223,F63D223
  1620. CONV T63D224,F63D224
  1621. CONV T63D225,F63D225
  1622. CONV T63D226,F63D226
  1623. CONV T63D227,F63D227
  1624. CONV T63D230,F63D230
  1625. CONV T63D231,F63D231
  1626. CONV T63D232,F63D232
  1627. CONV T63D233,F63D233
  1628. CONV T63D234,F63D234
  1629. CONV T63D235,F63D235
  1630. CONV T63D236,F63D236
  1631. CONV T63D237,F63D237
  1632. CONV T63D240,F63D240 BLANK
  1633. CONV T63D241,F63D241 !
  1634. CONV T63D242,F63D242 "
  1635. CONV T63D243,F63D243 #
  1636. CONV T63D244,F63D244 $
  1637. CONV T63D245,F63D245 BLANK
  1638. CONV T63D246,F63D246 &
  1639. CONV T63D247,F63D247 '
  1640. CONV T63D250,F63D250 (
  1641. CONV T63D251,F63D251 )
  1642. CONV T63D252,F63D252 *
  1643. CONV T63D253,F63D253 +
  1644. CONV T63D254,F63D254 ,
  1645. CONV T63D255,F63D255 -
  1646. CONV T63D256,F63D256 .
  1647. CONV T63D257,F63D257 /
  1648. CONV T63D260,F63D260 0
  1649. CONV T63D261,F63D261 1
  1650. CONV T63D262,F63D262 2
  1651. CONV T63D263,F63D263 3
  1652. CONV T63D264,F63D264 4
  1653. CONV T63D265,F63D265 5
  1654. CONV T63D266,F63D266 6
  1655. CONV T63D267,F63D267 7
  1656. CONV T63D270,F63D270 8
  1657. CONV T63D271,F63D271 9
  1658. CONV T63D272,F63D272 :
  1659. CONV T63D273,F63D273 ;
  1660. CONV T63D274,F63D274 <
  1661. CONV T63D275,F63D275 =
  1662. CONV T63D276,F63D276 >
  1663. CONV T63D277,F63D277 ?
  1664. CONV T63D300,F63D300 @
  1665. CONV T63D301,F63D301 A
  1666. CONV T63D302,F63D302 B
  1667. CONV T63D303,F63D303 C
  1668. CONV T63D304,F63D304 D
  1669. CONV T63D305,F63D305 E
  1670. CONV T63D306,F63D306 F
  1671. CONV T63D307,F63D307 G
  1672. CONV T63D310,F63D310 H
  1673. CONV T63D311,F63D311 I
  1674. CONV T63D312,F63D312 J
  1675. CONV T63D313,F63D313 K
  1676. CONV T63D314,F63D314 L
  1677. CONV T63D315,F63D315 M
  1678. CONV T63D316,F63D316 N
  1679. CONV T63D317,F63D317 O
  1680. CONV T63D320,F63D320 P
  1681. CONV T63D321,F63D321 Q
  1682. CONV T63D322,F63D322 R
  1683. CONV T63D323,F63D323 S
  1684. CONV T63D324,F63D324 T
  1685. CONV T63D325,F63D325 U
  1686. CONV T63D326,F63D326 V
  1687. CONV T63D327,F63D327 W
  1688. CONV T63D330,F63D330 X
  1689. CONV T63D331,F63D331 Y
  1690. CONV T63D332,F63D332 Z
  1691. CONV T63D333,F63D333 [
  1692. CONV T63D334,F63D334 \
  1693. CONV T63D335,F63D335 ]
  1694. CONV T63D336,F63D336 ^
  1695. CONV T63D337,F63D337 _
  1696. CONV T63D340,F63D340
  1697. CONV T63D341,F63D341 A
  1698. CONV T63D342,F63D342 B
  1699. CONV T63D343,F63D343 C
  1700. CONV T63D344,F63D344 D
  1701. CONV T63D345,F63D345 E
  1702. CONV T63D346,F63D346 F
  1703. CONV T63D347,F63D347 G
  1704. CONV T63D350,F63D350 H
  1705. CONV T63D351,F63D351 I
  1706. CONV T63D352,F63D352 J
  1707. CONV T63D353,F63D353 K
  1708. CONV T63D354,F63D354 L
  1709. CONV T63D355,F63D355 M
  1710. CONV T63D356,F63D356 N
  1711. CONV T63D357,F63D357 O
  1712. CONV T63D360,F63D360 P
  1713. CONV T63D361,F63D361 Q
  1714. CONV T63D362,F63D362 R
  1715. CONV T63D363,F63D363 S
  1716. CONV T63D364,F63D364 T
  1717. CONV T63D365,F63D365 U
  1718. CONV T63D366,F63D366 V
  1719. CONV T63D367,F63D367 W
  1720. CONV T63D370,F63D370 X
  1721. CONV T63D371,F63D371 Y
  1722. CONV T63D372,F63D372 Z
  1723. CONV T63D373,F63D373 [
  1724. CONV T63D374,F63D374 \
  1725. CONV T63D375,F63D375 ]
  1726. CONV T63D376,F63D376 ^
  1727. CONV T63D377,F63D377
  1728.  
  1729. CONV ZBCH,ZBCH ZB ZB
  1730. CONV EORC,EORC EOR EOR
  1731. CONV EOFC,EOFC EOF EOF
  1732. CONV EOIC,EOIC EOI EOI
  1733.  
  1734. LOC *O
  1735. QUAL *
  1736. SPACE 4,10
  1737. TA64 BSS 0 64 CHARACTER ASCII 6/12
  1738. QUAL COMTCVT
  1739. LOC 0
  1740.  
  1741. * TO FROM
  1742. * ASCII64 ASCII64
  1743.  
  1744. CONV T64A000,F64A000 NUL :
  1745. CONV T64A001,F64A001 SOH A
  1746. CONV T64A002,F64A002 STX B
  1747. CONV T64A003,F64A003 ETX C
  1748. CONV T64A004,F64A004 EOT D
  1749. CONV T64A005,F64A005 ENQ E
  1750. CONV T64A006,F64A006 ACK F
  1751. CONV T64A007,F64A007 BEL G
  1752. CONV T64A010,F64A010 BS H
  1753. CONV T64A011,F64A011 HT I
  1754. CONV T64A012,F64A012 LF J
  1755. CONV T64A013,F64A013 VT K
  1756. CONV T64A014,F64A014 FF L
  1757. CONV T64A015,F64A015 CR M
  1758. CONV T64A016,F64A016 SO N
  1759. CONV T64A017,F64A017 SI O
  1760. CONV T64A020,F64A020 DLE P
  1761. CONV T64A021,F64A021 DC1 Q
  1762. CONV T64A022,F64A022 DC2 R
  1763. CONV T64A023,F64A023 DC3 S
  1764. CONV T64A024,F64A024 DC4 T
  1765. CONV T64A025,F64A025 NAK U
  1766. CONV T64A026,F64A026 SYN V
  1767. CONV T64A027,F64A027 ETB W
  1768. CONV T64A030,F64A030 CAN X
  1769. CONV T64A031,F64A031 EM Y
  1770. CONV T64A032,F64A032 SUB Z
  1771. CONV T64A033,F64A033 ESC 0
  1772. CONV T64A034,F64A034 FS 1
  1773. CONV T64A035,F64A035 GS 2
  1774. CONV T64A036,F64A036 RS 3
  1775. CONV T64A037,F64A037 US 4
  1776. CONV T64A040,F64A040 BLANK 5
  1777. CONV T64A041,F64A041 ! 6
  1778. CONV T64A042,F64A042 " 7
  1779. CONV T64A043,F64A043 # 8
  1780. CONV T64A044,F64A044 $ 9
  1781. CONV T64A045,F64A045 % +
  1782. CONV T64A046,F64A046 & -
  1783. CONV T64A047,F64A047 ' *
  1784. CONV T64A050,F64A050 ( /
  1785. CONV T64A051,F64A051 ) (
  1786. CONV T64A052,F64A052 * )
  1787. CONV T64A053,F64A053 + $
  1788. CONV T64A054,F64A054 , =
  1789. CONV T64A055,F64A055 - BLANK
  1790. CONV T64A056,F64A056 . ,
  1791. CONV T64A057,F64A057 / .
  1792. CONV T64A060,F64A060 0 #
  1793. CONV T64A061,F64A061 1 [
  1794. CONV T64A062,F64A062 2 ]
  1795. CONV T64A063,F64A063 3 %
  1796. CONV T64A064,F64A064 4 "
  1797. CONV T64A065,F64A065 5 _
  1798. CONV T64A066,F64A066 6 !
  1799. CONV T64A067,F64A067 7 &
  1800. CONV T64A070,F64A070 8 '
  1801. CONV T64A071,F64A071 9 ?
  1802. CONV T64A072,F64A072 : <
  1803. CONV T64A073,F64A073 ; >
  1804. CONV T64A074,F64A074 <
  1805. CONV T64A075,F64A075 = \
  1806. CONV T64A076,F64A076 >
  1807. CONV T64A077,F64A077 ? ;
  1808. CONV T64A100,F64A100 @
  1809. CONV T64A101,F64A101 A
  1810. CONV T64A102,F64A102 B
  1811. CONV T64A103,F64A103 C
  1812. CONV T64A104,F64A104 D
  1813. CONV T64A105,F64A105 E
  1814. CONV T64A106,F64A106 F
  1815. CONV T64A107,F64A107 G
  1816. CONV T64A110,F64A110 H
  1817. CONV T64A111,F64A111 I
  1818. CONV T64A112,F64A112 J
  1819. CONV T64A113,F64A113 K
  1820. CONV T64A114,F64A114 L
  1821. CONV T64A115,F64A115 M
  1822. CONV T64A116,F64A116 N
  1823. CONV T64A117,F64A117 O
  1824. CONV T64A120,F64A120 P
  1825. CONV T64A121,F64A121 Q
  1826. CONV T64A122,F64A122 R
  1827. CONV T64A123,F64A123 S
  1828. CONV T64A124,F64A124 T
  1829. CONV T64A125,F64A125 U
  1830. CONV T64A126,F64A126 V
  1831. CONV T64A127,F64A127 W
  1832. CONV T64A130,F64A130 X
  1833. CONV T64A131,F64A131 Y
  1834. CONV T64A132,F64A132 Z
  1835. CONV T64A133,F64A133 [
  1836. CONV T64A134,F64A134 \
  1837. CONV T64A135,F64A135 ]
  1838. CONV T64A136,F64A136 ^
  1839. CONV T64A137,F64A137 _
  1840. CONV T64A140,F64A140
  1841. CONV T64A141,F64A141 A
  1842. CONV T64A142,F64A142 B
  1843. CONV T64A143,F64A143 C
  1844. CONV T64A144,F64A144 D
  1845. CONV T64A145,F64A145 E
  1846. CONV T64A146,F64A146 F
  1847. CONV T64A147,F64A147 G
  1848. CONV T64A150,F64A150 H
  1849. CONV T64A151,F64A151 I
  1850. CONV T64A152,F64A152 J
  1851. CONV T64A153,F64A153 K
  1852. CONV T64A154,F64A154 L
  1853. CONV T64A155,F64A155 M
  1854. CONV T64A156,F64A156 N
  1855. CONV T64A157,F64A157 O
  1856. CONV T64A160,F64A160 P
  1857. CONV T64A161,F64A161 Q
  1858. CONV T64A162,F64A162 R
  1859. CONV T64A163,F64A163 S
  1860. CONV T64A164,F64A164 T
  1861. CONV T64A165,F64A165 U
  1862. CONV T64A166,F64A166 V
  1863. CONV T64A167,F64A167 W
  1864. CONV T64A170,F64A170 X
  1865. CONV T64A171,F64A171 Y
  1866. CONV T64A172,F64A172 Z
  1867. CONV T64A173,F64A173 L BRACE
  1868. CONV T64A174,F64A174 V LINE
  1869. CONV T64A175,F64A175 R BRACE
  1870. CONV T64A176,F64A176 TILDE
  1871. CONV T64A177,F64A177 DEL
  1872.  
  1873. CONV T64A200,F64A200 NUL
  1874. CONV T64A201,F64A201 SOH @
  1875. CONV T64A202,F64A202 STX ^
  1876. CONV T64A203,F64A203 ETX
  1877. CONV T64A204,F64A204 EOT :
  1878. CONV T64A205,F64A205 ENQ
  1879. CONV T64A206,F64A206 ACK
  1880. CONV T64A207,F64A207 BEL
  1881. CONV T64A210,F64A210 BS
  1882. CONV T64A211,F64A211 HT
  1883. CONV T64A212,F64A212 LF
  1884. CONV T64A213,F64A213 VT
  1885. CONV T64A214,F64A214 FF
  1886. CONV T64A215,F64A215 CR
  1887. CONV T64A216,F64A216 SO
  1888. CONV T64A217,F64A217 SI
  1889. CONV T64A220,F64A220 DLE
  1890. CONV T64A221,F64A221 DC1
  1891. CONV T64A222,F64A222 DC2
  1892. CONV T64A223,F64A223 DC3
  1893. CONV T64A224,F64A224 DC4
  1894. CONV T64A225,F64A225 NAK
  1895. CONV T64A226,F64A226 SYN
  1896. CONV T64A227,F64A227 ETB
  1897. CONV T64A230,F64A230 CAN
  1898. CONV T64A231,F64A231 EM
  1899. CONV T64A232,F64A232 SUB
  1900. CONV T64A233,F64A233 ESC
  1901. CONV T64A234,F64A234 FS
  1902. CONV T64A235,F64A235 GS
  1903. CONV T64A236,F64A236 RS
  1904. CONV T64A237,F64A237 US
  1905. CONV T64A240,F64A240 BLANK
  1906. CONV T64A241,F64A241 !
  1907. CONV T64A242,F64A242 "
  1908. CONV T64A243,F64A243 #
  1909. CONV T64A244,F64A244 $
  1910. CONV T64A245,F64A245 %
  1911. CONV T64A246,F64A246 &
  1912. CONV T64A247,F64A247 '
  1913. CONV T64A250,F64A250 (
  1914. CONV T64A251,F64A251 )
  1915. CONV T64A252,F64A252 *
  1916. CONV T64A253,F64A253 +
  1917. CONV T64A254,F64A254 ,
  1918. CONV T64A255,F64A255 -
  1919. CONV T64A256,F64A256 .
  1920. CONV T64A257,F64A257 /
  1921. CONV T64A260,F64A260 0
  1922. CONV T64A261,F64A261 1
  1923. CONV T64A262,F64A262 2
  1924. CONV T64A263,F64A263 3
  1925. CONV T64A264,F64A264 4
  1926. CONV T64A265,F64A265 5
  1927. CONV T64A266,F64A266 6
  1928. CONV T64A267,F64A267 7
  1929. CONV T64A270,F64A270 8
  1930. CONV T64A271,F64A271 9
  1931. CONV T64A272,F64A272 :
  1932. CONV T64A273,F64A273 ;
  1933. CONV T64A274,F64A274 <
  1934. CONV T64A275,F64A275 =
  1935. CONV T64A276,F64A276 >
  1936. CONV T64A277,F64A277 ?
  1937. CONV T64A300,F64A300 @
  1938. CONV T64A301,F64A301 A A
  1939. CONV T64A302,F64A302 B B
  1940. CONV T64A303,F64A303 C C
  1941. CONV T64A304,F64A304 D D
  1942. CONV T64A305,F64A305 E E
  1943. CONV T64A306,F64A306 F F
  1944. CONV T64A307,F64A307 G G
  1945. CONV T64A310,F64A310 H H
  1946. CONV T64A311,F64A311 I I
  1947. CONV T64A312,F64A312 J J
  1948. CONV T64A313,F64A313 K K
  1949. CONV T64A314,F64A314 L L
  1950. CONV T64A315,F64A315 M M
  1951. CONV T64A316,F64A316 N N
  1952. CONV T64A317,F64A317 O O
  1953. CONV T64A320,F64A320 P P
  1954. CONV T64A321,F64A321 Q Q
  1955. CONV T64A322,F64A322 R R
  1956. CONV T64A323,F64A323 S S
  1957. CONV T64A324,F64A324 T T
  1958. CONV T64A325,F64A325 U U
  1959. CONV T64A326,F64A326 V V
  1960. CONV T64A327,F64A327 W W
  1961. CONV T64A330,F64A330 X X
  1962. CONV T64A331,F64A331 Y Y
  1963. CONV T64A332,F64A332 Z Z
  1964. CONV T64A333,F64A333 [ L BRACE
  1965. CONV T64A334,F64A334 \ V LINE
  1966. CONV T64A335,F64A335 ] R BRACE
  1967. CONV T64A336,F64A336 ^ TILDE
  1968. CONV T64A337,F64A337 _ DEL
  1969. CONV T64A340,F64A340 NUL
  1970. CONV T64A341,F64A341 A SOH
  1971. CONV T64A342,F64A342 B STX
  1972. CONV T64A343,F64A343 C ETX
  1973. CONV T64A344,F64A344 D EOT
  1974. CONV T64A345,F64A345 E ENQ
  1975. CONV T64A346,F64A346 F ACK
  1976. CONV T64A347,F64A347 G BEL
  1977. CONV T64A350,F64A350 H BS
  1978. CONV T64A351,F64A351 I HT
  1979. CONV T64A352,F64A352 J LF
  1980. CONV T64A353,F64A353 K VT
  1981. CONV T64A354,F64A354 L FF
  1982. CONV T64A355,F64A355 M CR
  1983. CONV T64A356,F64A356 N SO
  1984. CONV T64A357,F64A357 O SI
  1985. CONV T64A360,F64A360 P DLE
  1986. CONV T64A361,F64A361 Q DC1
  1987. CONV T64A362,F64A362 R DC2
  1988. CONV T64A363,F64A363 S DC3
  1989. CONV T64A364,F64A364 T DC4
  1990. CONV T64A365,F64A365 U NAK
  1991. CONV T64A366,F64A366 V SYN
  1992. CONV T64A367,F64A367 W ETB
  1993. CONV T64A370,F64A370 X CAN
  1994. CONV T64A371,F64A371 Y EM
  1995. CONV T64A372,F64A372 Z SUB
  1996. CONV T64A373,F64A373 L BRACE ESC
  1997. CONV T64A374,F64A374 V LINE FS
  1998. CONV T64A375,F64A375 R BRACE GS
  1999. CONV T64A376,F64A376 TILDE RS
  2000. CONV T64A377,F64A377 DEL US
  2001.  
  2002. CONV ZBCH,ZBCH ZB ZB
  2003. CONV EORC,EORC EOR EOR
  2004. CONV EOFC,EOFC EOF EOF
  2005. CONV EOIC,EOIC EOI EOI
  2006.  
  2007. LOC *O
  2008. QUAL *
  2009. SPACE 4,10
  2010. TA63 BSS 0 63 CHARACTER 6/12 DISPLAY CODE
  2011. QUAL COMTCVT
  2012. LOC 0
  2013.  
  2014. * TO FROM
  2015. * ASCII63 ASCII63
  2016.  
  2017. CONV T63A000,F63A000 NUL
  2018. CONV T63A001,F63A001 SOH A
  2019. CONV T63A002,F63A002 STX B
  2020. CONV T63A003,F63A003 ETX C
  2021. CONV T63A004,F63A004 EOT D
  2022. CONV T63A005,F63A005 ENQ E
  2023. CONV T63A006,F63A006 ACK F
  2024. CONV T63A007,F63A007 BEL G
  2025. CONV T63A010,F63A010 BS H
  2026. CONV T63A011,F63A011 HT I
  2027. CONV T63A012,F63A012 LF J
  2028. CONV T63A013,F63A013 VT K
  2029. CONV T63A014,F63A014 FF L
  2030. CONV T63A015,F63A015 CR M
  2031. CONV T63A016,F63A016 SO N
  2032. CONV T63A017,F63A017 SI O
  2033. CONV T63A020,F63A020 DLE P
  2034. CONV T63A021,F63A021 DC1 Q
  2035. CONV T63A022,F63A022 DC2 R
  2036. CONV T63A023,F63A023 DC3 S
  2037. CONV T63A024,F63A024 DC4 T
  2038. CONV T63A025,F63A025 NAK U
  2039. CONV T63A026,F63A026 SYN V
  2040. CONV T63A027,F63A027 ETB W
  2041. CONV T63A030,F63A030 CAN X
  2042. CONV T63A031,F63A031 EM Y
  2043. CONV T63A032,F63A032 SUB Z
  2044. CONV T63A033,F63A033 ESC 0
  2045. CONV T63A034,F63A034 FS 1
  2046. CONV T63A035,F63A035 GS 2
  2047. CONV T63A036,F63A036 RS 3
  2048. CONV T63A037,F63A037 US 4
  2049. CONV T63A040,F63A040 BLANK 5
  2050. CONV T63A041,F63A041 ! 6
  2051. CONV T63A042,F63A042 " 7
  2052. CONV T63A043,F63A043 # 8
  2053. CONV T63A044,F63A044 $ 9
  2054. CONV T63A045,F63A045 % +
  2055. CONV T63A046,F63A046 & -
  2056. CONV T63A047,F63A047 ' *
  2057. CONV T63A050,F63A050 ( /
  2058. CONV T63A051,F63A051 ) (
  2059. CONV T63A052,F63A052 * )
  2060. CONV T63A053,F63A053 + $
  2061. CONV T63A054,F63A054 , =
  2062. CONV T63A055,F63A055 - BLANK
  2063. CONV T63A056,F63A056 . ,
  2064. CONV T63A057,F63A057 / .
  2065. CONV T63A060,F63A060 0 #
  2066. CONV T63A061,F63A061 1 [
  2067. CONV T63A062,F63A062 2 ]
  2068. CONV T63A063,F63A063 3 :
  2069. CONV T63A064,F63A064 4 "
  2070. CONV T63A065,F63A065 5 _
  2071. CONV T63A066,F63A066 6 !
  2072. CONV T63A067,F63A067 7 &
  2073. CONV T63A070,F63A070 8 '
  2074. CONV T63A071,F63A071 9 ?
  2075. CONV T63A072,F63A072 : <
  2076. CONV T63A073,F63A073 ; >
  2077. CONV T63A074,F63A074 <
  2078. CONV T63A075,F63A075 = \
  2079. CONV T63A076,F63A076 >
  2080. CONV T63A077,F63A077 ? ;
  2081. CONV T63A100,F63A100 @
  2082. CONV T63A101,F63A101 A
  2083. CONV T63A102,F63A102 B
  2084. CONV T63A103,F63A103 C
  2085. CONV T63A104,F63A104 D
  2086. CONV T63A105,F63A105 E
  2087. CONV T63A106,F63A106 F
  2088. CONV T63A107,F63A107 G
  2089. CONV T63A110,F63A110 H
  2090. CONV T63A111,F63A111 I
  2091. CONV T63A112,F63A112 J
  2092. CONV T63A113,F63A113 K
  2093. CONV T63A114,F63A114 L
  2094. CONV T63A115,F63A115 M
  2095. CONV T63A116,F63A116 N
  2096. CONV T63A117,F63A117 O
  2097. CONV T63A120,F63A120 P
  2098. CONV T63A121,F63A121 Q
  2099. CONV T63A122,F63A122 R
  2100. CONV T63A123,F63A123 S
  2101. CONV T63A124,F63A124 T
  2102. CONV T63A125,F63A125 U
  2103. CONV T63A126,F63A126 V
  2104. CONV T63A127,F63A127 W
  2105. CONV T63A130,F63A130 X
  2106. CONV T63A131,F63A131 Y
  2107. CONV T63A132,F63A132 Z
  2108. CONV T63A133,F63A133 [
  2109. CONV T63A134,F63A134 \
  2110. CONV T63A135,F63A135 ]
  2111. CONV T63A136,F63A136 ^
  2112. CONV T63A137,F63A137 _
  2113. CONV T63A140,F63A140
  2114. CONV T63A141,F63A141 A
  2115. CONV T63A142,F63A142 B
  2116. CONV T63A143,F63A143 C
  2117. CONV T63A144,F63A144 D
  2118. CONV T63A145,F63A145 E
  2119. CONV T63A146,F63A146 F
  2120. CONV T63A147,F63A147 G
  2121. CONV T63A150,F63A150 H
  2122. CONV T63A151,F63A151 I
  2123. CONV T63A152,F63A152 J
  2124. CONV T63A153,F63A153 K
  2125. CONV T63A154,F63A154 L
  2126. CONV T63A155,F63A155 M
  2127. CONV T63A156,F63A156 N
  2128. CONV T63A157,F63A157 O
  2129. CONV T63A160,F63A160 P
  2130. CONV T63A161,F63A161 Q
  2131. CONV T63A162,F63A162 R
  2132. CONV T63A163,F63A163 S
  2133. CONV T63A164,F63A164 T
  2134. CONV T63A165,F63A165 U
  2135. CONV T63A166,F63A166 V
  2136. CONV T63A167,F63A167 W
  2137. CONV T63A170,F63A170 X
  2138. CONV T63A171,F63A171 Y
  2139. CONV T63A172,F63A172 Z
  2140. CONV T63A173,F63A173 L BRACE
  2141. CONV T63A174,F63A174 V LINE
  2142. CONV T63A175,F63A175 R BRACE
  2143. CONV T63A176,F63A176 TILDE
  2144. CONV T63A177,F63A177 DEL
  2145.  
  2146. CONV T63A200,F63A200 NUL
  2147. CONV T63A201,F63A201 SOH @
  2148. CONV T63A202,F63A202 STX ^
  2149. CONV T63A203,F63A203 ETX
  2150. CONV T63A204,F63A204 EOT %
  2151. CONV T63A205,F63A205 ENQ
  2152. CONV T63A206,F63A206 ACK
  2153. CONV T63A207,F63A207 BEL
  2154. CONV T63A210,F63A210 BS
  2155. CONV T63A211,F63A211 HT
  2156. CONV T63A212,F63A212 LF
  2157. CONV T63A213,F63A213 VT
  2158. CONV T63A214,F63A214 FF
  2159. CONV T63A215,F63A215 CR
  2160. CONV T63A216,F63A216 SO
  2161. CONV T63A217,F63A217 SI
  2162. CONV T63A220,F63A220 DLE
  2163. CONV T63A221,F63A221 DC1
  2164. CONV T63A222,F63A222 DC2
  2165. CONV T63A223,F63A223 DC3
  2166. CONV T63A224,F63A224 DC4
  2167. CONV T63A225,F63A225 NAK
  2168. CONV T63A226,F63A226 SYN
  2169. CONV T63A227,F63A227 ETB
  2170. CONV T63A230,F63A230 CAN
  2171. CONV T63A231,F63A231 EM
  2172. CONV T63A232,F63A232 SUB
  2173. CONV T63A233,F63A233 ESC
  2174. CONV T63A234,F63A234 FS
  2175. CONV T63A235,F63A235 GS
  2176. CONV T63A236,F63A236 RS
  2177. CONV T63A237,F63A237 US
  2178. CONV T63A240,F63A240 BLANK
  2179. CONV T63A241,F63A241 !
  2180. CONV T63A242,F63A242 "
  2181. CONV T63A243,F63A243 #
  2182. CONV T63A244,F63A244 $
  2183. CONV T63A245,F63A245 %
  2184. CONV T63A246,F63A246 &
  2185. CONV T63A247,F63A247 '
  2186. CONV T63A250,F63A250 (
  2187. CONV T63A251,F63A251 )
  2188. CONV T63A252,F63A252 *
  2189. CONV T63A253,F63A253 +
  2190. CONV T63A254,F63A254 ,
  2191. CONV T63A255,F63A255 -
  2192. CONV T63A256,F63A256 .
  2193. CONV T63A257,F63A257 /
  2194. CONV T63A260,F63A260 0
  2195. CONV T63A261,F63A261 1
  2196. CONV T63A262,F63A262 2
  2197. CONV T63A263,F63A263 3
  2198. CONV T63A264,F63A264 4
  2199. CONV T63A265,F63A265 5
  2200. CONV T63A266,F63A266 6
  2201. CONV T63A267,F63A267 7
  2202. CONV T63A270,F63A270 8
  2203. CONV T63A271,F63A271 9
  2204. CONV T63A272,F63A272 :
  2205. CONV T63A273,F63A273 ;
  2206. CONV T63A274,F63A274 <
  2207. CONV T63A275,F63A275 =
  2208. CONV T63A276,F63A276 >
  2209. CONV T63A277,F63A277 ?
  2210. CONV T63A300,F63A300 @
  2211. CONV T63A301,F63A301 A A
  2212. CONV T63A302,F63A302 B B
  2213. CONV T63A303,F63A303 C C
  2214. CONV T63A304,F63A304 D D
  2215. CONV T63A305,F63A305 E E
  2216. CONV T63A306,F63A306 F F
  2217. CONV T63A307,F63A307 G G
  2218. CONV T63A310,F63A310 H H
  2219. CONV T63A311,F63A311 I I
  2220. CONV T63A312,F63A312 J J
  2221. CONV T63A313,F63A313 K K
  2222. CONV T63A314,F63A314 L L
  2223. CONV T63A315,F63A315 M M
  2224. CONV T63A316,F63A316 N N
  2225. CONV T63A317,F63A317 O O
  2226. CONV T63A320,F63A320 P P
  2227. CONV T63A321,F63A321 Q Q
  2228. CONV T63A322,F63A322 R R
  2229. CONV T63A323,F63A323 S S
  2230. CONV T63A324,F63A324 T T
  2231. CONV T63A325,F63A325 U U
  2232. CONV T63A326,F63A326 V V
  2233. CONV T63A327,F63A327 W W
  2234. CONV T63A330,F63A330 X X
  2235. CONV T63A331,F63A331 Y Y
  2236. CONV T63A332,F63A332 Z Z
  2237. CONV T63A333,F63A333 [ L BRACE
  2238. CONV T63A334,F63A334 \ V LINE
  2239. CONV T63A335,F63A335 ] R BRACE
  2240. CONV T63A336,F63A336 ^ TILDE
  2241. CONV T63A337,F63A337 _ DEL
  2242. CONV T63A340,F63A340 NUL
  2243. CONV T63A341,F63A341 A SOH
  2244. CONV T63A342,F63A342 B STX
  2245. CONV T63A343,F63A343 C ETX
  2246. CONV T63A344,F63A344 D EOT
  2247. CONV T63A345,F63A345 E ENQ
  2248. CONV T63A346,F63A346 F ACK
  2249. CONV T63A347,F63A347 G BEL
  2250. CONV T63A350,F63A350 H BS
  2251. CONV T63A351,F63A351 I HT
  2252. CONV T63A352,F63A352 J LF
  2253. CONV T63A353,F63A353 K VT
  2254. CONV T63A354,F63A354 L FF
  2255. CONV T63A355,F63A355 M CR
  2256. CONV T63A356,F63A356 N SO
  2257. CONV T63A357,F63A357 O SI
  2258. CONV T63A360,F63A360 P DLE
  2259. CONV T63A361,F63A361 Q DC1
  2260. CONV T63A362,F63A362 R DC2
  2261. CONV T63A363,F63A363 S DC3
  2262. CONV T63A364,F63A364 T DC4
  2263. CONV T63A365,F63A365 U NAK
  2264. CONV T63A366,F63A366 V SYN
  2265. CONV T63A367,F63A367 W ETB
  2266. CONV T63A370,F63A370 X CAN
  2267. CONV T63A371,F63A371 Y EM
  2268. CONV T63A372,F63A372 Z SUB
  2269. CONV T63A373,F63A373 L BRACE ESC
  2270. CONV T63A374,F63A374 V LINE FS
  2271. CONV T63A375,F63A375 R BRACE GS
  2272. CONV T63A376,F63A376 TILDE RS
  2273. CONV T63A377,F63A377 DEL US
  2274.  
  2275. CONV ZBCH,ZBCH ZB ZB
  2276. CONV EORC,EORC EOR EOR
  2277. CONV EOFC,EOFC EOF EOF
  2278. CONV EOIC,EOIC EOI EOI
  2279.  
  2280. LOC *O
  2281. QUAL *
  2282. SPACE 4,10
  2283. TAS8 BSS 0 SHORT VERSION OF 8 BIT ASCII.
  2284. QUAL COMTCVT
  2285. LOC 0
  2286.  
  2287. * TO FROM
  2288. * ASCII8 ASCII8
  2289.  
  2290. CONV T8AS000,F8AS000 NUL NUL
  2291. CONV T8AS001,F8AS001 SOH SOH
  2292. CONV T8AS002,F8AS002 STX STX
  2293. CONV T8AS003,F8AS003 ETX ETX
  2294. CONV T8AS004,F8AS004 EOT EOT
  2295. CONV T8AS005,F8AS005 ENQ ENQ
  2296. CONV T8AS006,F8AS006 ACK ACK
  2297. CONV T8AS007,F8AS007 BEL BEL
  2298. CONV T8AS010,F8AS010 BS BS
  2299. CONV T8AS011,F8AS011 HT HT
  2300. CONV T8AS012,F8AS012 LF LF
  2301. CONV T8AS013,F8AS013 VT VT
  2302. CONV T8AS014,F8AS014 FF FF
  2303. CONV T8AS015,F8AS015 CR CR
  2304. CONV T8AS016,F8AS016 SO SO
  2305. CONV T8AS017,F8AS017 SI SI
  2306. CONV T8AS020,F8AS020 DLE DLE
  2307. CONV T8AS021,F8AS021 DC1 DC1
  2308. CONV T8AS022,F8AS022 DC2 DC2
  2309. CONV T8AS023,F8AS023 DC3 DC3
  2310. CONV T8AS024,F8AS024 DC4 DC4
  2311. CONV T8AS025,F8AS025 NAK NAK
  2312. CONV T8AS026,F8AS026 SYN SYN
  2313. CONV T8AS027,F8AS027 ETB ETB
  2314. CONV T8AS030,F8AS030 CAN CAN
  2315. CONV T8AS031,F8AS031 EM EM
  2316. CONV T8AS032,F8AS032 SUB SUB
  2317. CONV T8AS033,F8AS033 ESC ESC
  2318. CONV T8AS034,F8AS034 FS FS
  2319. CONV T8AS035,F8AS035 GS GS
  2320. CONV T8AS036,F8AS036 RS RS
  2321. CONV T8AS037,F8AS037 US US
  2322. CONV T8AS040,F8AS040 BLANK BLANK
  2323. CONV T8AS041,F8AS041 ! !
  2324. CONV T8AS042,F8AS042 "" ""
  2325. CONV T8AS043,F8AS043 # #
  2326. CONV T8AS044,F8AS044 $ $
  2327. CONV T8AS045,F8AS045 % %
  2328. CONV T8AS046,F8AS046 & &
  2329. CONV T8AS047,F8AS047 ' '
  2330. CONV T8AS050,F8AS050 ( (
  2331. CONV T8AS051,F8AS051 ) )
  2332. CONV T8AS052,F8AS052 * *
  2333. CONV T8AS053,F8AS053 + +
  2334. CONV T8AS054,F8AS054 , ,
  2335. CONV T8AS055,F8AS055 - -
  2336. CONV T8AS056,F8AS056 . .
  2337. CONV T8AS057,F8AS057 / /
  2338. CONV T8AS060,F8AS060 0 0
  2339. CONV T8AS061,F8AS061 1 1
  2340. CONV T8AS062,F8AS062 2 2
  2341. CONV T8AS063,F8AS063 3 3
  2342. CONV T8AS064,F8AS064 4 4
  2343. CONV T8AS065,F8AS065 5 5
  2344. CONV T8AS066,F8AS066 6 6
  2345. CONV T8AS067,F8AS067 7 7
  2346. CONV T8AS070,F8AS070 8 8
  2347. CONV T8AS071,F8AS071 9 9
  2348. CONV T8AS072,F8AS072 : :
  2349. CONV T8AS073,F8AS073 ; ;
  2350. CONV T8AS074,F8AS074 < <
  2351. CONV T8AS075,F8AS075 = =
  2352. CONV T8AS076,F8AS076 > >
  2353. CONV T8AS077,F8AS077 ? ?
  2354.  
  2355. CONV T8AS100,F8AS100 @ @
  2356. CONV T8AS101,F8AS101 A A
  2357. CONV T8AS102,F8AS102 B B
  2358. CONV T8AS103,F8AS103 C C
  2359. CONV T8AS104,F8AS104 D D
  2360. CONV T8AS105,F8AS105 E E
  2361. CONV T8AS106,F8AS106 F F
  2362. CONV T8AS107,F8AS107 G G
  2363. CONV T8AS110,F8AS110 H H
  2364. CONV T8AS111,F8AS111 I I
  2365. CONV T8AS112,F8AS112 J J
  2366. CONV T8AS113,F8AS113 K K
  2367. CONV T8AS114,F8AS114 L L
  2368. CONV T8AS115,F8AS115 M M
  2369. CONV T8AS116,F8AS116 N N
  2370. CONV T8AS117,F8AS117 O O
  2371. CONV T8AS120,F8AS120 P P
  2372. CONV T8AS121,F8AS121 Q Q
  2373. CONV T8AS122,F8AS122 R R
  2374. CONV T8AS123,F8AS123 S S
  2375. CONV T8AS124,F8AS124 T T
  2376. CONV T8AS125,F8AS125 U U
  2377. CONV T8AS126,F8AS126 V V
  2378. CONV T8AS127,F8AS127 W W
  2379. CONV T8AS130,F8AS130 X X
  2380. CONV T8AS131,F8AS131 Y Y
  2381. CONV T8AS132,F8AS132 Z Z
  2382. CONV T8AS133,F8AS133 [ [
  2383. CONV T8AS134,F8AS134 \ \
  2384. CONV T8AS135,F8AS135 ] ]
  2385. CONV T8AS136,F8AS136 ^ ^
  2386. CONV T8AS137,F8AS137 _ _
  2387. CONV T8AS140,F8AS140
  2388. CONV T8AS141,F8AS141 A A
  2389. CONV T8AS142,F8AS142 B B
  2390. CONV T8AS143,F8AS143 C C
  2391. CONV T8AS144,F8AS144 D D
  2392. CONV T8AS145,F8AS145 E E
  2393. CONV T8AS146,F8AS146 F F
  2394. CONV T8AS147,F8AS147 G G
  2395. CONV T8AS150,F8AS150 H H
  2396. CONV T8AS151,F8AS151 I I
  2397. CONV T8AS152,F8AS152 J J
  2398. CONV T8AS153,F8AS153 K K
  2399. CONV T8AS154,F8AS154 L L
  2400. CONV T8AS155,F8AS155 M M
  2401. CONV T8AS156,F8AS156 N N
  2402. CONV T8AS157,F8AS157 O O
  2403. CONV T8AS160,F8AS160 P P
  2404. CONV T8AS161,F8AS161 Q Q
  2405. CONV T8AS162,F8AS162 R R
  2406. CONV T8AS163,F8AS163 S S
  2407. CONV T8AS164,F8AS164 T T
  2408. CONV T8AS165,F8AS165 U U
  2409. CONV T8AS166,F8AS166 V V
  2410. CONV T8AS167,F8AS167 W W
  2411. CONV T8AS170,F8AS170 X X
  2412. CONV T8AS171,F8AS171 Y Y
  2413. CONV T8AS172,F8AS172 Z Z
  2414. CONV T8AS173,F8AS173 L BRACE L BRACE
  2415. CONV T8AS174,F8AS174 V LINE V LINE
  2416. CONV T8AS175,F8AS175 R BRACE R BRACE
  2417. CONV T8AS176,F8AS176 TILDE TILDE
  2418. CONV T8AS177,F8AS177 DEL DEL
  2419.  
  2420. CONV T8AS200,F8AS200 NUL NUL
  2421. CONV T8AS201,F8AS201 SOH SOH
  2422. CONV T8AS202,F8AS202 STX STX
  2423. CONV T8AS203,F8AS203 ETX ETX
  2424. CONV T8AS204,F8AS204 EOT EOT
  2425. CONV T8AS205,F8AS205 ENQ ENQ
  2426. CONV T8AS206,F8AS206 ACK ACK
  2427. CONV T8AS207,F8AS207 BEL BEL
  2428. CONV T8AS210,F8AS210 BS BS
  2429. CONV T8AS211,F8AS211 HT HT
  2430. CONV T8AS212,F8AS212 LF LF
  2431. CONV T8AS213,F8AS213 VT VT
  2432. CONV T8AS214,F8AS214 FF FF
  2433. CONV T8AS215,F8AS215 CR CR
  2434. CONV T8AS216,F8AS216 SO SO
  2435. CONV T8AS217,F8AS217 SI SI
  2436. CONV T8AS220,F8AS220 DLE DLE
  2437. CONV T8AS221,F8AS221 DC1 DC1
  2438. CONV T8AS222,F8AS222 DC2 DC2
  2439. CONV T8AS223,F8AS223 DC3 DC3
  2440. CONV T8AS224,F8AS224 DC4 DC4
  2441. CONV T8AS225,F8AS225 NAK NAK
  2442. CONV T8AS226,F8AS226 SYN SYN
  2443. CONV T8AS227,F8AS227 ETB ETB
  2444. CONV T8AS230,F8AS230 CAN CAN
  2445. CONV T8AS231,F8AS231 EM EM
  2446. CONV T8AS232,F8AS232 SUB SUB
  2447. CONV T8AS233,F8AS233 ESC ESC
  2448. CONV T8AS234,F8AS234 FS FS
  2449. CONV T8AS235,F8AS235 GS GS
  2450. CONV T8AS236,F8AS236 RS RS
  2451. CONV T8AS237,F8AS237 US US
  2452. CONV T8AS240,F8AS240 BLANK BLANK
  2453. CONV T8AS241,F8AS241 ! !
  2454. CONV T8AS242,F8AS242 QUOTE QUOTE
  2455. CONV T8AS243,F8AS243 # #
  2456. CONV T8AS244,F8AS244 $ $
  2457. CONV T8AS245,F8AS245 % %
  2458. CONV T8AS246,F8AS246 & &
  2459. CONV T8AS247,F8AS247 ' '
  2460. CONV T8AS250,F8AS250 ( (
  2461. CONV T8AS251,F8AS251 ) )
  2462. CONV T8AS252,F8AS252 * *
  2463. CONV T8AS253,F8AS253 + +
  2464. CONV T8AS254,F8AS254 , ,
  2465. CONV T8AS255,F8AS255 - -
  2466. CONV T8AS256,F8AS256 . .
  2467. CONV T8AS257,F8AS257 / /
  2468. CONV T8AS260,F8AS260 0 0
  2469. CONV T8AS261,F8AS261 1 1
  2470. CONV T8AS262,F8AS262 2 2
  2471. CONV T8AS263,F8AS263 3 3
  2472. CONV T8AS264,F8AS264 4 4
  2473. CONV T8AS265,F8AS265 5 5
  2474. CONV T8AS266,F8AS266 6 6
  2475. CONV T8AS267,F8AS267 7 7
  2476. CONV T8AS270,F8AS270 8 8
  2477. CONV T8AS271,F8AS271 9 9
  2478. CONV T8AS272,F8AS272 : :
  2479. CONV T8AS273,F8AS273 ; ;
  2480. CONV T8AS274,F8AS274 < <
  2481. CONV T8AS275,F8AS275 = =
  2482. CONV T8AS276,F8AS276 > >
  2483. CONV T8AS277,F8AS277 ? ?
  2484.  
  2485. CONV T8AS300,F8AS300 @ @
  2486. CONV T8AS301,F8AS301 A A
  2487. CONV T8AS302,F8AS302 B B
  2488. CONV T8AS303,F8AS303 C C
  2489. CONV T8AS304,F8AS304 D D
  2490. CONV T8AS305,F8AS305 E E
  2491. CONV T8AS306,F8AS306 F F
  2492. CONV T8AS307,F8AS307 G G
  2493. CONV T8AS310,F8AS310 H H
  2494. CONV T8AS311,F8AS311 I I
  2495. CONV T8AS312,F8AS312 J J
  2496. CONV T8AS313,F8AS313 K K
  2497. CONV T8AS314,F8AS314 L L
  2498. CONV T8AS315,F8AS315 M M
  2499. CONV T8AS316,F8AS316 N N
  2500. CONV T8AS317,F8AS317 O O
  2501. CONV T8AS320,F8AS320 P P
  2502. CONV T8AS321,F8AS321 Q Q
  2503. CONV T8AS322,F8AS322 R R
  2504. CONV T8AS323,F8AS323 S S
  2505. CONV T8AS324,F8AS324 T T
  2506. CONV T8AS325,F8AS325 U U
  2507. CONV T8AS326,F8AS326 V V
  2508. CONV T8AS327,F8AS327 W W
  2509. CONV T8AS330,F8AS330 X X
  2510. CONV T8AS331,F8AS331 Y Y
  2511. CONV T8AS332,F8AS332 Z Z
  2512. CONV T8AS333,F8AS333 [ [
  2513. CONV T8AS334,F8AS334 \ \
  2514. CONV T8AS335,F8AS335 ] ]
  2515. CONV T8AS336,F8AS336 ^ ^
  2516. CONV T8AS337,F8AS337 _ _
  2517. CONV T8AS340,F8AS340
  2518. CONV T8AS341,F8AS341 A A
  2519. CONV T8AS342,F8AS342 B B
  2520. CONV T8AS343,F8AS343 C C
  2521. CONV T8AS344,F8AS344 D D
  2522. CONV T8AS345,F8AS345 E E
  2523. CONV T8AS346,F8AS346 F F
  2524. CONV T8AS347,F8AS347 G G
  2525. CONV T8AS350,F8AS350 H H
  2526. CONV T8AS351,F8AS351 I I
  2527. CONV T8AS352,F8AS352 J J
  2528. CONV T8AS353,F8AS353 K K
  2529. CONV T8AS354,F8AS354 L L
  2530. CONV T8AS355,F8AS355 M M
  2531. CONV T8AS356,F8AS356 N N
  2532. CONV T8AS357,F8AS357 O O
  2533. CONV T8AS360,F8AS360 P P
  2534. CONV T8AS361,F8AS361 Q Q
  2535. CONV T8AS362,F8AS362 R R
  2536. CONV T8AS363,F8AS363 S S
  2537. CONV T8AS364,F8AS364 T T
  2538. CONV T8AS365,F8AS365 U U
  2539. CONV T8AS366,F8AS366 V V
  2540. CONV T8AS367,F8AS367 W W
  2541. CONV T8AS370,F8AS370 X X
  2542. CONV T8AS371,F8AS371 Y Y
  2543. CONV T8AS372,F8AS372 Z Z
  2544. CONV T8AS373,F8AS373 L BRACE L BRACE
  2545. CONV T8AS374,F8AS374 V LINE V LINE
  2546. CONV T8AS375,F8AS375 R BRACE R BRACE
  2547. CONV T8AS376,F8AS376 TILDE TILDE
  2548. CONV T8AS377,F8AS377 DEL DEL
  2549.  
  2550. CONV ZBCH,ZBCH ZB ZB
  2551. CONV EORC,EORC EOR EOR
  2552. CONV EOFC,EOFC EOF EOF
  2553. CONV EOIC,EOIC EOI EOI
  2554.  
  2555. LOC *O
  2556. QUAL *
  2557. SPACE 4,10
  2558. TASC BSS 0 FULL 8 BIT ASCII
  2559. QUAL COMTCVT
  2560. LOC 0
  2561.  
  2562. * TO FROM
  2563. * ASCII ASCII
  2564.  
  2565. CONV TASC000,FASC000 NUL NUL
  2566. CONV TASC001,FASC001 SOH SOH
  2567. CONV TASC002,FASC002 STX STX
  2568. CONV TASC003,FASC003 ETX ETX
  2569. CONV TASC004,FASC004 EOT EOT
  2570. CONV TASC005,FASC005 ENQ ENQ
  2571. CONV TASC006,FASC006 ACK ACK
  2572. CONV TASC007,FASC007 BEL BEL
  2573. CONV TASC010,FASC010 BS BS
  2574. CONV TASC011,FASC011 HT HT
  2575. CONV TASC012,FASC012 LF LF
  2576. CONV TASC013,FASC013 VT VT
  2577. CONV TASC014,FASC014 FF FF
  2578. CONV TASC015,FASC015 CR CR
  2579. CONV TASC016,FASC016 SO SO
  2580. CONV TASC017,FASC017 SI SI
  2581. CONV TASC020,FASC020 DLE DLE
  2582. CONV TASC021,FASC021 DC1 DC1
  2583. CONV TASC022,FASC022 DC2 DC2
  2584. CONV TASC023,FASC023 DC3 DC3
  2585. CONV TASC024,FASC024 DC4 DC4
  2586. CONV TASC025,FASC025 NAK NAK
  2587. CONV TASC026,FASC026 SYN SYN
  2588. CONV TASC027,FASC027 ETB ETB
  2589. CONV TASC030,FASC030 CAN CAN
  2590. CONV TASC031,FASC031 EM EM
  2591. CONV TASC032,FASC032 SUB SUB
  2592. CONV TASC033,FASC033 ESC ESC
  2593. CONV TASC034,FASC034 FS FS
  2594. CONV TASC035,FASC035 GS GS
  2595. CONV TASC036,FASC036 RS RS
  2596. CONV TASC037,FASC037 US US
  2597. CONV TASC040,FASC040 BLANK BLANK
  2598. CONV TASC041,FASC041 ! !
  2599. CONV TASC042,FASC042 "" ""
  2600. CONV TASC043,FASC043 # #
  2601. CONV TASC044,FASC044 $ $
  2602. CONV TASC045,FASC045 % %
  2603. CONV TASC046,FASC046 & &
  2604. CONV TASC047,FASC047 ' '
  2605. CONV TASC050,FASC050 ( (
  2606. CONV TASC051,FASC051 ) )
  2607. CONV TASC052,FASC052 * *
  2608. CONV TASC053,FASC053 + +
  2609. CONV TASC054,FASC054 , ,
  2610. CONV TASC055,FASC055 - -
  2611. CONV TASC056,FASC056 . .
  2612. CONV TASC057,FASC057 / /
  2613. CONV TASC060,FASC060 0 0
  2614. CONV TASC061,FASC061 1 1
  2615. CONV TASC062,FASC062 2 2
  2616. CONV TASC063,FASC063 3 3
  2617. CONV TASC064,FASC064 4 4
  2618. CONV TASC065,FASC065 5 5
  2619. CONV TASC066,FASC066 6 6
  2620. CONV TASC067,FASC067 7 7
  2621. CONV TASC070,FASC070 8 8
  2622. CONV TASC071,FASC071 9 9
  2623. CONV TASC072,FASC072 : :
  2624. CONV TASC073,FASC073 ; ;
  2625. CONV TASC074,FASC074 < <
  2626. CONV TASC075,FASC075 = =
  2627. CONV TASC076,FASC076 > >
  2628. CONV TASC077,FASC077 ? ?
  2629.  
  2630. CONV TASC100,FASC100 @ @
  2631. CONV TASC101,FASC101 A A
  2632. CONV TASC102,FASC102 B B
  2633. CONV TASC103,FASC103 C C
  2634. CONV TASC104,FASC104 D D
  2635. CONV TASC105,FASC105 E E
  2636. CONV TASC106,FASC106 F F
  2637. CONV TASC107,FASC107 G G
  2638. CONV TASC110,FASC110 H H
  2639. CONV TASC111,FASC111 I I
  2640. CONV TASC112,FASC112 J J
  2641. CONV TASC113,FASC113 K K
  2642. CONV TASC114,FASC114 L L
  2643. CONV TASC115,FASC115 M M
  2644. CONV TASC116,FASC116 N N
  2645. CONV TASC117,FASC117 O O
  2646. CONV TASC120,FASC120 P P
  2647. CONV TASC121,FASC121 Q Q
  2648. CONV TASC122,FASC122 R R
  2649. CONV TASC123,FASC123 S S
  2650. CONV TASC124,FASC124 T T
  2651. CONV TASC125,FASC125 U U
  2652. CONV TASC126,FASC126 V V
  2653. CONV TASC127,FASC127 W W
  2654. CONV TASC130,FASC130 X X
  2655. CONV TASC131,FASC131 Y Y
  2656. CONV TASC132,FASC132 Z Z
  2657. CONV TASC133,FASC133 [ [
  2658. CONV TASC134,FASC134 \ \
  2659. CONV TASC135,FASC135 ] ]
  2660. CONV TASC136,FASC136 ^ ^
  2661. CONV TASC137,FASC137 _ _
  2662. CONV TASC140,FASC140
  2663. CONV TASC141,FASC141 A A
  2664. CONV TASC142,FASC142 B B
  2665. CONV TASC143,FASC143 C C
  2666. CONV TASC144,FASC144 D D
  2667. CONV TASC145,FASC145 E E
  2668. CONV TASC146,FASC146 F F
  2669. CONV TASC147,FASC147 G G
  2670. CONV TASC150,FASC150 H H
  2671. CONV TASC151,FASC151 I I
  2672. CONV TASC152,FASC152 J J
  2673. CONV TASC153,FASC153 K K
  2674. CONV TASC154,FASC154 L L
  2675. CONV TASC155,FASC155 M M
  2676. CONV TASC156,FASC156 N N
  2677. CONV TASC157,FASC157 O O
  2678. CONV TASC160,FASC160 P P
  2679. CONV TASC161,FASC161 Q Q
  2680. CONV TASC162,FASC162 R R
  2681. CONV TASC163,FASC163 S S
  2682. CONV TASC164,FASC164 T T
  2683. CONV TASC165,FASC165 U U
  2684. CONV TASC166,FASC166 V V
  2685. CONV TASC167,FASC167 W W
  2686. CONV TASC170,FASC170 X X
  2687. CONV TASC171,FASC171 Y Y
  2688. CONV TASC172,FASC172 Z Z
  2689. CONV TASC173,FASC173 L BRACE L BRACE
  2690. CONV TASC174,FASC174 V LINE V LINE
  2691. CONV TASC175,FASC175 R BRACE R BRACE
  2692. CONV TASC176,FASC176 TILDE TILDE
  2693. CONV TASC177,FASC177 DEL DEL
  2694.  
  2695. CONV TASC200,FASC200
  2696. CONV TASC201,FASC201
  2697. CONV TASC202,FASC202
  2698. CONV TASC203,FASC203
  2699. CONV TASC204,FASC204
  2700. CONV TASC205,FASC205
  2701. CONV TASC206,FASC206
  2702. CONV TASC207,FASC207
  2703. CONV TASC210,FASC210
  2704. CONV TASC211,FASC211
  2705. CONV TASC212,FASC212
  2706. CONV TASC213,FASC213
  2707. CONV TASC214,FASC214
  2708. CONV TASC215,FASC215
  2709. CONV TASC216,FASC216
  2710. CONV TASC217,FASC217
  2711. CONV TASC220,FASC220
  2712. CONV TASC221,FASC221
  2713. CONV TASC222,FASC222
  2714. CONV TASC223,FASC223
  2715. CONV TASC224,FASC224
  2716. CONV TASC225,FASC225
  2717. CONV TASC226,FASC226
  2718. CONV TASC227,FASC227
  2719. CONV TASC230,FASC230
  2720. CONV TASC231,FASC231
  2721. CONV TASC232,FASC232
  2722. CONV TASC233,FASC233
  2723. CONV TASC234,FASC234
  2724. CONV TASC235,FASC235
  2725. CONV TASC236,FASC236
  2726. CONV TASC237,FASC237
  2727. CONV TASC240,FASC240
  2728. CONV TASC241,FASC241
  2729. CONV TASC242,FASC242
  2730. CONV TASC243,FASC243
  2731. CONV TASC244,FASC244
  2732. CONV TASC245,FASC245
  2733. CONV TASC246,FASC246
  2734. CONV TASC247,FASC247
  2735. CONV TASC250,FASC250
  2736. CONV TASC251,FASC251
  2737. CONV TASC252,FASC252
  2738. CONV TASC253,FASC253
  2739. CONV TASC254,FASC254
  2740. CONV TASC255,FASC255
  2741. CONV TASC256,FASC256
  2742. CONV TASC257,FASC257
  2743. CONV TASC260,FASC260
  2744. CONV TASC261,FASC261
  2745. CONV TASC262,FASC262
  2746. CONV TASC263,FASC263
  2747. CONV TASC264,FASC264
  2748. CONV TASC265,FASC265
  2749. CONV TASC266,FASC266
  2750. CONV TASC267,FASC267
  2751. CONV TASC270,FASC270
  2752. CONV TASC271,FASC271
  2753. CONV TASC272,FASC272
  2754. CONV TASC273,FASC273
  2755. CONV TASC274,FASC274
  2756. CONV TASC275,FASC275
  2757. CONV TASC276,FASC276
  2758. CONV TASC277,FASC277
  2759.  
  2760. CONV TASC300,FASC300
  2761. CONV TASC301,FASC301
  2762. CONV TASC302,FASC302
  2763. CONV TASC303,FASC303
  2764. CONV TASC304,FASC304
  2765. CONV TASC305,FASC305
  2766. CONV TASC306,FASC306
  2767. CONV TASC307,FASC307
  2768. CONV TASC310,FASC310
  2769. CONV TASC311,FASC311
  2770. CONV TASC312,FASC312
  2771. CONV TASC313,FASC313
  2772. CONV TASC314,FASC314
  2773. CONV TASC315,FASC315
  2774. CONV TASC316,FASC316
  2775. CONV TASC317,FASC317
  2776. CONV TASC320,FASC320
  2777. CONV TASC321,FASC321
  2778. CONV TASC322,FASC322
  2779. CONV TASC323,FASC323
  2780. CONV TASC324,FASC324
  2781. CONV TASC325,FASC325
  2782. CONV TASC326,FASC326
  2783. CONV TASC327,FASC327
  2784. CONV TASC330,FASC330
  2785. CONV TASC331,FASC331
  2786. CONV TASC332,FASC332
  2787. CONV TASC333,FASC333
  2788. CONV TASC334,FASC334
  2789. CONV TASC335,FASC335
  2790. CONV TASC336,FASC336
  2791. CONV TASC337,FASC337
  2792. CONV TASC340,FASC340
  2793. CONV TASC341,FASC341
  2794. CONV TASC342,FASC342
  2795. CONV TASC343,FASC343
  2796. CONV TASC344,FASC344
  2797. CONV TASC345,FASC345
  2798. CONV TASC346,FASC346
  2799. CONV TASC347,FASC347
  2800. CONV TASC350,FASC350
  2801. CONV TASC351,FASC351
  2802. CONV TASC352,FASC352
  2803. CONV TASC353,FASC353
  2804. CONV TASC354,FASC354
  2805. CONV TASC355,FASC355
  2806. CONV TASC356,FASC356
  2807. CONV TASC357,FASC357
  2808. CONV TASC360,FASC360
  2809. CONV TASC361,FASC361
  2810. CONV TASC362,FASC362
  2811. CONV TASC363,FASC363
  2812. CONV TASC364,FASC364
  2813. CONV TASC365,FASC365
  2814. CONV TASC366,FASC366
  2815. CONV TASC367,FASC367
  2816. CONV TASC370,FASC370
  2817. CONV TASC371,FASC371
  2818. CONV TASC372,FASC372
  2819. CONV TASC373,FASC373
  2820. CONV TASC374,FASC374
  2821. CONV TASC375,FASC375
  2822. CONV TASC376,FASC376
  2823. CONV TASC377,FASC377
  2824.  
  2825. CONV ZBCH,ZBCH ZB ZB
  2826. CONV EORC,EORC EOR EOR
  2827. CONV EOFC,EOFC EOF EOF
  2828. CONV EOIC,EOIC EOI EOI
  2829.  
  2830. LOC *O
  2831. QUAL *
  2832. SPACE 4,10
  2833. TEBC BSS 0 FULL 8 BIT EBCDIC
  2834. QUAL COMTCVT
  2835. LOC 0
  2836.  
  2837. TO FROM
  2838. EBCDIC EBCDIC
  2839.  
  2840. CONV TEBC000,FEBC000 NUL NUL
  2841. CONV TEBC001,FEBC001 SOH SOH
  2842. CONV TEBC002,FEBC002 STX STX
  2843. CONV TEBC003,FEBC003 ETX ETX
  2844. CONV TEBC004,FEBC004 EOT PF
  2845. CONV TEBC005,FEBC005 ENQ HT
  2846. CONV TEBC006,FEBC006 ACK LC
  2847. CONV TEBC007,FEBC007 BEL DEL
  2848. CONV TEBC010,FEBC010 BS GE
  2849. CONV TEBC011,FEBC011 HT RLF
  2850. CONV TEBC012,FEBC012 LF SMM
  2851. CONV TEBC013,FEBC013 VT VT
  2852. CONV TEBC014,FEBC014 FF FF
  2853. CONV TEBC015,FEBC015 CR CR
  2854. CONV TEBC016,FEBC016 SO SO
  2855. CONV TEBC017,FEBC017 SI SI
  2856. CONV TEBC020,FEBC020 DLE DLE
  2857. CONV TEBC021,FEBC021 DC1 DC1
  2858. CONV TEBC022,FEBC022 DC2 DC2
  2859. CONV TEBC023,FEBC023 DC3 (TM) TM (DC3)
  2860. CONV TEBC024,FEBC024 DC4 RES
  2861. CONV TEBC025,FEBC025 NAK NL
  2862. CONV TEBC026,FEBC026 SYN BS
  2863. CONV TEBC027,FEBC027 ETB IL
  2864. CONV TEBC030,FEBC030 CAN CAN
  2865. CONV TEBC031,FEBC031 EM EM
  2866. CONV TEBC032,FEBC032 SUB CC
  2867. CONV TEBC033,FEBC033 ESC CU1
  2868. CONV TEBC034,FEBC034 FS (IFS) IFS (FS)
  2869. CONV TEBC035,FEBC035 GS (IGS) IGS (GS)
  2870. CONV TEBC036,FEBC036 RS (IRS) IRS (RS)
  2871. CONV TEBC037,FEBC037 US (IUS) IUS (US)
  2872. CONV TEBC040,FEBC040 BLANK DS
  2873. CONV TEBC041,FEBC041 ! SOS
  2874. CONV TEBC042,FEBC042 " FS
  2875. CONV TEBC043,FEBC043 #
  2876. CONV TEBC044,FEBC044 $ BYP
  2877. CONV TEBC045,FEBC045 % LF
  2878. CONV TEBC046,FEBC046 & ETB
  2879. CONV TEBC047,FEBC047 ' ESC
  2880. CONV TEBC050,FEBC050 (
  2881. CONV TEBC051,FEBC051 )
  2882. CONV TEBC052,FEBC052 * SM
  2883. CONV TEBC053,FEBC053 + CU2
  2884. CONV TEBC054,FEBC054 ,
  2885. CONV TEBC055,FEBC055 - ENQ
  2886. CONV TEBC056,FEBC056 . ACK
  2887. CONV TEBC057,FEBC057 / BEL
  2888. CONV TEBC060,FEBC060 0
  2889. CONV TEBC061,FEBC061 1
  2890. CONV TEBC062,FEBC062 2 SYN
  2891. CONV TEBC063,FEBC063 3
  2892. CONV TEBC064,FEBC064 4 PN
  2893. CONV TEBC065,FEBC065 5 RS
  2894. CONV TEBC066,FEBC066 6 UC
  2895. CONV TEBC067,FEBC067 7 EOT
  2896. CONV TEBC070,FEBC070 8
  2897. CONV TEBC071,FEBC071 9
  2898. CONV TEBC072,FEBC072 :
  2899. CONV TEBC073,FEBC073 ; CU3
  2900. CONV TEBC074,FEBC074 < DC4
  2901. CONV TEBC075,FEBC075 = NAK
  2902. CONV TEBC076,FEBC076 >
  2903. CONV TEBC077,FEBC077 ? SUB
  2904. CONV TEBC100,FEBC100 @ SPACE
  2905. CONV TEBC101,FEBC101 A
  2906. CONV TEBC102,FEBC102 B
  2907. CONV TEBC103,FEBC103 C
  2908. CONV TEBC104,FEBC104 D
  2909. CONV TEBC105,FEBC105 E
  2910. CONV TEBC106,FEBC106 F
  2911. CONV TEBC107,FEBC107 G
  2912. CONV TEBC110,FEBC110 H
  2913. CONV TEBC111,FEBC111 I
  2914. CONV TEBC112,FEBC112 J CENT SIGN ([)
  2915. CONV TEBC113,FEBC113 K .
  2916. CONV TEBC114,FEBC114 L <
  2917. CONV TEBC115,FEBC115 M (
  2918. CONV TEBC116,FEBC116 N +
  2919. CONV TEBC117,FEBC117 O VERT LINE (!)
  2920. CONV TEBC120,FEBC120 P &
  2921. CONV TEBC121,FEBC121 Q
  2922. CONV TEBC122,FEBC122 R
  2923. CONV TEBC123,FEBC123 S
  2924. CONV TEBC124,FEBC124 T
  2925. CONV TEBC125,FEBC125 U
  2926. CONV TEBC126,FEBC126 V
  2927. CONV TEBC127,FEBC127 W
  2928. CONV TEBC130,FEBC130 X
  2929. CONV TEBC131,FEBC131 Y
  2930. CONV TEBC132,FEBC132 Z !
  2931. CONV TEBC133,FEBC133 [ $
  2932. CONV TEBC134,FEBC134 \ *
  2933. CONV TEBC135,FEBC135 ] )
  2934. CONV TEBC136,FEBC136 ^ ;
  2935. CONV TEBC137,FEBC137 _ ^
  2936. CONV TEBC140,FEBC140 -
  2937. CONV TEBC141,FEBC141 A LC /
  2938. CONV TEBC142,FEBC142 B LC
  2939. CONV TEBC143,FEBC143 C LC
  2940. CONV TEBC144,FEBC144 D LC
  2941. CONV TEBC145,FEBC145 E LC
  2942. CONV TEBC146,FEBC146 F LC
  2943. CONV TEBC147,FEBC147 G LC
  2944. CONV TEBC150,FEBC150 H LC
  2945. CONV TEBC151,FEBC151 I LC
  2946. CONV TEBC152,FEBC152 J LC VERT LINE
  2947. CONV TEBC153,FEBC153 K LC ,
  2948. CONV TEBC154,FEBC154 L LC %
  2949. CONV TEBC155,FEBC155 M LC _
  2950. CONV TEBC156,FEBC156 N LC >
  2951. CONV TEBC157,FEBC157 O LC ?
  2952. CONV TEBC160,FEBC160 P LC
  2953. CONV TEBC161,FEBC161 Q LC
  2954. CONV TEBC162,FEBC162 R LC
  2955. CONV TEBC163,FEBC163 S LC
  2956. CONV TEBC164,FEBC164 T LC
  2957. CONV TEBC165,FEBC165 U LC
  2958. CONV TEBC166,FEBC166 V LC
  2959. CONV TEBC167,FEBC167 W LC
  2960. CONV TEBC170,FEBC170 X LC
  2961. CONV TEBC171,FEBC171 Y LC BACKWARDS AP
  2962. CONV TEBC172,FEBC172 Z LC :
  2963. CONV TEBC173,FEBC173 L BRACKET #
  2964. CONV TEBC174,FEBC174 VERT LINE @
  2965. CONV TEBC175,FEBC175 R BRACKET '
  2966. CONV TEBC176,FEBC176 TILDE =
  2967. CONV TEBC177,FEBC177 DEL "
  2968. CONV TEBC200,FEBC200 (DS)
  2969. CONV TEBC201,FEBC201 (SOS) A LC
  2970. CONV TEBC202,FEBC202 (FS) B LC
  2971. CONV TEBC203,FEBC203 C LC
  2972. CONV TEBC204,FEBC204 (BYP) D LC
  2973. CONV TEBC205,FEBC205 (NL) E LC
  2974. CONV TEBC206,FEBC206 (LC) F LC
  2975. CONV TEBC207,FEBC207 (IL) G LC
  2976. CONV TEBC210,FEBC210 H LC
  2977. CONV TEBC211,FEBC211 I LC
  2978. CONV TEBC212,FEBC212 (SM)
  2979. CONV TEBC213,FEBC213 (CU2)
  2980. CONV TEBC214,FEBC214
  2981. CONV TEBC215,FEBC215 (RLF)
  2982. CONV TEBC216,FEBC216 (SMM)
  2983. CONV TEBC217,FEBC217 (CU1)
  2984. CONV TEBC220,FEBC220
  2985. CONV TEBC221,FEBC221 J LC
  2986. CONV TEBC222,FEBC222 (CC) K LC
  2987. CONV TEBC223,FEBC223 L LC
  2988. CONV TEBC224,FEBC224 (PN) M LC
  2989. CONV TEBC225,FEBC225 (RS) N LC
  2990. CONV TEBC226,FEBC226 (UC) O LC
  2991. CONV TEBC227,FEBC227 (GE) P LC
  2992. CONV TEBC230,FEBC230 Q LC
  2993. CONV TEBC231,FEBC231 R LC
  2994. CONV TEBC232,FEBC232
  2995. CONV TEBC233,FEBC233 (CU3)
  2996. CONV TEBC234,FEBC234 (PF)
  2997. CONV TEBC235,FEBC235 (RES)
  2998. CONV TEBC236,FEBC236
  2999. CONV TEBC237,FEBC237
  3000. CONV TEBC240,FEBC240
  3001. CONV TEBC241,FEBC241 TILDE
  3002. CONV TEBC242,FEBC242 S LC
  3003. CONV TEBC243,FEBC243 T LC
  3004. CONV TEBC244,FEBC244 U LC
  3005. CONV TEBC245,FEBC245 V LC
  3006. CONV TEBC246,FEBC246 W LC
  3007. CONV TEBC247,FEBC247 X LC
  3008. CONV TEBC250,FEBC250 Y LC
  3009. CONV TEBC251,FEBC251 Z LC
  3010. CONV TEBC252,FEBC252
  3011. CONV TEBC253,FEBC253
  3012. CONV TEBC254,FEBC254
  3013. CONV TEBC255,FEBC255
  3014. CONV TEBC256,FEBC256
  3015. CONV TEBC257,FEBC257
  3016. CONV TEBC260,FEBC260
  3017. CONV TEBC261,FEBC261
  3018. CONV TEBC262,FEBC262
  3019. CONV TEBC263,FEBC263
  3020. CONV TEBC264,FEBC264
  3021. CONV TEBC265,FEBC265
  3022. CONV TEBC266,FEBC266
  3023. CONV TEBC267,FEBC267
  3024. CONV TEBC270,FEBC270
  3025. CONV TEBC271,FEBC271
  3026. CONV TEBC272,FEBC272
  3027. CONV TEBC273,FEBC273
  3028. CONV TEBC274,FEBC274
  3029. CONV TEBC275,FEBC275
  3030. CONV TEBC276,FEBC276
  3031. CONV TEBC277,FEBC277
  3032. CONV TEBC300,FEBC300 LEFT BRACKET
  3033. CONV TEBC301,FEBC301 A
  3034. CONV TEBC302,FEBC302 B
  3035. CONV TEBC303,FEBC303 C
  3036. CONV TEBC304,FEBC304 D
  3037. CONV TEBC305,FEBC305 E
  3038. CONV TEBC306,FEBC306 F
  3039. CONV TEBC307,FEBC307 G
  3040. CONV TEBC310,FEBC310 H
  3041. CONV TEBC311,FEBC311 I
  3042. CONV TEBC312,FEBC312
  3043. CONV TEBC313,FEBC313
  3044. CONV TEBC314,FEBC314 ZIG-ZAG SHAPE
  3045. CONV TEBC315,FEBC315
  3046. CONV TEBC316,FEBC316 Y SHAPE
  3047. CONV TEBC317,FEBC317
  3048. CONV TEBC320,FEBC320 RIGHT BRACKET
  3049. CONV TEBC321,FEBC321 J
  3050. CONV TEBC322,FEBC322 K
  3051. CONV TEBC323,FEBC323 L
  3052. CONV TEBC324,FEBC324 M
  3053. CONV TEBC325,FEBC325 N
  3054. CONV TEBC326,FEBC326 O
  3055. CONV TEBC327,FEBC327 P
  3056. CONV TEBC330,FEBC330 Q
  3057. CONV TEBC331,FEBC331 R
  3058. CONV TEBC332,FEBC332
  3059. CONV TEBC333,FEBC333
  3060. CONV TEBC334,FEBC334
  3061. CONV TEBC335,FEBC335
  3062. CONV TEBC336,FEBC336
  3063. CONV TEBC337,FEBC337
  3064. CONV TEBC340,FEBC340 \
  3065. CONV TEBC341,FEBC341
  3066. CONV TEBC342,FEBC342 S
  3067. CONV TEBC343,FEBC343 T
  3068. CONV TEBC344,FEBC344 U
  3069. CONV TEBC345,FEBC345 V
  3070. CONV TEBC346,FEBC346 W
  3071. CONV TEBC347,FEBC347 X
  3072. CONV TEBC350,FEBC350 Y
  3073. CONV TEBC351,FEBC351 Z
  3074. CONV TEBC352,FEBC352 (ZIG-ZAG)
  3075. CONV TEBC353,FEBC353
  3076. CONV TEBC354,FEBC354 (Y SHAPE) CHAIR SHAPE
  3077. CONV TEBC355,FEBC355
  3078. CONV TEBC356,FEBC356
  3079. CONV TEBC357,FEBC357
  3080. CONV TEBC360,FEBC360 0
  3081. CONV TEBC361,FEBC361 1
  3082. CONV TEBC362,FEBC362 2
  3083. CONV TEBC363,FEBC363 3
  3084. CONV TEBC364,FEBC364 4
  3085. CONV TEBC365,FEBC365 5
  3086. CONV TEBC366,FEBC366 (CHAIR SH.) 6
  3087. CONV TEBC367,FEBC367 7
  3088. CONV TEBC370,FEBC370 8
  3089. CONV TEBC371,FEBC371 9
  3090. CONV TEBC372,FEBC372 ((LVM)) VERT LINE (LVM)
  3091. CONV TEBC373,FEBC373
  3092. CONV TEBC374,FEBC374
  3093. CONV TEBC375,FEBC375
  3094. CONV TEBC376,FEBC376
  3095. CONV TEBC377,FEBC377 EO (EO)
  3096. *
  3097. CONV ZBCH,ZBCH
  3098. CONV EORC,EORC
  3099. CONV EOFC,EOFC
  3100. CONV EOIC,EOIC
  3101. *
  3102. LOC *O
  3103. QUAL *
  3104.  
  3105. BASE *
  3106. TITLE PRESET.
  3107. PRS SPACE 4,15
  3108. ** PRS - PRESET PROGRAM.
  3109. *
  3110. * EXIT (A0) = FWA CONVERSION TABLE.
  3111. * = 0 IF NO CONVERSION NEEDED.
  3112. * (B2) = CURRENT POSITION IN INPUT WORD.
  3113. * (B3) = CURRENT POSITION IN OUTPUT WORD.
  3114. * (B4) = INPUT CHARACTER LENGTH.
  3115. * (B5) = OUTPUT CHARACTER LENGTH.
  3116. *
  3117. * CALLS ARG, BLD, CLP, DXB, FBH, VLC.
  3118. *
  3119. * MACROS ABORT, FILINFO, MEMORY, MESSAGE, OPEN, SETFET.
  3120.  
  3121.  
  3122. PRS SUBR EXTRY/EXIT
  3123. SA1 ACTR GET ARGUMENT COUNT
  3124. SB4 X1
  3125. R= A4,ARGR SET ADDRESS OF FIRST ARGUMENT
  3126. SB5 TARG SET ADDRESS OF ARGUMENT TABLE
  3127. RJ ARG PROCESS ARGUMENTS
  3128. ZR X1,PRS2 IF NO ARGUMENT ERRORS
  3129. SX3 PRSA * ERROR IN FCOPY ARGUMENTS.*
  3130. PRS1 MESSAGE X3,3
  3131. ABORT ABORT
  3132.  
  3133. PRS2 SA1 P CHECK FILE NAMES FOR CONFLICT
  3134. SA2 N
  3135. BX6 X1-X2
  3136. AX6 18
  3137. NZ X6,PRS3 IF NO FILE NAME CONFLICT
  3138. SX3 PRSB * FILE NAME CONFLICT.*
  3139. EQ PRS1 ABORT
  3140.  
  3141. PRS3 MX0 42 SET FILE NAME IN PARAMETER BLOCK
  3142. SA2 PRSE
  3143. BX1 X0*X1
  3144. SX2 X2
  3145. BX6 X1+X2
  3146. SA6 A2+
  3147. FILINFO PRSE GET INPUT FILE INFORMATION
  3148. SA1 PRSE+1
  3149. LX1 59-24
  3150. PL X1,PRS6 IF INPUT FILE IS NOT A TAPE
  3151. SA2 PRSE+5 CHECK FOR STRANGER TAPE
  3152. AX2 6
  3153. SX2 X2-/COMSMTX/TFS
  3154. ZR X2,PRS5 IF INPUT FILE IS AN S-FORMAT TAPE
  3155. SX2 X2+/COMSMTX/TFS-/COMSMTX/TFL
  3156. NZ X2,PRS6 IF INPUT FILE IS NOT AN L-FORMAT TAPE
  3157. PRS5 SX7 B1+ SET STRANGER TAPE INPUT FILE FLAG
  3158. SA7 STPI
  3159. PRS6 LX1 19
  3160. AX1 48
  3161. SX3 PRSD * INPUT FILE NOT FOUND.*
  3162. ZR X1,PRS1 IF FILE DOES NOT EXIST
  3163. SA1 N SET OUTPUT FILE NAME IN PARAMETER BLOCK
  3164. MX0 42
  3165. SA2 PRSE
  3166. BX1 X0*X1
  3167. SX2 X2
  3168. BX6 X1+X2
  3169. SA6 A2+
  3170. FILINFO PRSE GET OUTPUT FILE INFORMATION
  3171. SA1 PRSE+1
  3172. LX1 59-24
  3173. PL X1,PRS9 IF OUTPUT FILE IS NOT A TAPE
  3174. SA2 PRSE+5 CHECK FOR STRANGER TAPE
  3175. AX2 6
  3176. SX2 X2-/COMSMTX/TFS
  3177. ZR X2,PRS8 IF OUTPUT FILE IS AN S-FORMAT TAPE
  3178. SX2 X2+/COMSMTX/TFS-/COMSMTX/TFL
  3179. NZ X2,PRS9 IF OUTPUT FILE IS NOT AN L-FORMAT TAPE
  3180. PRS8 SX7 B1+ SET STRANGER TAPE OUTPUT FILE FLAG
  3181. SA7 STPO
  3182. PRS9 SA1 CSMR CHECK CHARACTER SET MODE
  3183. SB7 B1+ PRESET FOR CALL(S) TO *DXB*
  3184. NG X1,PRS10 IF IN 64 CHARACTER MODE
  3185. SA2 ADTE GET ALTERNATE TYPE TABLE ENTRIES
  3186. SA3 AATE
  3187. BX6 X2
  3188. BX7 X3
  3189. SA6 ADTP SET ALTERNATE TYPE TABLE ENTRIES
  3190. SA7 AATP
  3191. PRS10 SA4 FL CHECK *FL* AND *LB*
  3192. SA5 LB
  3193. ZR X4,PRS11 IF NO *FL* SPECIFIED
  3194. NZ X5,PRS13 IF BOTH *FL* AND *LB* SPECIFIED
  3195. BX5 X4 CALCULATE *LB* FROM *FL*
  3196. RJ DXB CONVERT TO DECIMAL
  3197. SA6 A4
  3198. SX5 MXCB MAXIMUM CHARACTERS PER BLOCK
  3199. IX6 X5/X6
  3200. SA6 A5
  3201. EQ PRS14 CONTINUE
  3202.  
  3203. PRS11 ZR X5,PRS12 IF NO *FL* OR *LB* SPECIFIED
  3204. RJ DXB SET *LB*
  3205. SA6 A5
  3206. SX6 80D DEFAULT VALUE FOR *FL*
  3207. SA6 A4
  3208. EQ PRS14 CONTINUE
  3209.  
  3210. PRS12 SX6 80D SET DEFAULTS FOR *FL* AND *LB*
  3211. SX7 48D
  3212. SA6 A4
  3213. SA7 A5
  3214. EQ PRS14 CONTINUE
  3215.  
  3216. PRS13 RJ DXB TRANSLATE FROM DISPLAY
  3217. SA6 A5
  3218. SA5 A4
  3219. RJ DXB
  3220. SA6 FL
  3221. PRS14 SA1 PL GET INPUT FILE LINE TERMINATOR
  3222. SA4 STPI GET STRANGER TAPE INPUT FILE FLAG
  3223. SA3 PC GET INPUT FILE CHARACTER SET
  3224. RJ CLP CHECK LINE TERMINATOR PARAMETER
  3225. NZ X3,PRS1 IF ERROR
  3226. SA1 NL GET OUTPUT FILE LINE TERMINATOR
  3227. SA4 STPO GET STRANGER TAPE OUTPUT FILE FLAG
  3228. SA3 NC GET OUTPUT FILE CHARACTER SET
  3229. RJ CLP CHECK LINE TERMINATOR PARAMETER
  3230. NZ X3,PRS1 IF ERROR
  3231. SA1 PC CHECK FILE CHARACTERISTICS
  3232. SX3 PRSC * UNRECOGNIZED CODE SET PARAMETER.*
  3233. MX0 42
  3234. SA2 TCHT
  3235. PRS15 ZR X2,PRS1 IF END OF *TCHT* TABLE
  3236. BX6 X1-X2
  3237. BX6 X0*X6
  3238. ZR X6,PRS16 IF LEGAL *PC* VALUE
  3239. SA2 A2+2
  3240. EQ PRS15 READ NEXT TABLE ENTRY
  3241.  
  3242. PRS16 SA2 A2+B1 GET FWA OF INPUT BASE TABLE
  3243. SB6 X2
  3244. AX2 18
  3245. SX1 B1
  3246. BX1 X2*X1 GET STRANGER TAPE ALLOWED FLAG
  3247. AX2 30
  3248. SB4 X2+
  3249. SA2 STPI
  3250. SX3 PRSF * INCORRECT FILE TYPE FOR SPECIFIED ... *
  3251. IX2 X1+X2
  3252. ZR X2,PRS17 IF INPUT FILE NOT STRANGER TAPE
  3253. SX2 X2-2
  3254. NZ X2,PRS1 IF INCORRECT FILE TYPE FOR CHARACTER SET
  3255. SA1 FL
  3256. SA2 LB
  3257. SB7 B4+
  3258. RJ FBH FORM INPUT FILE BLOCK HEADER WORD
  3259. SA6 IBHW
  3260. SA6 P+6 SAVE HEADER WORD IN FET+6
  3261. MX5 -18
  3262. BX5 -X5*X6
  3263. SX5 X5-PBUFL+2
  3264. NG X5,PRS17 IF LESS THAN ALLOCATED SIZE
  3265. MEMORY ,PRSG,R GET CURRENT FIELD LENGTH
  3266. SA1 PRSG
  3267. AX1 30
  3268. IX6 X1+X5 NEW FIELD LENGTH
  3269. LX6 30
  3270. SA6 A1
  3271. MEMORY ,PRSG,R SET NEW FIELD LENGTH
  3272. SETFET P,BUF=(PBUF,X5+PBUFL) SET BUFFER POINTERS
  3273. SETFET N,BUF=(X5+NBUF,NBUFL)
  3274. PRS17 SA1 NC
  3275. SA2 TCHT
  3276. SX3 PRSC * UNRECOGNIZED CODE SET PARAMETER.*
  3277. PRS18 ZR X2,PRS1 IF END OF *TCHT* TABLE
  3278. BX6 X1-X2
  3279. BX6 X0*X6
  3280. ZR X6,PRS19 IF LEGAL *NC* VALUE
  3281. SA2 A2+2
  3282. EQ PRS18 READ NEXT TABLE ENTRY
  3283.  
  3284. PRS19 SA2 A2+1 GET FWA OF OUTPUT BASE TABLE
  3285. SB2 X2
  3286. AX2 18
  3287. SX1 B1+
  3288. BX1 X2*X1 GET STRANGER TAPE ALLOWED FLAG
  3289. AX2 30
  3290. SB5 X2+
  3291. SA2 STPO
  3292. SX3 PRSF * INCORRECT FILE TYPE FOR SPECIFIED ... *
  3293. IX2 X1+X2
  3294. ZR X2,PRS21 IF OUTPUT FILE NOT STRANGER TAPE
  3295. SX2 X2-2
  3296. NZ X2,PRS1 IF INCORRECT FILE TYPE FOR CHARACTER SET
  3297. SA1 FL
  3298. SA2 LB
  3299. SB7 B5+
  3300. RJ FBH FORM OUTPUT FILE BLOCK HEADER WORD
  3301. SA6 OBHW
  3302. SA6 N+6 SAVE HEADER WORD IN FET+6
  3303. MX5 -18
  3304. BX5 -X5*X6
  3305. SX5 X5-NBUFL+2
  3306. NG X5,PRS20 IF LESS THAN ALLOCATED SIZE
  3307. MEMORY ,PRSG,R GET CURRENT FIELD LENGTH
  3308. SA1 PRSG
  3309. AX1 30
  3310. IX6 X1+X5 NEW FIELD LENGTH
  3311. LX6 30
  3312. SA6 A1
  3313. MEMORY ,PRSG,R SET NEW FIELD LENGTH
  3314. SA1 N+1 FIRST
  3315. SETFET N,BUF=(X1,X5+NBUFL) SET BUFFER POINTERS
  3316. PRS20 SA1 LB PRESET NUMBER OF LINES IN OUTPUT BLOCK
  3317. SA2 FL PRESET NUMBER OF CHARACTERS IN OUTPUT LINE
  3318. BX6 X1
  3319. BX7 X2
  3320. SA6 OLCT
  3321. SA7 OLCC
  3322. SA3 N+2 PRESET POINTER TO SPACE FOR HEADER WORD
  3323. BX6 X3
  3324. SA6 IPTR
  3325. SA1 SPAC SET PROPER BLANK FOR FILLING SHORT LINES
  3326. SA2 X1+B2
  3327. AX2 18
  3328. BX7 X2
  3329. SA7 A1+
  3330. PRS21 SB7 B2+
  3331. SA2 STPI
  3332. SA1 PL OLD FILE LINE TERMINATOR
  3333. SX6 X1+
  3334. NZ X2,PRS22 IF INPUT FILE IS STRANGER TAPE
  3335. SB2 B4 CHARACTER LENGTH
  3336. SB3 B6 FWA OF CONVERSION TABLE
  3337. RJ VLC VERIFY LINE TERMINATOR WITH CODE SET
  3338. NZ X3,PRS1 IF AN ERROR
  3339. PRS22 SA6 PL SAVE CONVERTED LINE TERMINATOR
  3340. SA2 STPO
  3341. SA1 NL NEW FILE LINE TERMINATOR
  3342. SX6 X1+
  3343. NZ X2,PRS23 IF OUTPUT FILE IS STRANGER TAPE
  3344. SB2 B5 CHARACTER LENGTH
  3345. SB3 B7 FWA OF CONVERSION TABLE
  3346. RJ VLC VERIFY LINE TERMINATOR WITH CODE SET
  3347. NZ X3,PRS1 IF AN ERROR
  3348. PRS23 SA6 NL SAVE CONVERTED LINE TERMINATOR
  3349. OPEN P,READNR,R OPEN INPUT FILE
  3350. OPEN N,READNR,R OPEN OUTPUT FILE
  3351. SA1 PL INPUT FILE LINE TERMINATOR
  3352. SA2 NL OUTPUT FILE LINE TERMINATOR
  3353. SA3 STPI
  3354. BX6 X1-X2
  3355. NZ X6,PRS24 IF LINE TERMINATORS ARE DIFFERENT
  3356. NE B4,B5,PRS24 IF CHARACTER LENGTHS ARE DIFFERENT
  3357. NZ X3,PRS24 IF STRANGER TAPE(S) INVOLVED
  3358. EQ B6,B7,PRS25 IF JUST COPY, NO CONVERSION
  3359. PRS24 RJ BLD BUILD CONVERSION TABLE
  3360. SB2 B0+ ZERO CURRENT POSITION IN INPUT WORD
  3361. SB3 60D RESET CURRENT POSITION IN OUTPUT WORD
  3362. EQ PRSX RETURN
  3363.  
  3364. PRS25 SA0 B0+ SET FOR SIMPLE COPY
  3365. EQ PRSX RETURN
  3366.  
  3367. PRSA DATA C* ERROR IN FCOPY ARGUMENTS.*
  3368. PRSB DATA C* FILE NAME CONFLICT.*
  3369. PRSC DATA C* UNRECOGNIZED CODE SET PARAMETER.*
  3370. PRSD DATA C* INPUT FILE NOT FOUND.*
  3371. PRSF DATA C* INCORRECT FILE TYPE FOR SPECIFIED CHARACTER SET.*
  3372. PRSE VFD 42/0,6/PRSEL,12/1 *FILINFO* PARAMETER BLOCK
  3373. BSS FIPBL-1 *FILINFO* PARAMETER BLOCK LENGTH
  3374. VFD 54/0,6/FMTK
  3375. PRSEL EQU *-PRSE
  3376. PRSG BSSZ 1 MEMORY WORD
  3377. SPACE 4,10
  3378. * PRESET COMMON DECKS.
  3379.  
  3380.  
  3381. *CALL COMCARG
  3382. *CALL COMCDXB
  3383. SPACE 4,10
  3384. ** TARG - ARGUMENT TABLE.
  3385.  
  3386.  
  3387. TARG BSS 0
  3388. P ARG P,P OLD FILE NAME
  3389. N ARG N,N NEW FILE NAME
  3390. PC ARG PC,PC OLD FILE INTERNAL CHARACTERISTIC
  3391. NC ARG NC,NC NEW FILE INTERNAL CHARACTERISTIC
  3392. PL ARG PL,PL,400B OLD LINE TERMINATOR
  3393. NL ARG NL,NL,400B NEW LINE TERMINATOR
  3394. FL ARG FL,FL FIXED LINE LENGTH (STRANGER TAPE ONLY)
  3395. LB ARG LB,LB BLOCK LENGTH (STRANGER TAPE ONLY)
  3396. R ARG -ASV,R REWIND
  3397. A ARG -ASV,A ABORT
  3398. ARG
  3399. SPACE 4,10
  3400. ** TCHT - CHARACTER TYPE TABLE.
  3401. *
  3402. *T 42/CS, 18/0
  3403. *T 12/CCL, 29/0, 1/STF, 18/CBTA
  3404. *
  3405. * CS = CHARACTER SET NAME.
  3406. * CCL = CHARACTER CODE LENGTH.
  3407. * STF = 1 IF CHARACTER SET ONLY USED WITH STRANGER TAPE.
  3408. * CBTA = CONVERSION BASE TABLE FWA.
  3409.  
  3410.  
  3411. TCHT BSS 0
  3412. VFD 42/0LDIS,18/0
  3413. ADTP VFD 12/6,30/0,18/TD64
  3414. VFD 42/0LDIS63,18/0
  3415. ADTE VFD 12/6,30/0,18/TD63
  3416. VFD 42/0LDIS64,18/0
  3417. VFD 12/6,30/0,18/TD64
  3418. VFD 42/0LASCII,18/0
  3419. AATP VFD 12/6,30/0,18/TA64
  3420. VFD 42/0LASCII63,18/0
  3421. AATE VFD 12/6,30/0,18/TA63
  3422. VFD 42/0LASCII64,18/0
  3423. VFD 12/6,30/0,18/TA64
  3424. VFD 42/0LASCII8,18/0
  3425. VFD 12/12,30/0,18/TAS8
  3426. ASCI VFD 42/0LASCII88,18/0
  3427. VFD 12/8,30/0,18/TASC
  3428. VFD 42/0LASCFL,18/0
  3429. VFD 12/8,29/0,1/1,18/TASC
  3430. VFD 42/0LEBCFL,18/0
  3431. VFD 12/8,29/0,1/1,18/TEBC
  3432. VFD 42/0LICS,18/0
  3433. VFD 12/12,30/0,18/0
  3434. CON 0
  3435.  
  3436. SPACE 4,10
  3437. ** TLNT - TABLE OF LINE TERMINATORS.
  3438. *
  3439. *T 42/TERMINATOR NAME,18/0
  3440. *T 1/D, 1/C, 42/0, 16/TERMINATOR VALUE(S)
  3441. *
  3442. * D = DOUBLE LENGTH FLAG.
  3443. * C = CONVERTED TERMINATOR FLAG.
  3444.  
  3445. TLNT BSS 0
  3446. VFD 42/0LZB,18/0
  3447. DTRM VFD 1/0,1/1,42/0,16/ZBCH
  3448. VFD 42/0LCR,18/0
  3449. VFD 1/0,1/0,42/0,16/15B
  3450. VFD 42/0LFF,18/0
  3451. VFD 1/0,1/0,42/0,16/14B
  3452. VFD 42/0LLF,18/0
  3453. VFD 1/0,1/0,42/0,16/12B
  3454. VFD 42/0LUS,18/0
  3455. ATRM VFD 1/0,1/0,42/0,16/37B
  3456. VFD 42/0LRS,18/0
  3457. VFD 1/0,1/0,42/0,16/36B
  3458. VFD 42/0LCRLF,18/0
  3459. VFD 1/1,1/0,42/0,8/15B,8/12B
  3460. VFD 42/0LLFCR,18/0
  3461. VFD 1/1,1/0,42/0,8/12B,8/15B
  3462. CON 0
  3463. SPACE 4,10
  3464. ** BLD - BUILD TABLE.
  3465. *
  3466. * ENTRY (B5) = OUTPUT CHARACTER LENGTH.
  3467. * (B6) = FWA INPUT CONVERSION BASE TABLE.
  3468. * (B7) = FWA OUTPUT CONVERSION BASE TABLE.
  3469. *
  3470. * EXIT (A0) = FWA CONVERSION TABLE.
  3471. *
  3472. * USES X - ALL.
  3473. * A - 0, 1, 2, 4, 5, 6, 7.
  3474. * B - 2, 3, 6, 7.
  3475.  
  3476.  
  3477. BLD SUBR ENTRY/EXIT
  3478. SB2 TLEN SET BASE TABLE LENGTH
  3479. SA0 TCVT SET ADDRESS OF CONVERSION TABLE
  3480. MX0 5 FORM MASKS
  3481. MX2 -11
  3482. MX5 -12
  3483. SB3 B0 INITIALIZE TABLE OFFSET
  3484. BLD1 SA1 B6+B3 GET NEXT TABLE ENTRY
  3485. NZ B6,BLD2 IF INPUT CHARACTER IS NOT *ICS*
  3486. SA1 B7+B3 GET NEXT TABLE ENTRY
  3487. AX1 18
  3488. BLD2 LX1 59-17 EXTRACT FLAGS
  3489. BX6 X0*X1
  3490. NZ X6,BLD3 IF EITHER FLAG IS SET
  3491. ZR B6,BLD3 IF INPUT CHARACTER SET IS *ICS*
  3492. ZR B7,BLD3 IF OUTPUT CHARACTER SET IS *ICS*
  3493. LX1 -59+17
  3494. BX1 -X2*X1 GET *ICS* CHARACTER
  3495. SA1 B7+X1 GET CONVERSION FOR CHARACTER
  3496. LX1 59-35 EXTRACT FLAGS
  3497. BX6 X0*X1
  3498. BLD3 LX1 59-30-59+35 FORM COUNT
  3499. SX4 B1
  3500. PL X1,BLD4 IF DOUBLE LENGTH FLAG NOT SET
  3501. SX4 2
  3502. BLD4 LX1 59-17-59+30 EXTRACT CHARACTER FIELD
  3503. BX1 -X5*X1
  3504. LX4 54 FORM FINAL TABLE WORD
  3505. LX6 59-32-59+35
  3506. BX4 X4+X1
  3507. BX6 X4+X6
  3508. SA6 A0+B3 SAVE TABLE WORD
  3509. SB3 B3+B1 INCREMENT TABLE POINTER
  3510. LE B3,B2,BLD1 IF MORE TABLE ENTRIES TO BUILD
  3511.  
  3512. * ADD LINE TERMINATOR CONVERSIONS TO TABLE.
  3513.  
  3514. SA1 PL GET OLD LINE TERMINATOR
  3515. SA2 NL GET NEW LINE TERMINATOR
  3516. SX4 1 FORM NEW LINE TERMINATOR LENGTH
  3517. PL X2,BLD5 IF NEW TERMINATOR IS DOUBLE LENGTH
  3518. SX4 2
  3519. BLD5 MX0 1 EXTRACT CHARACTERS
  3520. BX6 -X0*X2
  3521. LX4 59-5 FORM NEW LINE TERMINATOR WORD
  3522. BX6 X4+X6
  3523. NG X1,BLD6 IF OLD TERMINATOR IS DOUBLE LENGTH
  3524. SB3 X1
  3525. SA6 A0+B3 SAVE LINE TERMINATOR WORD
  3526. EQ BLDX RETURN
  3527.  
  3528. BLD6 SA6 BLDA SAVE NEW LINE TERMINATOR WORD
  3529. SB3 B4-B1 FORM MASK FOR OLD CHARACTERS
  3530. AX0 B3
  3531. LX0 B4
  3532. BX3 X0*X1 EXTRACT SECOND CHARACTER OF OLD TERMINATOR
  3533. AX1 B4 EXTRACT FIRST CHARACTER OF OLD TERMINATOR
  3534. BX1 X0*X1
  3535. SB7 6
  3536. SX4 TLEN+1 PRESET OFFSET TO TERMINATOR CONVERSION
  3537. NE B4,B7,BLD7 IF OLD CHARACTER SET IS NOT 6/12
  3538. SX5 X1-74B CHECK FOR 74B ESCAPE CODE
  3539. SX4 200B SET OFFSET FOR 74B ESCAPE CODE
  3540. ZR X5,BLD7 IF FIRST CHARACTER IS 74B ESCAPE CODE
  3541. SX4 300B SET OFFSET FOR 76B ESCAPE CODE
  3542. BLD7 MX7 1 FORM OFFSET WORD
  3543. BX7 X7+X4
  3544. SB6 X4+ SET OFFSET TO TABLE EXTENSION
  3545. SA7 BLDB SAVE OFFSET WORD
  3546. EQ B4,B7,BLD10 IF CHARACTER SET IS 6/12
  3547.  
  3548. * BUILD CONVERSION TABLE EXTENSION.
  3549.  
  3550. SB3 B0 INITIALIZE TABLE POINTER
  3551. SB7 X1+ (B7) = FIRST CHARACTER OF OLD TERMINATOR
  3552. SA4 A0+B7 TRANSLATE TERMINATOR CHARACTER
  3553. MX0 3 FORM MASK FOR CHARACTER COUNT
  3554. LX0 60-3
  3555. BX7 X0*X4 EXTRACT CHARACTER COUNT
  3556. MX2 -36
  3557. SA7 BLDC
  3558. BX6 -X2*X4 EXTRACT CONVERTED TERMINATOR CHARACTERS
  3559. BX2 X4 FORM ALTERATION WORD FOR DELETION ENTRY
  3560. BLD8 SA5 A0+B3 GET NEXT TABLE ENTRY
  3561. BX7 X0*X5 EXTRACT TRANSLATION CHARACTER COUNT
  3562. LX7 6
  3563. SX4 B5
  3564. IX7 X7*X4 COMPUTE TOTAL BITS
  3565. SB2 X7
  3566. LX7 X6,B2 CONVERTED FIRST TERMINATOR CHARACTER
  3567. SA4 BLDC CHARACTER COUNT
  3568. BX7 X5+X7 CURRENT CONVERTED CHARACTER
  3569. IX7 X4+X7 FINAL CONVERSION CHARACTER COUNT
  3570. LX5 1
  3571. PL X5,BLD9 IF NORMAL CONVERSION ENTRY
  3572. BX7 X2 USE ALTERATION WORD FOR DELETION ENTRY
  3573. BLD9 SB7 B6+B3 SAVE EXTENSION ENTRY
  3574. SA7 A0+B7
  3575. SB3 B3+B1 INCREMENT TABLE POINTER
  3576. LT B3,B6,BLD8 IF TABLE EXTENSION NOT COMPLETE
  3577. SX7 B7+ SET NEW TABLE LENGTH
  3578. SA7 TCVTL
  3579. BLD10 SA4 BLDB GET OFFSET-TO-TABLE-EXTENSION ENTRY
  3580. SA5 BLDA GET NEW TERMINATOR ENTRY
  3581. BX6 X4
  3582. SB2 X1
  3583. BX7 X5
  3584. SB6 B6+X3
  3585. SA6 A0+B2 SAVE OFFSET ENTRY
  3586. SA7 A0+B6 SAVE NEW TERMINATOR ENTRY
  3587. EQ BLDX RETURN
  3588.  
  3589.  
  3590. BLDA CON 0 TEMPORARY STORAGE
  3591. BLDB CON 0 TEMPORARY STORAGE
  3592. BLDC CON 0 TEMPORARY STORAGE
  3593. CLP SPACE 4,15
  3594. ** CLP - CHECK LINE TERMINATOR PARAMETER.
  3595. *
  3596. * ENTRY (X1) = LINE TERMINATOR PARAMETER VALUE.
  3597. * (X3) = CHARACTER SET PARAMETER VALUE.
  3598. * (X4) = STRANGER FORMAT TAPE FLAG.
  3599. *
  3600. * EXIT (X3) = 0 IF NO ERROR, OTHERWISE ERROR MESSAGE ADDRESS.
  3601. *
  3602. * USES X - 0, 2, 3, 4, 5, 6.
  3603. * A - 2, 4, 6.
  3604. * B - 7.
  3605. *
  3606. * CALLS DXB.
  3607.  
  3608.  
  3609. CLP4 SX3 CLPA * UNRECOGNIZED LINE TERMINATOR PARAMETER.*
  3610.  
  3611. CLP SUBR ENTRY/EXIT
  3612. MX0 42
  3613. SA2 TLNT
  3614. NZ X1,CLP0.1 IF LINE TERMINATOR WAS INPUT
  3615. SA4 ASCI CHECK CHARACTER SET
  3616. SA2 DTRM SET DEFAULT TERMINATOR
  3617. MX0 42
  3618. BX4 X4-X3
  3619. BX4 X0*X4
  3620. NZ X4,CLP3 IF CHARACTER SET NOT *ASCII88*
  3621. SA2 ATRM SET DEFAULT TERMINATOR FOR *ASCII88*
  3622. EQ CLP3 SAVE DEFAULT TERMINATOR
  3623.  
  3624. CLP0.1 ZR X4,CLP1 IF NOT STRANGER TAPE
  3625. SX3 CLPB * LINE TERMINATORS NOT USED ... *
  3626. EQ CLPX RETURN
  3627.  
  3628. CLP1 ZR X2,CLP2 IF END OF *TLNT* TABLE
  3629. BX6 X1-X2
  3630. BX6 X0*X6
  3631. SA2 A2+1
  3632. ZR X6,CLP3 IF LEGAL LINE TERMINATOR VALUE
  3633. SA2 A2+1
  3634. EQ CLP1 READ NEXT TABLE ENTRY
  3635.  
  3636. CLP2 SB7 B0 ASSUME OCTAL
  3637. BX5 X1*X0
  3638. RJ DXB CONVERT FROM DISPLAY CODE
  3639. NZ X4,CLP4 IF ERROR IN CONVERSION
  3640. MX2 1
  3641. LX2 -1
  3642. BX2 X6+X2 SET CONVERTED LINE TERMINATOR FLAG
  3643. CLP3 BX6 X2
  3644. SA6 A1 SAVE LINE TERMINATOR VALUE
  3645. BX3 X3-X3 SET NO ERROR
  3646. EQ CLPX RETURN
  3647.  
  3648.  
  3649. CLPA DATA C* UNRECOGNIZED LINE TERMINATOR PARAMETER.*
  3650. CLPB DATA C* LINE TERMINATORS NOT USED ON A STRANGER TAPE.*
  3651. VLC SPACE 4,15
  3652. ** VLC - VERIFY LINE TERMINATOR WITH CODE SET.
  3653. *
  3654. * ENTRY (B2) = CHARACTER LENGTH.
  3655. * (B3) = FWA OF CONVERSION TABLE.
  3656. * (X1) = LINE TERMINATOR.
  3657. *
  3658. * EXIT (X3) = 0 IF NO ERROR, OTHERWISE ERROR MESSAGE ADDRESS.
  3659. * (X6) = CONVERTED LINE TERMINATOR.
  3660. *
  3661. * USES X - 1, 2, 3, 4, 5, 6.
  3662. * A - 1, 2.
  3663. * B - 2.
  3664.  
  3665. VLC6 SX3 VLCA *CODE SET LINE TERMINATOR CONFLICT*
  3666.  
  3667. VLC SUBR ENTRY/EXIT
  3668. SX3 B0+ PRESET TO NO ERROR
  3669. BX6 X1
  3670. LX6 59-58
  3671. PL X6,VLC4 IF TERMINATOR NEEDS TO BE CONVERTED
  3672. SB2 B2-B1
  3673. SX1 X1 REMOVE FLAGS
  3674. SX2 X1-ZBCH
  3675. BX6 X1
  3676. NZ X2,VLC1 IF TERMINATOR NOT ZERO BYTE
  3677. SX2 B3-TASC
  3678. ZR X2,VLC6 IF CHARACTER SET IS *ASCII88*
  3679. EQ VLCX RETURN
  3680.  
  3681. VLC1 MX6 1
  3682. AX6 B2
  3683. SB2 B2+1
  3684. LX6 B2
  3685. BX5 -X6*X1
  3686. NZ X5,VLC2 IF TERMINATOR LARGER THAN CHARACTER LENGTH
  3687. BX6 X1*X6
  3688. EQ VLCX RETURN LINE TERMINATOR VALUE
  3689.  
  3690. VLC2 SX2 B3-TA64
  3691. ZR X2,VLC3 IF 6/12 CHARACTER SET
  3692. SX2 B3-TA63
  3693. NZ X2,VLC3 IF NOT 6/12 CHARACTER SET
  3694. VLC3 AX4 X1,B2 CHECK FIRST CHARACTER OF TERMINATOR
  3695. SX2 X4-74B
  3696. ZR X2,VLCX IF FIRST CHARACTER IS 74B ESCAPE CODE
  3697. SX2 X4-76B
  3698. ZR X2,VLCX IF FIRST CHARACTER IS 76B ESCAPE CODE
  3699. EQ VLC6 ERROR IN TERMINATOR
  3700.  
  3701. VLC4 MX6 60-8
  3702. NG X1,VLC5 IF DOUBLE LENGTH TERMINATOR
  3703. BX1 -X6*X1
  3704. SA1 B3+X1 GET CHARACTER FROM TABLE
  3705. MX6 60-12
  3706. AX1 18
  3707. BX6 -X6*X1 EXTRACT CHARACTER
  3708. MX2 1
  3709. LX1 59-12
  3710. BX2 X1*X2
  3711. BX6 X2+X6 MERGE DOUBLE LENGTH FLAG
  3712. MX2 60-5
  3713. BX1 -X2*X1 EXTRACT SPECIAL FLAGS
  3714. NZ X1,VLC6 IF SPECIAL FLAGS SET
  3715. EQ VLCX RETURN
  3716.  
  3717. VLC5 LX1 -8
  3718. BX2 -X6*X1
  3719. SA2 B3+X2 GET CHARACTER FROM TABLE
  3720. MX4 60-12
  3721. AX2 18
  3722. BX5 -X4*X2 EXTRACT CHARACTER
  3723. AX2 12
  3724. NZ X2,VLC6 IF ANY FLAGS SET
  3725. LX5 X5,B2
  3726. LX1 8
  3727. BX2 -X6*X1
  3728. SA2 B3+X2
  3729. AX2 18
  3730. BX6 -X4*X2 EXTRACT CHARACTER
  3731. AX2 12
  3732. NZ X2,VLC6 IF ANY FLAGS SET
  3733. BX6 X5+X6 MERGE CHARACTERS
  3734. MX1 1
  3735. BX6 X6+X1 SET DOUBLE LENGTH FLAG
  3736. EQ VLCX RETURN
  3737.  
  3738.  
  3739. VLCA DATA C* CODE SET LINE TERMINATOR CONFLICT.*
  3740. SPACE 4,10
  3741. END FCOPY