IDENT FCOPY,FETS,FCOPY
ABS
ENTRY FCOPY
ENTRY RFL=
SYSCOM B1
*COMMENT FCOPY - FILE COPY.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
TITLE FCOPY - FILE COPY.
SPACE 4,10
*** FCOPY - FILE COPY.
* D. R. HILGREN 79/01/15.
* J. HOLLISTER 82/02/22.
SPACE 4,10
*** *FCOPY* CONVERTS A FILE FROM ONE CODE SET FORMAT
* TO ANOTHER CODE SET FORMAT.
SPACE 4,20
*** COMMAND.
*
* FCOPY(P=LFN1,N=LFN2,PC=IC1,NC=IC2,PL=LT1,NL=LT2,FL=L,LB=N,R,A)
*
* LFN1 FILE TO BE CONVERTED (DEFAULT IS *OLD*). LFN1
* IS NOT REWOUND BEFORE OR AFTER THE OPERATION.
*
* LFN2 FILE WRITTEN IN NEW FORMAT (DEFAULT IS *NEW*).
* LFN2 IS NOT REWOUND BEFORE OR AFTER THE OPERATION.
*
* IC1 INTERNAL CHARACTERISTIC OF LFN1 (DEFAULT IS
* *ASCII*).
*
* IC2 INTERNAL CHARACTERISTIC OF LFN2 (DEFAULT IS
* *ASCII8*).
*
* DIS = 6 BIT DISPLAY CODE BASED ON EITHER 63 OR 64
* CHARACTER SET, WHICHEVER IS IN USE IN THE
* RESIDENT SYSTEM.
*
* DIS63 = 6 BIT DISPLAY CODE, BASED ON 63
* CHARACTER SET.
*
* DIS64 = 6 BIT DISPLAY CODE, BASED ON 64
* CHARACTER SET.
*
* ASCII = 6/12 DISPLAY CODE BASED ON EITHER 63 OR 64
* CHARACTER SET.
*
* ASCII63 = 6/12 DISPLAY CODE BASED ON THE 63 CHARACTER
* SET.
*
* ASCII64 = 6/12 DISPLAY CODE, BASED ON THE 64 CHARACTER
* SET.
*
* ASCII8 = 7 BIT SUBSET OF 8 BIT ASCII, RIGHT
* JUSTIFIED IN 12 BITS.
*
* ASCII88 = FULL 8 BIT ASCII CHARACTER SET IN 8 BITS.
*
* ASCFL = FULL 8 BIT ASCII, IN FIXED LENGTH LINES
* WITHOUT LINE TERMINATORS (STRANGER TAPES
* ONLY).
*
* EBCFL = 8 BIT EBCDIC, IN FIXED LENGTH LINES
* WITHOUT LINE TERMINATORS (STRANGER TAPES
* ONLY).
*
* LT1 LINE TERMINATOR OF LFN1 (DEFAULT IS ZERO BYTE).
*
* LT2 LINE TERMINATOR OF LFN2 (DEFAULT IS ZERO BYTE).
*
* ZB = ZERO BYTE.
* CR = CARRIAGE RETURN.
* FF = FORM FEED.
* LF = LINE FEED.
* US = UNIT SEPARATOR.
* RS = RECORD SEPARATOR.
* CRLF = CARRIAGE RETURN-LINE FEED.
* LFCR = LINE FEED-CARRIAGE RETURN.
* NN = SPECIFIED OCTAL VALUE.
*
* THE FOLLOWING TABLE SPECIFIES THE LEGAL COMBINATIONS
* OF CODE SETS (INTERNAL CHARACTERISTICS) AND LINE
* TERMINATORS.
*
*
* * LINE TERMINATOR
* CODE SET *
* * ZB CR FF LF US RS CRLF LFCR NN
* ******************************************************
* DIS * Y N N N N N N N 0-77B
* *
* DIS63 * Y N N N N N N N 0-77B
* *
* DIS64 * Y N N N N N N N 0-77B
* *
* ASCII * Y Y Y Y Y Y N N 0-77B *
* *
* ASCII63 * Y Y Y Y Y Y N N 0-77B *
* *
* ASCII64 * Y Y Y Y Y Y N N 0-77B *
* *
* ASCII8 * Y Y Y Y Y Y Y Y 0-377B
* *
* ASCII88 * N Y Y Y Y Y Y Y 0-377B
* *
* ASCFL * N N N N N N N N N
* *
* EBCFL * N N N N N N N N N
*
* * +7400B OR 7700B, IF DESIRED.
*
* L FIXED LENGTH LINE LENGTH. THIS PARAMETER IS ONLY
* USED ON STRANGER TAPES. (DEFAULT IS 80)
*
* N LINES PER BLOCK ON STRANGER TAPE. FOR S-FORMAT
* STRANGER TAPE, THE PRODUCT OF THE FIXED LINE LENGTH
* AND THE BLOCK LENGTH MUST BE LESS THAN OR EQUAL TO
* 3840. (DEFAULT IS 3840 DIVIDED BY FIXED LENGTH LINE
* LENGTH)
*
* R - IF SPECIFIED, LFN1 AND LFN2 ARE REWOUND BEFORE AND
* AFTER THE OPERATION.
*
* A - IF SPECIFIED, ABORT AFTER THE OPERATION IF ERRORS
* OCCURRED.
SPACE 4,15
*** DAYFILE MESSAGES.
*
* * BAD FCOPY CONVERSION TABLE.* - FCOPY TABLES
* ARE IN ERROR. CONSULT SITE ANALYST.
*
* * ERROR IN FCOPY ARGUMENTS.* - ERROR DETECTED IN
* COMMAND ARGUMENTS.
*
* * ERROR LIMIT. XXXXXX ADDITIONAL ERRORS FOUND.* - MORE
* THAN 20 ERRORS WERE FOUND DURING CONVERSION.
*
* * FCOPY COMPLETE.* - INFORMATIVE MESSAGE INDICATING
* *FCOPY* COMPLETION.
*
* * FILE NAME CONFLICT.* - LFN1 CAN NOT BE THE SAME
* FILE NAME AS LFN2.
*
* * UNKNOWN CODE CCCC, FILE XXXX, RECORD YYYY, LINE
* ZZZZZZ.* - CODE IS NOT A VALID CHARACTER IN THE INPUT
* CHARACTER SET.
*
* * INPUT FILE NOT FOUND.* - LFN1 MUST BE AN EXISTING
* LOCAL OR ATTACHED DIRECT ACCESS FILE.
*
* * UNRECOGNIZED CODE SET PARAMETER.* - *PC* OR *NC*
* PARAMETER SPECIFIES UNSUPPORTED CONVERSION.
*
* *UNRECOGNIZED LINE TERMINATOR PARAMETER.* - *PL* OR *NL*
* PARAMETER SPECIFIES AN UNSUPPORTED LINE TERMINATOR.
*
* *CODE SET LINE TERMINATOR CONFLICT.* - THE LINE TERMINATOR
* SPECIFIED ON THE *PL* OR *NL* PARAMETER IS NOT SUPPORTED BY
* THE CODE SET SPECIFIED ON THE *PC* OR *NC* PARAMETER.
*
* * XXXXXX LINES TRUNCATED.* - THE NUMBER OF LINES INDICATED
* WERE TOO LONG FOR THE SPECIFIED FIXED LENGTH LINE ON A COPY
* TO A STRANGER TAPE.
*
* * INCORRECT FILE TYPE FOR SPECIFIED CHARACTER SET.* - EITHER
* YOU SPECIFIED *ASCFL* OR *EBCFL* AS THE CHARACTER SET FOR A
* FILE NOT RESIDING ON A STRANGER TAPE, OR SOME OTHER CHARACTER
* SET FOR A FILE ON A STRANGER TAPE.
*
* * LINE TERMINATORS NOT USED ON A STRANGER TAPE.* - YOU
* SPECIFIED A LINE TERMINATOR FOR A STRANGER TAPE FILE.
TITLE SYMBOL DEFINITIONS.
SPACE 4,10
**** ASSEMBLY CONSTANTS.
PBUFL EQU 20041B OLD BUFFER LENGTH
NBUFL EQU 20041B NEW BUFFER LENGTH
WBUFL EQU 101B WORKING WRITE BUFFER
FETODL EQU 16 OPTICAL DISK FET EXTENSION LENGTH
BLNK EQU 55B DISPLAY CHARACTER BLANK
ZBCH EQU 400B INTERNAL ZERO BYTE CHARACTER
EORC EQU 401B INTERNAL EOR CHARACTER
EOFC EQU 402B INTERNAL EOF CHARACTER
EOIC EQU 403B INTERNAL EOI CHARACTER
TLEN EQU 403B CONVERSION BASE TABLE LENGTH
MCVTL EQU 1006B MAXIMUM CONVERSION TABLE LENGTH
MXCB EQU 3840D MAXIMUM CHARACTERS/BLOCK, S-FORMAT TAPE
****
SPACE 4,10
* COMMON DECKS.
*CALL COMCMAC
*CALL COMCCMD
*CALL COMSLFM
QUAL COMSMTX
*CALL COMSMTX
QUAL *
SPACE 4,10
** CONV - GENERATE CONVERSION BASE TABLE ENTRY.
*
* CONV X,Y
*
* ENTRY X = NUMERIC VALUE.
* Y = NUMERIC VALUE.
*
*T 24/0, 18/X, 18/Y
PURGMAC CONV
CONV MACRO X,Y
VFD 24D/0,18D/X,18D/Y
CONV ENDM
TITLE WORKING STORAGE.
SPACE 4,10
* FET DEFINITIONS.
ORG 110B
FETS BSS 0
P BSS 0 OLD FILE
OLD FILEB PBUF,PBUFL,FET=10
ORG P+11B
VFD 30/0,12/FETODL,18/P+12B
BSSZ FETODL OPTICAL DISK FET EXTENSION
N BSS 0 NEW FILE
NEW FILEB NBUF,NBUFL,FET=10
ORG N+11B
VFD 30/0,12/FETODL,18/N+12B
BSSZ FETODL OPTICAL DISK FET EXTENSION
* INPUT PARAMETERS.
PC VFD 42/0LASCII,18/0 DEFAULT *PC* VALUE
NC VFD 42/0LASCII8,18/0 DEFAULT *NC* VALUE
PL CON 0 OLD FILE LINE TERMINATOR
NL CON 0 NEW FILE LINE TERMINATOR
FL CON 0 CHARACTERS PER LINE, STRANGER TAPE
LB CON 0 LINES PER BLOCK, STRANGER TAPE
R CON 0 REWIND FLAG
A CON 0 ABORT FLAG
SPACE 4,10
* GLOBAL VARIABLES.
ASV CON 1 ASSUMED VALUE FOR *A* AND *R* PARAMETERS
CLNF CON 0 6 BIT COLON FOUND FLAG
ENDF CON 0 EOI DETECTED FLAG
ERCT CON 0 ERROR COUNT
ERLM CON 20D ERROR LIMIT
FILE CON 1 FILE NUMBER
IBHW CON 0 FULL SIZED INPUT BLOCK HEADER WORD
ILCC CON 0 INPUT LINE CHARACTER COUNT
ILCT CON 0 INPUT LINES REMAINING IN BLOCK
INDX CON 0 OFFSET TO SPECIAL SECTION OF TABLE
IPTR CON 0 LOCATION TO STORE HEADER WORD ON OUTPUT
IWRD CON 0 CURRENT INPUT WORD
LINE CON 1 CURRENT LINE
OBHW CON 0 FULL SIZED OUTPUT BLOCK HEADER WORD
OLCC CON 0 OUTPUT LINE CHARACTER COUNT
OLCT CON 0 OUTPUT LINES REMAINING IN BLOCK
OWRD CON 0 CURRENT OUTPUT WORD
RAHD CON -1 READ AHEAD CHARACTER
RCRD CON 1 RECORD NUMBER
SPAC CON 40B BLANK OUTPUT CHARACTER CODE
STPI CON 0 NON-ZERO IF INPUT FILE IS STRANGER TAPE
STPO CON 0 NON-ZERO IF OUTPUT FILE IS STRANGER TAPE
TCVTL CON TLEN CONVERSION TABLE LENGTH
TRNC CON 0 TRUNCATED LINE COUNT
UBC CON 0 UNUSED BIT COUNT
SPACE 4,10
* DAYFILE MESSAGES.
MSGA DATA C* FCOPY COMPLETE.*
MSGB DATA C* BAD FCOPY CONVERSION TABLE.*
MSGC DATA 50H UNKNOWN CODE CCCC, FILE XXXX, RECORD YYYY, LIN
DATA C*E ZZZZZZ.*
MSGD DATA C* ERROR LIMIT. XXXXXX ADDITIONAL ERRORS FOUND.*
MSGE DATA C* ERRORS OCCURRED IN FCOPY. SEE DAYFILE.*
MSGF DATA C* XXXXXX LINES TRUNCATED.*
MSGG DATA C* 1 LINE TRUNCATED.*
TITLE MAIN ROUTINE.
FCOPY SB1 1 ENTRY
RJ PRS PRESET PROGRAM
SA1 R
ZR X1,FCO0 IF NO REWIND OF FILES
REWIND P
REWIND N
FCO0 SB7 A0+
NZ B7,FCO1 IF FILES NOT OF LIKE TYPE
RJ CLF COPY LIKE FILES
EQ FCO4 TERMINATE COPY
FCO1 RECALL N,R
SA1 STPO
ZR X1,FCO1.3 IF OUTPUT FILE NOT STRANGER TAPE
WRITEO N RESERVE WORD FOR FIRST BLOCK HEADER WORD
FCO1.3 SA1 STPI
ZR X1,FCO1.5 IF INPUT FILE NOT STRANGER TAPE
READN P,R READ STRANGER TAPE
RJ STB START FIRST STRANGER TAPE BLOCK
EQ FCO2 START CONVERSION
FCO1.5 READ P,R READ NORMAL FILE
FCO2 RJ GCH GET NEXT CHARACTER
RJ TCH TRANSLATE CHARACTER
NG X2,FCO3 IF CHARACTER IGNORED
RJ PCH OUTPUT CHARACTER
FCO3 SA2 ENDF CHECK FOR EOI
ZR X2,FCO2 IF NOT EOI
FCO4 RJ PFE PRINT FINAL ERROR MESSAGES
SA1 R
ZR X1,FCO5 IF NO REWIND OF FILES
REWIND P
REWIND N
FCO5 MESSAGE X5,3 PRINT TERMINATION MESSAGE
SA1 A
ZR X1,FCO6 IF *A* PARAMETER NOT SPECIFIED
SX1 MSGA ADDRESS OF TERMINATION MESSAGE
BX1 X5-X1
ZR X1,FCO6 IF NORMAL TERMINATION
ABORT
FCO6 ENDRUN
TITLE SUBROUTINES.
SPACE 4,10
** CLF - COPY FILE WITHOUT CONVERSION (SPECIAL CASE).
*
* ENTRY FET SET TO READ INPUT FILE.
*
* EXIT FILE COPIED.
*
* USES X - 1, 2, 6.
* A - 1, 6.
* B - 6, 7.
*
* CALLS WTW=
*
* MACROS READ, READW, WRITER, WRITEF.
CLF SUBR ENTRY/EXIT
CLF1 READ P,R
CLF2 READW P,WBUF,WBUFL COPY TO WORKING BUFFER
BX6 X1 SAVE STATUS
SA6 CLFS
SB7 B6-WBUF PRESET WTW PARAMETERS
SB6 WBUF
SX2 N
RJ =XWTW= EMPTY WORKING FILE TO NEW FILE
SA1 CLFS GET READ STATUS
NG X1,CLF4 IF EOF/EOI
ZR X1,CLF2 IF NOT EOR
WRITER N,R
EQ CLF1 CONTINUE COPY
CLF4 SX1 X1+1
NG X1,CLFX IF EOI
WRITEF N,R
EQ CLF1 CONTINUE COPY
CLFS CON 0 READ STATUS
FBH SPACE 4,15
** FBH - FORM BLOCK HEADER WORD.
*
* FORMS THE BLOCK HEADER WORD NEEDED FOR STRANGER TAPE OUTPUT.
*
* ENTRY (X1) = OUTPUT LINE CHARACTER COUNT.
* (X2) = LINES IN BLOCK.
* (B7) = BITS PER CHARACTER.
*
* EXIT (X6) = BLOCK HEADER WORD.
*
* USES X - 1, 2, 3, 4, 5, 6.
* A - NONE.
* B - B7.
FBH SUBR ENTRY/EXIT
IX3 X1*X2 COMPUTE CHARACTERS IN BLOCK
SX4 B7+
IX3 X3*X4 BITS IN BLOCK
SX5 60D
BX4 X3
BX6 X5
IX1 X4/X6 CYBER WORDS IN BLOCK, TRUNCATED
IX2 X1*X5 CYBER BITS
IX6 X3-X2 BITS USED IN LAST WORD
ZR X6,FBH1 IF NO UNUSED BITS
IX6 X5-X6 UNUSED BIT COUNT
SX1 X1+B1 ROUND UP WORD COUNT
LX6 24
FBH1 BX6 X6+X1 FORM BLOCK HEADER WORD
EQ FBHX RETURN
SPACE 4,20
** GCH - GET CHARACTER.
*
* ENTRY (B2) = CURRENT POSITION IN INPUT WORD.
* (B4) = INPUT CHARACTER LENGTH.
* (IWRD) = CURRENT INPUT WORD.
* (RAHD) = READ AHEAD CHARACTER.
* = -1 IF NONE.
*
* EXIT (X2) = CHARACTER TO PROCESS.
* (B2) = NEW POSITION IN INPUT WORD.
* (RAHD) = NEW READ AHEAD CHARACTER.
* = -1 IF NONE.
* IN FILES NOT USING THE ZERO BYTE LINE TERMINATOR,
* ZERO CHARACTERS OCCURRING BETWEEN AN EOR, EOF OR EOI
* AND THE LAST LINE TERMINATOR PRECEDING IT ARE IGNORED.
*
* USES X - 1, 2, 3, 4, 5, 6, 7.
* A - 1, 2, 3, 6, 7.
* B - 2, 6, 7.
*
* CALLS PCH, RCH, TCH.
GCH SUBR ENTRY/EXIT
SA2 RAHD GET READ AHEAD WORD
SX6 -B1 CLEAR READ AHEAD
SA6 A2
PL X2,GCHX IF CHARACTER ALREADY READ
RJ RCH READ CHARACTER
NZ X2,GCHX IF NOT ZERO CHARACTER
SA1 IWRD GET INPUT WORD
NZ X1,GCHX IF MORE CHARACTERS IN WORD
SA3 PL GET INPUT LINE TERMINATOR
SX3 X3-ZBCH
NZ X3,GCH3 IF INPUT LINE TERMINATOR NOT ZERO BYTE
SA1 INDX GET INDEX
NZ X1,GCHX IF UNCOMPLETED DOUBLE LENGTH CHARACTER
* CHECK FOR ZERO BYTE.
SB7 B2+B4
SB6 12D
LT B7,B6,GCH1 IF NO ROOM FOR ZERO BYTE
SX2 ZBCH SET ZERO BYTE CHARACTER
SB2 B0+ SET CURRENT INPUT WORD EMPTY
EQ GCHX RETURN
GCH1 RJ RCH READ NEXT CHARACTER
SA1 IWRD GET NEW INPUT WORD
NZ X2,GCH2 IF NOT ZERO CHARACTER
NZ X1,GCH2 IF NOT ZERO BYTE
SX2 ZBCH SET ZERO BYTE CHARACTER
SB2 B0+ INPUT WORD IS EMPTY
EQ GCHX RETURN
GCH2 SX6 X2 SET READ AHEAD CHARACTER
SA6 RAHD
BX2 X2-X2 RESET CHARACTER TO ZERO
EQ GCHX RETURN
* CHECK FOR EXTRANEOUS ZERO CHARACTERS.
GCH3 SX5 B2 COMPUTE NUMBER OF CHARACTERS LEFT IN WORD
SX4 B4
IX6 X5/X4
SX4 B4
IX4 X4*X6 COMPUTE LEFTOVER BITS
SX6 X6+1
IX5 X5-X4
SA6 GCHA
SB2 X5
RJ RCH READ NEXT CHARACTER FROM NEW WORD
SX4 X2-EOIC-1
SX5 X2-EORC
PL X4,GCH4 IF NOT EOR, EOF, OR EOI
PL X5,GCHX IF CHARACTER IS EOR, EOF OR EOI
GCH4 SX6 X2 SAVE CHARACTER
SA6 GCHB
GCH5 SA1 GCHA CHECK ZERO CHARACTER COUNT
SX7 X1-1 DECREMENT CHARACTER COUNT
NG X7,GCH6 IF NO MORE ZERO CHARACTERS TO PROCESS
BX2 X2-X2
SA7 GCHA SAVE COUNT
RJ TCH TRANSLATE ZERO CHARACTER
NG X2,GCH5 IF CHARACTER IS TO BE IGNORED
RJ PCH OUTPUT CHARACTER
EQ GCH5 CONTINUE
GCH6 SA2 GCHB RESTORE FINAL CHARACTER
EQ GCHX RETURN
GCHA CON 0 ZERO CHARACTER COUNT
GCHB CON 0 TEMPORARY CHARACTER STORAGE
PCH SPACE 4,20
** PCH - OUTPUT CHARACTER.
*
* ENTRY (X2) = CHARACTER TO WRITE.
* (B3) = CURRENT POSITION IN OUTPUT WORD.
* (B5) = OUTPUT CHARACTER LENGTH.
* (X6) = CHARACTER COUNT.
*
* EXIT (B3) = NEW POSITION IN OUTPUT WORD.
* (CLNF) = 1 IF CHARACTER WRITTEN WAS A
* 6 BIT DISPLAY CODE COLON.
* (ENDF) = 1 IF EOI DETECTED.
*
* USES X - 1, 2, 3, 5, 6, 7.
* A - 1, 3, 7.
* B - 6, 7.
*
* CALLS GCH, WCH, WTB, WZB.
*
* MACROS WRITEO.
PCH SUBR ENTRY/EXIT
SX3 B5 SET BIT COUNT
IX6 X3*X6
SA1 NL CHECK FOR EOL
SB7 X6
BX1 X1-X2
SA3 STPO
NZ X1,PCH3 IF NOT EOL
SA1 LINE INCREMENT LINE COUNT
SX7 X1+B1
SA7 A1
NZ X3,PCH7 IF OUTPUT FILE IS STRANGER TAPE
* PROCESS DISPLAY CODE COLON.
PCH1 SX5 X2-ZBCH
SA3 CLNF GET COLON FLAG
NZ X5,PCH3 IF NOT ZERO BYTE EOL
ZR X3,PCH2 IF COLON FLAG NOT SET
SX2 BLNK SET BLANK TO GUARD COLON
RJ WCH WRITE BLANK CHARACTER
BX7 X7-X7 CLEAR COLON FLAG
SA7 CLNF
PCH2 RJ WZB WRITE ZERO BYTE
EQ PCHX RETURN
* WRITE CHARACTER.
PCH3 BX7 X7-X7 CLEAR COLON FLAG
SB6 6
NZ X2,PCH4 IF NOT ZERO CHARACTER
NE B6,B7,PCH4 IF ZERO CHARACTER NOT 6 BIT COLON
SX7 B1+ SET COLON FLAG
PCH4 SA7 CLNF SAVE COLON FLAG
ZR X3,PCH5 IF OUTPUT FILE IS NOT STRANGER TAPE
SA3 OLCC
ZR X3,PCH6 IF RECORD (LINE) FULL
SX7 X3-1 DECREMENT OUTPUT LINE CHARACTER COUNT
SA7 A3
PCH5 RJ WCH WRITE CHARACTER
SA1 STPO
ZR X1,PCHX IF OUTPUT FILE NOT STRANGER TAPE, RETURN
SA1 ENDF
ZR X1,PCHX IF NOT EOI
RJ WTB WRITE TAPE BLOCK
EQ PCHX RETURN
* TRUNCATE LONG LINE.
PCH6 RJ GCH READ NEXT INPUT FILE CHARACTER
SA1 PL CHECK FOR LINE TERMINATOR
BX1 X2-X1
NZ X1,PCH6 IF NOT LINE TERMINATOR
SA1 TRNC INCREMENT TRUNCATION COUNT
SX6 X1+B1
SA6 A1
EQ PCH8 START A NEW LINE
* BLANK FILL REMAINDER OF A SHORT LINE.
PCH7 SA3 OLCC CHECK CHARACTER COUNT
ZR X3,PCH8 IF NO MORE ROOM IN LINE
SX7 X3-1 DECREMENT CHARACTER COUNT
SA2 SPAC ADD ANOTHER BLANK TO LINE
SB7 B5
SA7 A3
RJ WCH
EQ PCH7 CHECK IF LINE IS FULL
PCH8 SA1 FL RESET OUTPUT LINE CHARACTER COUNT
BX6 X1
SA6 OLCC
SA1 OLCT DECREMENT OUTPUT LINE COUNT
SX7 X1-1
SA7 A1
NZ X7,PCHX IF NOT END OF BLOCK, RETURN
* WRITE CURRENT STRANGER TAPE BLOCK.
SA3 OWRD WRITE LAST WORD OF BLOCK
BX7 X7-X7 CLEAR OUTPUT WORD
BX6 X3
SA7 A3
WRITEO N
SB3 60D RESET OUTPUT WORD POINTER
RJ WTB WRITE STRANGER TAPE BLOCK
EQ PCHX RETURN
PFE SPACE 4,20
** PFE - PRINT FINAL ERROR MESSAGES.
*
* ENTRY (ERCT) = TRANSLATION ERROR COUNT.
* (ERLM) = TRANSLATION ERROR LIMIT.
* (TRNC) = TRUNCATED LINE COUNT.
*
* EXIT (X5) = ADDRESS OF TERMINATION MESSAGE.
* ERROR MESSAGES PRINTED, IF APPROPRIATE.
*
* USES X - 0, 1, 2, 5, 6.
* A - 1, 2, 6.
* B - 5.
*
* CALLS CDD.
*
* MACROS MESSAGE.
PFE SUBR ENTRY/EXIT
* PROCESS LINE TRUNCATION COUNT.
SX5 MSGA SET NORMAL TERMINATION MESSAGE
SA1 TRNC
SB5 X1
ZR X1,PFE2 IF NO LINES TRUNCATED
SX5 MSGE SET ABNORMAL TERMINATION MESSAGE
NE B5,B1,PFE0 IF MORE THAN ONE LINE TRUNCATED
SX2 MSGG
EQ PFE1 PRINT ERROR MESSAGE
PFE0 RJ CDD CONVERT TRUNCATION COUNT TO DISPLAY
MX0 -18
SA1 MSGF
SX2 A1
LX6 18 POSITION COUNT FOR MESSAGE
BX1 -X0*X1 CLEAR PLACE FOR COUNT
BX6 X0*X6 REMOVE EXTRANEOUS BLANKS
BX6 X1+X6 SET COUNT IN MESSAGE
SA6 A1+
PFE1 MESSAGE X2,3 * XXXXXX LINES TRUNCATED.*
* PROCESS TRANSLATION ERROR COUNT.
PFE2 SA2 ERCT GET ERROR COUNT
SA1 ERLM GET ERROR LIMIT
IX1 X2-X1
ZR X2,PFEX IF NO TRANSLATION ERRORS, RETURN
SX5 MSGE SET ABNORMAL TERMINATION MESSAGE
NG X1,PFEX IF ERROR LIMIT NOT REACHED
RJ CDD CONVERT EXCESS ERROR COUNT TO DISPLAY
SA1 MSGD+1
MX0 -36
BX1 X0*X1 CLEAR SPACE FOR COUNT
BX6 -X0*X6 REMOVE EXTRA BLANKS
BX6 X1+X6 SET COUNT IN MESSAGE
SA6 A1+
MESSAGE MSGD,3 * ERROR LIMIT. ...*
EQ PFEX RETURN
SPACE 4,15
** PTE - PROCESS TRANSLATION ERROR.
*
* ENTRY (X2) = CHARACTER CODE, RIGHT JUSTIFIED.
* (X5) = INDEX VALUE FOR 6/12 CHARACTERS.
*
* USES X - 0, 1, 3, 4, 5, 6.
* A - 1, 3, 5, 6.
* B - 6, 7.
*
* CALLS CDD, COD.
*
* MACROS MESSAGE.
PTE SUBR ENTRY/EXIT
SA1 ERCT GET ERROR COUNT
SA3 ERLM GET ERROR LIMIT
SX6 X1+B1 INCREMENT ERROR COUNT
SA6 A1+
IX6 X3-X6
NG X6,PTEX IF ERROR LIMIT EXCEEDED, RETURN
SX6 B4 SAVE (B) REGISTERS
SB6 B2
SB7 B3
SA6 PTEA
MX0 -24
* PUT CHARACTER CODE IN MESSAGE.
SX4 X5-200B
SX6 X5-300B
NZ X4,PTE1 IF NOT 12 BIT 6/12 CHAR STARTING WITH 74
SX5 7400B
PTE1 NZ X6,PTE2 IF NOT 12 BIT 6/12 CHAR STARTING WITH 76
SX5 7600B
PTE2 IX1 X2+X5 FORM FULL 12 BIT CHARACTER
SA5 MSGC+1
RJ COD CONVERT CODE TO DISPLAY
BX6 -X0*X6
LX0 12
LX6 12
BX5 X0*X5 CLEAR SPACE FOR CODE
BX6 X5+X6 PUT CODE IN MESSAGE
SA5 MSGC+2
SA6 MSGC+1
* PUT FILE NUMBER IN MESSAGE.
SA1 FILE GET FILE NUMBER
MX0 -24
RJ CDD CONVERT FILE NUMBER TO DISPLAY
BX6 -X0*X6
BX5 X0*X5 CLEAR PLACE FOR FILE NUMBER
BX6 X5+X6 SET FILE NUMBER IN MESSAGE
SA5 MSGC+4
SA6 MSGC+2
* PUT RECORD NUMBER IN MESSAGE.
SA1 RCRD GET RECORD NUMBER
RJ CDD CONVERT RECORD NUMBER TO DISPLAY
BX6 -X0*X6
MX0 -36
LX6 36D POSITION RECORD NUMBER
BX5 -X0*X5 CLEAR PLACE FOR RECORD NUMBER
BX6 X6+X5 SET RECORD NUMBER IN MESSAGE
SA5 MSGC+5
SA6 MSGC+4
* PUT LINE NUMBER IN MESSAGE.
SA1 LINE GET LINE NUMBER
RJ CDD CONVERT LINE NUMBER TO DISPLAY
BX6 -X0*X6 REMOVE EXTRA BLANKS
LX0 12
LX6 12
BX5 X0*X5 CLEAR POSITION FOR LINE NUMBER
BX6 X5+X6 SET LINE NUMBER IN MESSAGE
SA6 MSGC+5
* WRITE MESSAGE TO DAYFILE.
MESSAGE MSGC,3 * UNKNOWN CODE CCCC, FILE XXXX,... *
SA1 PTEA RESTORE SAVED (B) REGISTERS
SB2 B6
SB3 B7
SB4 X1+
EQ PTEX RETURN
PTEA DATA 0 B REGISTER STORAGE
SPACE 4,10
** RCH - READ CHARACTER.
*
* ENTRY (B2) = CURRENT POSITION IN INPUT WORD.
* (B4) = INPUT CHARACTER LENGTH.
* (IWRD) = CURRENT INPUT WORD.
*
* EXIT (X2) = CHARACTER READ, RIGHT JUSTIFIED.
* (B2) = NEW POSITION IN INPUT WORD.
* (IWRD) = CURRENT INPUT WORD.
*
* USES X - 0, 1, 2, 3, 5, 6, 7.
* A - 1, 2, 3, 6, 7.
* B - 2, 6, 7.
*
* CALLS STB.
*
* MACROS READ, READO, RECALL.
RCH SUBR ENTRY/EXIT
SA3 STPI
ZR X3,RCH0 IF INPUT FILE NOT STRANGER TAPE
SA3 ILCC DECREMENT INPUT LINE CHARACTER COUNT
SX7 X3-1
SA7 A3+
NZ X3,RCH0 IF NOT END OF LINE
SA1 FL RESET INPUT LINE CHARACTER COUNT
SA2 PL SET EOL CHARACTER
BX7 X1
SA7 A3
SA1 ILCT DECREMENT INPUT LINE COUNT
SX7 X1-1
ZR X7,RCH6 IF NO MORE ROOM IN BLOCK
SA7 A1+
EQ RCHX RETURN
RCH0 GT B4,B2,RCH1 IF NO WHOLE CHARACTERS LEFT IN WORD
MX0 1 BUILD MASK
SB7 B4-B1
SA1 IWRD GET INPUT WORD
AX0 B7
BX2 X0*X1 EXTRACT CHARACTER
BX6 -X0*X1 DELETE CHARACTER FROM INPUT WORD
LX2 B4
LX6 B4
SB2 B2-B4
SA6 A1+ SAVE INPUT WORD
EQ RCHX RETURN
RCH1 SB6 B4
BX5 X5-X5
ZR B2,RCH2 IF INPUT WORD EMPTY
SA1 IWRD GET INPUT WORD
SB6 B4-B2 COMPUTE REMAINDER
LX5 X1,B4 SET PARTIAL CHARACTER
RCH2 READO P READ NEXT WORD
NZ X1,RCH3 IF EOR, EOF, OR EOI
MX0 1 BUILD MASK
SB7 B6-B1
AX0 B7
BX2 X0*X6 EXTRACT PARTIAL CHARACTER
BX6 -X0*X6 DELETE USED BITS
LX2 B6
LX6 B6
BX2 X5+X2
SB2 60D RESET CURRENT POSTION
SA6 IWRD SAVE INPUT WORD
SB2 B2-B6
EQ RCHX RETURN
RCH3 SA2 STPI
NZ X2,RCH5 IF INPUT FILE ON STRANGER TAPE
SA2 STPO
NG X1,RCH4 IF EOF OR EOI
NZ X2,RCH3.1 IF OUTPUT FILE ON STRANGER TAPE
READ P,R
RECALL N,R
RCH3.1 SX2 EORC SET EOR CHARACTER
SB2 B0+ SET CURRENT INPUT WORD EMPTY
EQ RCHX RETURN
RCH4 SX1 X1+1
NG X1,RCH5 IF EOI
NZ X2,RCH4.1 IF OUTPUT FILE ON STRANGER TAPE
READ P,R
RECALL N,R
RCH4.1 SX2 EOFC SET EOF CHARACTER
SB2 B0+ SET CURRENT INPUT WORD EMPTY
EQ RCHX RETURN
RCH5 SX2 EOIC SET EOI CHARACTER
EQ RCHX RETURN
RCH6 RJ STB START NEW STRANGER TAPE BLOCK
SA2 PL SET LINE TERMINATOR AS OUTPUT CHARACTER
ZR X1,RCHX IF NOT EOI
SX7 EOIC SET EOI AS NEXT CHARACTER READ
SA7 RAHD
EQ RCHX RETURN
SPACE 4,20
** STB - START STRANGER TAPE BLOCK.
*
* ENTRY (IBHW) = INPUT BLOCK HEADER WORD FOR FULL BLOCK.
* (FL) = FIXED LENGTH LINE LENGTH.
* (LB) = LINES PER BLOCK.
*
* EXIT (X1) = NONZERO IF EOI REACHED.
* NEW BLOCK STARTED IF NOT EOI.
* (ILCC) RESET FOR NEW LINE.
* (ILCT) RESET FOR NEW BLOCK.
*
* USES X - 0, 1, 3, 6, 7.
* A - 1, 3, 7.
* B - 2, 7.
*
* MACROS READN, READO, RECALL.
STB SUBR ENTRY/EXIT
STB1 READO P READ BLOCK HEADER WORD
SB7 X1
LT B7,B1,STB2 IF NEW READ DOES NOT NEED TO BE ISSUED
READN P,R READ TAPE
RECALL N,R
EQ STB1 GET HEADER WORD
STB2 NZ X1,STBX IF END OF TAPE
SA1 IBHW
SA3 LB GET LINE COUNT FOR FULL TAPE BLOCK
IX1 X1-X6
BX7 X3
ZR X1,STB3 IF FULL SIZE BLOCK
SX3 X6+ NUMBER OF 60 BIT WORDS IN BLOCK
SX0 60D
AX6 24 UNUSED BIT COUNT
IX3 X3*X0 COMPUTE BITS IN BLOCK
SX1 B4+
IX3 X3-X6
IX7 X3/X1 COMPUTE NUMBER OF CHARACTERS IN BLOCK
SA1 FL COMPUTE NUMBER OF LINES IN BLOCK
IX7 X7/X1
STB3 SA7 ILCT SAVE INPUT LINE COUNT
SA1 FL RESET INPUT CHARACTER COUNT
SB2 B0 SET TO START NEW INPUT WORD
BX7 X1
SA7 ILCC
SX1 B0+ SET EXIT CONDITION
EQ STBX RETURN
SPACE 4,20
** TCH - TRANSLATE CHARACTER.
*
* ENTRY (X2) = CHARACTER TO TRANSLATE.
* (A0) = CONVERSION TABLE FWA.
*
* EXIT (X2) = NEW CHARACTER(S), RIGHT JUSTIFIED.
* = -1 IF CHARACTER IS TO BE IGNORED.
* (X6) = CHARACTER COUNT.
*
* USES X - 0, 1, 2, 3, 4, 5, 6.
* A - 1, 5, 6.
* B - 6, 7.
*
* CALLS PTE.
*
* MACROS ABORT, MESSAGE.
TCH SUBR ENTRY/EXIT
SA5 INDX GET INDEX
MX0 -9
BX2 -X0*X2 TRUNCATE TOP 3 BITS
BX6 X6-X6 CLEAR INDEX
SB7 X2
SA1 TCVTL GET TABLE LENGTH
SB6 X1
SA6 A5+
SB7 B7+X5 COMPUTE ENTRY NUMBER
LE B7,B6,TCH1 IF ENTRY NEEDED IS WITHIN TABLE BOUNDS
SX2 B7+
RJ PTE GENERATE ERROR
SX2 -B1 IGNORE CHARACTER
EQ TCHX RETURN
TCH1 SA1 A0+B7 GET CONVERSION TABLE ENTRY
MX0 -36 EXTRACT DATA ITEM
BX4 -X0*X1
MX0 -3
LX1 59-53
BX6 -X0*X1 GET COUNT
MX0 -2
AX1 4
BX3 -X0*X1 EXTRACT OPTION
NZ X3,TCH3 IF NOT NORMAL CONVERSION
BX2 X4 SET NEW CHARACTER
EQ TCHX RETURN
TCH3 SX3 X3-1
NZ X3,TCH5 IF NOT NO-CONVERSION OPTION
ZR X4,TCH4 IF NOT AN ERROR
RJ PTE PROCESS ERROR
TCH4 SX2 -B1 IGNORE CHARACTER
EQ TCHX RETURN
TCH5 SX3 X3-1
NZ X3,TCH6 IF NOT SET INDEX OPTION
BX6 X4 SET INDEX
SA6 INDX
SX2 -B1 IGNORE CHARACTER
EQ TCHX RETURN
TCH6 MESSAGE MSGB,3 * BAD FCOPY CONVERSION TABLE.*
ABORT
WCH SPACE 4,15
** WCH - WRITE CHARACTER.
*
* ENTRY (X2) = CHARACTER TO WRITE.
* (B3) = CURRENT POSITION IN OUTPUT WORD.
* (B7) = CHARACTER LENGTH.
*
* EXIT (B3) = NEW POSITION IN OUTPUT WORD.
* (ENDF) = 1 IF EOI DETECTED.
*
* USES X - 0, 1, 2, 3, 5, 6, 7.
* A - 1, 2, 3, 5, 6, 7.
* B - 3, 6, 7.
*
* MACROS WRITEF, WRITEO, WRITER.
WCH10 SX7 B1+ SET END FLAG
SA7 ENDF
WCH SUBR ENTRY/EXIT
SA1 TCVTL
SX1 X1+B1
IX6 X2-X1
SX5 X2-EORC
SA1 OWRD GET OUTPUT WORD
PL X6,WCH7 IF 12 BIT CHARACTER
NG X5,WCH7 IF NOT EOR, EOF, OR EOI
SB6 B3-60D
SX6 B3
SA6 UBC
ZR B6,WCH4 IF OUTPUT WORD EMPTY
BX6 X1
SB3 60 RESET CURRENT POSITION
WRITEO N
BX7 X7-X7 CLEAR OUTPUT WORD
SA7 OWRD
WCH4 SA1 STPO
NZ X1,WCH10 IF OUTPUT FILE ON STRANGER TAPE
* PROCESS EOR.
NZ X5,WCH5 IF NOT EOR
SA5 RCRD GET RECORD NUMBER
SA3 N+1 FET+1
AX3 48
SX3 X3-2ROD OPTICAL DISK DEVICE TYPE
NZ X3,WCH4.1 IF NOT *OD*
SA3 N+6 FET+6
SA2 UBC UNUSED BIT COUNT
MX0 30
LX2 24
BX3 X0*X3
BX6 X2+X3
SA6 N+6
WCH4.1 WRITER N,R
SX7 X5+B1 INCREMENT RECORD NUMBER
SA7 A5
SX6 B1+ RESET LINE NUMBER
SA6 LINE
EQ WCHX RETURN
* PROCESS EOF.
WCH5 SX5 X5-1
NZ X5,WCH6 IF NOT EOF
SA5 FILE GET FILE NUMBER
WRITEF N,R
SX7 X5+B1 INCREMENT FILE NUMBER
SX6 B1+ RESET LINE AND RECORD NUMBERS
SA7 A5
SA6 LINE
SA6 RCRD
EQ WCHX RETURN
* PROCESS EOI.
WCH6 RECALL N
SA3 N+2 GET *IN* POINTER
SA2 N+3 GET *OUT* POINTER
IX3 X3-X2
ZR X3,WCH10 IF NO MORE WORDS TO WRITE
WRITER N FLUSH BUFFER
EQ WCH10 SET END FLAG
* WRITE CHARACTER.
WCH7 GT B7,B3,WCH8 IF NOT ENOUGH ROOM FOR CHARACTER IN WORD
SB3 B3-B7 DECREMENT CURRENT POSITION
LX2 B3
BX6 X1+X2
SA6 OWRD SAVE OUTPUT WORD
EQ WCHX RETURN
* START A NEW OUTPUT WORD.
WCH8 SB6 B7 SET DEFAULT REMAINDER
BX6 X1
ZR B3,WCH9 IF NO ROOM IN WORD
SB6 B7-B3 FORM AND INSERT PARTIAL CHARACTER
AX3 X2,B6
BX6 X1+X3
WCH9 SB3 60D RESET CURRENT POSITION
SB3 B3-B6 DECREMENT CURRENT POSITION
LX2 B3
MX0 1
SB7 B6-B1
AX0 X0,B7
BX7 X0*X2 SET NEW OUTPUT WORD
SA7 OWRD
WRITEO N WRITE OLD OUTPUT WORD
EQ WCHX RETURN
WTB SPACE 4,20
** WTB - WRITE TAPE BLOCK.
*
* ENTRY (B7) = OUTPUT CHARACTER SIZE.
* (IPTR) = ADDRESS TO USE FOR BLOCK HEADER WORD.
* (ENDF) = SET IF EOI REACHED IN INPUT FILE.
* (OBHW) = OUTPUT BLOCK HEADER WORD FOR FULL BLOCK.
* (OLCT) = COUNT OF REMAINING LINES IN OUTPUT BLOCK.
*
* EXIT BLOCK WRITTEN TO STRANGER TAPE.
* (IPTR) UPDATED.
* (OLCT) RESET.
*
* USES X - 1, 2, 3, 6.
* A - 1, 2, 3, 6.
* B - NONE.
*
* CALLS FBH.
*
* MACROS WRITEN, WRITEO.
WTB SUBR ENTRY/EXIT
SA3 OBHW GET FULL SIZE OUTPUT BLOCK HEADER WORD
SA2 OLCT
SA1 FL
BX6 X3
ZR X2,WTB1 IF BLOCK FULL SIZE
SA3 LB
IX2 X3-X2 COMPUTE LINES USED IN BLOCK
ZR X2,WTB2 IF EMPTY BLOCK
RJ FBH FORM BLOCK HEADER WORD
WTB1 SA2 IPTR SET HEADER WORD IN BLOCK
SA6 X2+
WRITEN N,R WRITE BLOCK
WTB2 SA1 ENDF
NZ X1,WTBX IF END OF INFORMATION, RETURN
* START NEW BLOCK.
SA3 N+2 GET LOCATION FOR NEXT BLOCK HEADER WORD
BX6 X3
SA6 IPTR
WRITEO N RESERVE WORD FOR BLOCK HEADER WORD
SA1 LB RESET OUTPUT LINE COUNT
BX6 X1
SA6 OLCT
EQ WTBX RETURN
WZB SPACE 4,15
** WZB - WRITE ZERO BYTE.
*
* ENTRY (B3) = POSITION IN OUTPUT WORD.
*
* EXIT (B3) UPDATED.
*
* USES X - 1, 6, 7.
* A - 1, 6, 7.
* B - 3.
*
* MACROS WRITEO.
WZB SUBR ENTRY/EXIT
SA1 OWRD GET OUTPUT WORD
SB6 12D
BX6 X1
WRITEO N
GE B3,B6,WZB1 IF WORD WRITTEN WAS PROPER ZERO BYTE
SX6 B0+
WRITEO N
WZB1 BX7 X7-X7 ZERO OUTPUT WORD
SA7 OWRD
SB3 60D RESET CURRENT POSITION
EQ WZBX RETURN
SPACE 4,10
* COMMON DECKS.
*CALL COMCCDD
*CALL,COMCCOD
*CALL COMCCIO
*CALL,COMCLFM
*CALL,COMCRDO
*CALL COMCRDW
*CALL COMCSYS
*CALL,COMCWTO
*CALL COMCWTW
*CALL,COMTCVT
TITLE CONVERSION BASE TABLES
SPACE 4,10
* BUFFERS.
USE BUFFERS
TCVT BSSZ MCVTL CONVERSION TABLE
WBUF BSSZ WBUFL WORKING WRITE BUFFER
BUF BSS 0
PBUF EQU BUF OLD BUFFER
NBUF EQU PBUF+PBUFL NEW BUFFER
RFL= EQU NBUF+NBUFL+4500B
SPACE 4,10
** CONVERSION BASE TABLES.
BASE O
SPACE 4,10
TD64 BSS 0 64 CHARACTER DISPLAY CODE
QUAL COMTCVT
LOC 0
* TO FROM
* DIS64 DIS64
CONV T64D000,F64D000 :
CONV T64D001,F64D001 A
CONV T64D002,F64D002 B
CONV T64D003,F64D003 C
CONV T64D004,F64D004 D
CONV T64D005,F64D005 E
CONV T64D006,F64D006 F
CONV T64D007,F64D007 G
CONV T64D010,F64D010 H
CONV T64D011,F64D011 I
CONV T64D012,F64D012 J
CONV T64D013,F64D013 K
CONV T64D014,F64D014 L
CONV T64D015,F64D015 M
CONV T64D016,F64D016 N
CONV T64D017,F64D017 O
CONV T64D020,F64D020 P
CONV T64D021,F64D021 Q
CONV T64D022,F64D022 R
CONV T64D023,F64D023 S
CONV T64D024,F64D024 T
CONV T64D025,F64D025 U
CONV T64D026,F64D026 V
CONV T64D027,F64D027 W
CONV T64D030,F64D030 X
CONV T64D031,F64D031 Y
CONV T64D032,F64D032 Z
CONV T64D033,F64D033 0
CONV T64D034,F64D034 1
CONV T64D035,F64D035 2
CONV T64D036,F64D036 3
CONV T64D037,F64D037 4
CONV T64D040,F64D040 BLANK 5
CONV T64D041,F64D041 ! 6
CONV T64D042,F64D042 " 7
CONV T64D043,F64D043 # 8
CONV T64D044,F64D044 $ 9
CONV T64D045,F64D045 % +
CONV T64D046,F64D046 & -
CONV T64D047,F64D047 ' *
CONV T64D050,F64D050 ( /
CONV T64D051,F64D051 ) (
CONV T64D052,F64D052 * )
CONV T64D053,F64D053 + $
CONV T64D054,F64D054 , =
CONV T64D055,F64D055 - BLANK
CONV T64D056,F64D056 . ,
CONV T64D057,F64D057 / .
CONV T64D060,F64D060 0 #
CONV T64D061,F64D061 1 [
CONV T64D062,F64D062 2 ]
CONV T64D063,F64D063 3 %
CONV T64D064,F64D064 4 "
CONV T64D065,F64D065 5 _
CONV T64D066,F64D066 6 !
CONV T64D067,F64D067 7 &
CONV T64D070,F64D070 8 '
CONV T64D071,F64D071 9 ?
CONV T64D072,F64D072 : <
CONV T64D073,F64D073 ; >
CONV T64D074,F64D074 < @
CONV T64D075,F64D075 = \
CONV T64D076,F64D076 > ^
CONV T64D077,F64D077 ? ;
CONV T64D100,F64D100 @
CONV T64D101,F64D101 A
CONV T64D102,F64D102 B
CONV T64D103,F64D103 C
CONV T64D104,F64D104 D
CONV T64D105,F64D105 E
CONV T64D106,F64D106 F
CONV T64D107,F64D107 G
CONV T64D110,F64D110 H
CONV T64D111,F64D111 I
CONV T64D112,F64D112 J
CONV T64D113,F64D113 K
CONV T64D114,F64D114 L
CONV T64D115,F64D115 M
CONV T64D116,F64D116 N
CONV T64D117,F64D117 O
CONV T64D120,F64D120 P
CONV T64D121,F64D121 Q
CONV T64D122,F64D122 R
CONV T64D123,F64D123 S
CONV T64D124,F64D124 T
CONV T64D125,F64D125 U
CONV T64D126,F64D126 V
CONV T64D127,F64D127 W
CONV T64D130,F64D130 X
CONV T64D131,F64D131 Y
CONV T64D132,F64D132 Z
CONV T64D133,F64D133 [
CONV T64D134,F64D134 \
CONV T64D135,F64D135 ]
CONV T64D136,F64D136 ^
CONV T64D137,F64D137 _
CONV T64D140,F64D140
CONV T64D141,F64D141 A
CONV T64D142,F64D142 B
CONV T64D143,F64D143 C
CONV T64D144,F64D144 D
CONV T64D145,F64D145 E
CONV T64D146,F64D146 F
CONV T64D147,F64D147 G
CONV T64D150,F64D150 H
CONV T64D151,F64D151 I
CONV T64D152,F64D152 J
CONV T64D153,F64D153 K
CONV T64D154,F64D154 L
CONV T64D155,F64D155 M
CONV T64D156,F64D156 N
CONV T64D157,F64D157 O
CONV T64D160,F64D160 P
CONV T64D161,F64D161 Q
CONV T64D162,F64D162 R
CONV T64D163,F64D163 S
CONV T64D164,F64D164 T
CONV T64D165,F64D165 U
CONV T64D166,F64D166 V
CONV T64D167,F64D167 W
CONV T64D170,F64D170 X
CONV T64D171,F64D171 Y
CONV T64D172,F64D172 Z
CONV T64D173,F64D173 [
CONV T64D174,F64D174 \
CONV T64D175,F64D175 ]
CONV T64D176,F64D176 ^
CONV T64D177,F64D177
CONV T64D200,F64D200
CONV T64D201,F64D201
CONV T64D202,F64D202
CONV T64D203,F64D203
CONV T64D204,F64D204
CONV T64D205,F64D205
CONV T64D206,F64D206
CONV T64D207,F64D207
CONV T64D210,F64D210
CONV T64D211,F64D211
CONV T64D212,F64D212
CONV T64D213,F64D213
CONV T64D214,F64D214
CONV T64D215,F64D215
CONV T64D216,F64D216
CONV T64D217,F64D217
CONV T64D220,F64D220
CONV T64D221,F64D221
CONV T64D222,F64D222
CONV T64D223,F64D223
CONV T64D224,F64D224
CONV T64D225,F64D225
CONV T64D226,F64D226
CONV T64D227,F64D227
CONV T64D230,F64D230
CONV T64D231,F64D231
CONV T64D232,F64D232
CONV T64D233,F64D233
CONV T64D234,F64D234
CONV T64D235,F64D235
CONV T64D236,F64D236
CONV T64D237,F64D237
CONV T64D240,F64D240 BLANK
CONV T64D241,F64D241 !
CONV T64D242,F64D242 "
CONV T64D243,F64D243 #
CONV T64D244,F64D244 $
CONV T64D245,F64D245 %
CONV T64D246,F64D246 &
CONV T64D247,F64D247 '
CONV T64D250,F64D250 (
CONV T64D251,F64D251 )
CONV T64D252,F64D252 *
CONV T64D253,F64D253 +
CONV T64D254,F64D254 ,
CONV T64D255,F64D255 -
CONV T64D256,F64D256 .
CONV T64D257,F64D257 /
CONV T64D260,F64D260 0
CONV T64D261,F64D261 1
CONV T64D262,F64D262 2
CONV T64D263,F64D263 3
CONV T64D264,F64D264 4
CONV T64D265,F64D265 5
CONV T64D266,F64D266 6
CONV T64D267,F64D267 7
CONV T64D270,F64D270 8
CONV T64D271,F64D271 9
CONV T64D272,F64D272 :
CONV T64D273,F64D273 ;
CONV T64D274,F64D274 <
CONV T64D275,F64D275 =
CONV T64D276,F64D276 >
CONV T64D277,F64D277 ?
CONV T64D300,F64D300 @
CONV T64D301,F64D301 A
CONV T64D302,F64D302 B
CONV T64D303,F64D303 C
CONV T64D304,F64D304 D
CONV T64D305,F64D305 E
CONV T64D306,F64D306 F
CONV T64D307,F64D307 G
CONV T64D310,F64D310 H
CONV T64D311,F64D311 I
CONV T64D312,F64D312 J
CONV T64D313,F64D313 K
CONV T64D314,F64D314 L
CONV T64D315,F64D315 M
CONV T64D316,F64D316 N
CONV T64D317,F64D317 O
CONV T64D320,F64D320 P
CONV T64D321,F64D321 Q
CONV T64D322,F64D322 R
CONV T64D323,F64D323 S
CONV T64D324,F64D324 T
CONV T64D325,F64D325 U
CONV T64D326,F64D326 V
CONV T64D327,F64D327 W
CONV T64D330,F64D330 X
CONV T64D331,F64D331 Y
CONV T64D332,F64D332 Z
CONV T64D333,F64D333 [
CONV T64D334,F64D334 \
CONV T64D335,F64D335 ]
CONV T64D336,F64D336 ^
CONV T64D337,F64D337 _
CONV T64D340,F64D340
CONV T64D341,F64D341 A
CONV T64D342,F64D342 B
CONV T64D343,F64D343 C
CONV T64D344,F64D344 D
CONV T64D345,F64D345 E
CONV T64D346,F64D346 F
CONV T64D347,F64D347 G
CONV T64D350,F64D350 H
CONV T64D351,F64D351 I
CONV T64D352,F64D352 J
CONV T64D353,F64D353 K
CONV T64D354,F64D354 L
CONV T64D355,F64D355 M
CONV T64D356,F64D356 N
CONV T64D357,F64D357 O
CONV T64D360,F64D360 P
CONV T64D361,F64D361 Q
CONV T64D362,F64D362 R
CONV T64D363,F64D363 S
CONV T64D364,F64D364 T
CONV T64D365,F64D365 U
CONV T64D366,F64D366 V
CONV T64D367,F64D367 W
CONV T64D370,F64D370 X
CONV T64D371,F64D371 Y
CONV T64D372,F64D372 Z
CONV T64D373,F64D373 [
CONV T64D374,F64D374 \
CONV T64D375,F64D375 ]
CONV T64D376,F64D376 ^
CONV T64D377,F64D377
CONV ZBCH,ZBCH ZB ZB
CONV EORC,EORC EOR EOR
CONV EOFC,EOFC EOF EOF
CONV EOIC,EOIC EOI EOI
LOC *O
QUAL *
SPACE 4,10
TD63 BSS 0 63 CHARACTER DISPLAY CODE
QUAL COMTCVT
LOC 0
* TO FROM
* DIS63 DIS63
CONV T63D000,F63D000
CONV T63D001,F63D001 A
CONV T63D002,F63D002 B
CONV T63D003,F63D003 C
CONV T63D004,F63D004 D
CONV T63D005,F63D005 E
CONV T63D006,F63D006 F
CONV T63D007,F63D007 G
CONV T63D010,F63D010 H
CONV T63D011,F63D011 I
CONV T63D012,F63D012 J
CONV T63D013,F63D013 K
CONV T63D014,F63D014 L
CONV T63D015,F63D015 M
CONV T63D016,F63D016 N
CONV T63D017,F63D017 O
CONV T63D020,F63D020 P
CONV T63D021,F63D021 Q
CONV T63D022,F63D022 R
CONV T63D023,F63D023 S
CONV T63D024,F63D024 T
CONV T63D025,F63D025 U
CONV T63D026,F63D026 V
CONV T63D027,F63D027 W
CONV T63D030,F63D030 X
CONV T63D031,F63D031 Y
CONV T63D032,F63D032 Z
CONV T63D033,F63D033 0
CONV T63D034,F63D034 1
CONV T63D035,F63D035 2
CONV T63D036,F63D036 3
CONV T63D037,F63D037 4
CONV T63D040,F63D040 BLANK 5
CONV T63D041,F63D041 ! 6
CONV T63D042,F63D042 " 7
CONV T63D043,F63D043 # 8
CONV T63D044,F63D044 $ 9
CONV T63D045,F63D045 BLANK
CONV T63D046,F63D046 & -
CONV T63D047,F63D047 ' *
CONV T63D050,F63D050 ( /
CONV T63D051,F63D051 ) (
CONV T63D052,F63D052 * )
CONV T63D053,F63D053 + $
CONV T63D054,F63D054 , =
CONV T63D055,F63D055 - BLANK
CONV T63D056,F63D056 . ,
CONV T63D057,F63D057 / .
CONV T63D060,F63D060 0 #
CONV T63D061,F63D061 1 [
CONV T63D062,F63D062 2 ]
CONV T63D063,F63D063 3 %
CONV T63D064,F63D064 4 "
CONV T63D065,F63D065 5 _
CONV T63D066,F63D066 6 !
CONV T63D067,F63D067 7 &
CONV T63D070,F63D070 8 '
CONV T63D071,F63D071 9 ?
CONV T63D072,F63D072 : <
CONV T63D073,F63D073 ; >
CONV T63D074,F63D074 < @
CONV T63D075,F63D075 = \
CONV T63D076,F63D076 > ^
CONV T63D077,F63D077 ? ;
CONV T63D100,F63D100 @
CONV T63D101,F63D101 A
CONV T63D102,F63D102 B
CONV T63D103,F63D103 C
CONV T63D104,F63D104 D
CONV T63D105,F63D105 E
CONV T63D106,F63D106 F
CONV T63D107,F63D107 G
CONV T63D110,F63D110 H
CONV T63D111,F63D111 I
CONV T63D112,F63D112 J
CONV T63D113,F63D113 K
CONV T63D114,F63D114 L
CONV T63D115,F63D115 M
CONV T63D116,F63D116 N
CONV T63D117,F63D117 O
CONV T63D120,F63D120 P
CONV T63D121,F63D121 Q
CONV T63D122,F63D122 R
CONV T63D123,F63D123 S
CONV T63D124,F63D124 T
CONV T63D125,F63D125 U
CONV T63D126,F63D126 V
CONV T63D127,F63D127 W
CONV T63D130,F63D130 X
CONV T63D131,F63D131 Y
CONV T63D132,F63D132 Z
CONV T63D133,F63D133 [
CONV T63D134,F63D134 \
CONV T63D135,F63D135 ]
CONV T63D136,F63D136 ^
CONV T63D137,F63D137 _
CONV T63D140,F63D140
CONV T63D141,F63D141 A
CONV T63D142,F63D142 B
CONV T63D143,F63D143 C
CONV T63D144,F63D144 D
CONV T63D145,F63D145 E
CONV T63D146,F63D146 F
CONV T63D147,F63D147 G
CONV T63D150,F63D150 H
CONV T63D151,F63D151 I
CONV T63D152,F63D152 J
CONV T63D153,F63D153 K
CONV T63D154,F63D154 L
CONV T63D155,F63D155 M
CONV T63D156,F63D156 N
CONV T63D157,F63D157 O
CONV T63D160,F63D160 P
CONV T63D161,F63D161 Q
CONV T63D162,F63D162 R
CONV T63D163,F63D163 S
CONV T63D164,F63D164 T
CONV T63D165,F63D165 U
CONV T63D166,F63D166 V
CONV T63D167,F63D167 W
CONV T63D170,F63D170 X
CONV T63D171,F63D171 Y
CONV T63D172,F63D172 Z
CONV T63D173,F63D173 [
CONV T63D174,F63D174 \
CONV T63D175,F63D175 ]
CONV T63D176,F63D176 ^
CONV T63D177,F63D177
CONV T63D200,F63D200
CONV T63D201,F63D201
CONV T63D202,F63D202
CONV T63D203,F63D203
CONV T63D204,F63D204
CONV T63D205,F63D205
CONV T63D206,F63D206
CONV T63D207,F63D207
CONV T63D210,F63D210
CONV T63D211,F63D211
CONV T63D212,F63D212
CONV T63D213,F63D213
CONV T63D214,F63D214
CONV T63D215,F63D215
CONV T63D216,F63D216
CONV T63D217,F63D217
CONV T63D220,F63D220
CONV T63D221,F63D221
CONV T63D222,F63D222
CONV T63D223,F63D223
CONV T63D224,F63D224
CONV T63D225,F63D225
CONV T63D226,F63D226
CONV T63D227,F63D227
CONV T63D230,F63D230
CONV T63D231,F63D231
CONV T63D232,F63D232
CONV T63D233,F63D233
CONV T63D234,F63D234
CONV T63D235,F63D235
CONV T63D236,F63D236
CONV T63D237,F63D237
CONV T63D240,F63D240 BLANK
CONV T63D241,F63D241 !
CONV T63D242,F63D242 "
CONV T63D243,F63D243 #
CONV T63D244,F63D244 $
CONV T63D245,F63D245 BLANK
CONV T63D246,F63D246 &
CONV T63D247,F63D247 '
CONV T63D250,F63D250 (
CONV T63D251,F63D251 )
CONV T63D252,F63D252 *
CONV T63D253,F63D253 +
CONV T63D254,F63D254 ,
CONV T63D255,F63D255 -
CONV T63D256,F63D256 .
CONV T63D257,F63D257 /
CONV T63D260,F63D260 0
CONV T63D261,F63D261 1
CONV T63D262,F63D262 2
CONV T63D263,F63D263 3
CONV T63D264,F63D264 4
CONV T63D265,F63D265 5
CONV T63D266,F63D266 6
CONV T63D267,F63D267 7
CONV T63D270,F63D270 8
CONV T63D271,F63D271 9
CONV T63D272,F63D272 :
CONV T63D273,F63D273 ;
CONV T63D274,F63D274 <
CONV T63D275,F63D275 =
CONV T63D276,F63D276 >
CONV T63D277,F63D277 ?
CONV T63D300,F63D300 @
CONV T63D301,F63D301 A
CONV T63D302,F63D302 B
CONV T63D303,F63D303 C
CONV T63D304,F63D304 D
CONV T63D305,F63D305 E
CONV T63D306,F63D306 F
CONV T63D307,F63D307 G
CONV T63D310,F63D310 H
CONV T63D311,F63D311 I
CONV T63D312,F63D312 J
CONV T63D313,F63D313 K
CONV T63D314,F63D314 L
CONV T63D315,F63D315 M
CONV T63D316,F63D316 N
CONV T63D317,F63D317 O
CONV T63D320,F63D320 P
CONV T63D321,F63D321 Q
CONV T63D322,F63D322 R
CONV T63D323,F63D323 S
CONV T63D324,F63D324 T
CONV T63D325,F63D325 U
CONV T63D326,F63D326 V
CONV T63D327,F63D327 W
CONV T63D330,F63D330 X
CONV T63D331,F63D331 Y
CONV T63D332,F63D332 Z
CONV T63D333,F63D333 [
CONV T63D334,F63D334 \
CONV T63D335,F63D335 ]
CONV T63D336,F63D336 ^
CONV T63D337,F63D337 _
CONV T63D340,F63D340
CONV T63D341,F63D341 A
CONV T63D342,F63D342 B
CONV T63D343,F63D343 C
CONV T63D344,F63D344 D
CONV T63D345,F63D345 E
CONV T63D346,F63D346 F
CONV T63D347,F63D347 G
CONV T63D350,F63D350 H
CONV T63D351,F63D351 I
CONV T63D352,F63D352 J
CONV T63D353,F63D353 K
CONV T63D354,F63D354 L
CONV T63D355,F63D355 M
CONV T63D356,F63D356 N
CONV T63D357,F63D357 O
CONV T63D360,F63D360 P
CONV T63D361,F63D361 Q
CONV T63D362,F63D362 R
CONV T63D363,F63D363 S
CONV T63D364,F63D364 T
CONV T63D365,F63D365 U
CONV T63D366,F63D366 V
CONV T63D367,F63D367 W
CONV T63D370,F63D370 X
CONV T63D371,F63D371 Y
CONV T63D372,F63D372 Z
CONV T63D373,F63D373 [
CONV T63D374,F63D374 \
CONV T63D375,F63D375 ]
CONV T63D376,F63D376 ^
CONV T63D377,F63D377
CONV ZBCH,ZBCH ZB ZB
CONV EORC,EORC EOR EOR
CONV EOFC,EOFC EOF EOF
CONV EOIC,EOIC EOI EOI
LOC *O
QUAL *
SPACE 4,10
TA64 BSS 0 64 CHARACTER ASCII 6/12
QUAL COMTCVT
LOC 0
* TO FROM
* ASCII64 ASCII64
CONV T64A000,F64A000 NUL :
CONV T64A001,F64A001 SOH A
CONV T64A002,F64A002 STX B
CONV T64A003,F64A003 ETX C
CONV T64A004,F64A004 EOT D
CONV T64A005,F64A005 ENQ E
CONV T64A006,F64A006 ACK F
CONV T64A007,F64A007 BEL G
CONV T64A010,F64A010 BS H
CONV T64A011,F64A011 HT I
CONV T64A012,F64A012 LF J
CONV T64A013,F64A013 VT K
CONV T64A014,F64A014 FF L
CONV T64A015,F64A015 CR M
CONV T64A016,F64A016 SO N
CONV T64A017,F64A017 SI O
CONV T64A020,F64A020 DLE P
CONV T64A021,F64A021 DC1 Q
CONV T64A022,F64A022 DC2 R
CONV T64A023,F64A023 DC3 S
CONV T64A024,F64A024 DC4 T
CONV T64A025,F64A025 NAK U
CONV T64A026,F64A026 SYN V
CONV T64A027,F64A027 ETB W
CONV T64A030,F64A030 CAN X
CONV T64A031,F64A031 EM Y
CONV T64A032,F64A032 SUB Z
CONV T64A033,F64A033 ESC 0
CONV T64A034,F64A034 FS 1
CONV T64A035,F64A035 GS 2
CONV T64A036,F64A036 RS 3
CONV T64A037,F64A037 US 4
CONV T64A040,F64A040 BLANK 5
CONV T64A041,F64A041 ! 6
CONV T64A042,F64A042 " 7
CONV T64A043,F64A043 # 8
CONV T64A044,F64A044 $ 9
CONV T64A045,F64A045 % +
CONV T64A046,F64A046 & -
CONV T64A047,F64A047 ' *
CONV T64A050,F64A050 ( /
CONV T64A051,F64A051 ) (
CONV T64A052,F64A052 * )
CONV T64A053,F64A053 + $
CONV T64A054,F64A054 , =
CONV T64A055,F64A055 - BLANK
CONV T64A056,F64A056 . ,
CONV T64A057,F64A057 / .
CONV T64A060,F64A060 0 #
CONV T64A061,F64A061 1 [
CONV T64A062,F64A062 2 ]
CONV T64A063,F64A063 3 %
CONV T64A064,F64A064 4 "
CONV T64A065,F64A065 5 _
CONV T64A066,F64A066 6 !
CONV T64A067,F64A067 7 &
CONV T64A070,F64A070 8 '
CONV T64A071,F64A071 9 ?
CONV T64A072,F64A072 : <
CONV T64A073,F64A073 ; >
CONV T64A074,F64A074 <
CONV T64A075,F64A075 = \
CONV T64A076,F64A076 >
CONV T64A077,F64A077 ? ;
CONV T64A100,F64A100 @
CONV T64A101,F64A101 A
CONV T64A102,F64A102 B
CONV T64A103,F64A103 C
CONV T64A104,F64A104 D
CONV T64A105,F64A105 E
CONV T64A106,F64A106 F
CONV T64A107,F64A107 G
CONV T64A110,F64A110 H
CONV T64A111,F64A111 I
CONV T64A112,F64A112 J
CONV T64A113,F64A113 K
CONV T64A114,F64A114 L
CONV T64A115,F64A115 M
CONV T64A116,F64A116 N
CONV T64A117,F64A117 O
CONV T64A120,F64A120 P
CONV T64A121,F64A121 Q
CONV T64A122,F64A122 R
CONV T64A123,F64A123 S
CONV T64A124,F64A124 T
CONV T64A125,F64A125 U
CONV T64A126,F64A126 V
CONV T64A127,F64A127 W
CONV T64A130,F64A130 X
CONV T64A131,F64A131 Y
CONV T64A132,F64A132 Z
CONV T64A133,F64A133 [
CONV T64A134,F64A134 \
CONV T64A135,F64A135 ]
CONV T64A136,F64A136 ^
CONV T64A137,F64A137 _
CONV T64A140,F64A140
CONV T64A141,F64A141 A
CONV T64A142,F64A142 B
CONV T64A143,F64A143 C
CONV T64A144,F64A144 D
CONV T64A145,F64A145 E
CONV T64A146,F64A146 F
CONV T64A147,F64A147 G
CONV T64A150,F64A150 H
CONV T64A151,F64A151 I
CONV T64A152,F64A152 J
CONV T64A153,F64A153 K
CONV T64A154,F64A154 L
CONV T64A155,F64A155 M
CONV T64A156,F64A156 N
CONV T64A157,F64A157 O
CONV T64A160,F64A160 P
CONV T64A161,F64A161 Q
CONV T64A162,F64A162 R
CONV T64A163,F64A163 S
CONV T64A164,F64A164 T
CONV T64A165,F64A165 U
CONV T64A166,F64A166 V
CONV T64A167,F64A167 W
CONV T64A170,F64A170 X
CONV T64A171,F64A171 Y
CONV T64A172,F64A172 Z
CONV T64A173,F64A173 L BRACE
CONV T64A174,F64A174 V LINE
CONV T64A175,F64A175 R BRACE
CONV T64A176,F64A176 TILDE
CONV T64A177,F64A177 DEL
CONV T64A200,F64A200 NUL
CONV T64A201,F64A201 SOH @
CONV T64A202,F64A202 STX ^
CONV T64A203,F64A203 ETX
CONV T64A204,F64A204 EOT :
CONV T64A205,F64A205 ENQ
CONV T64A206,F64A206 ACK
CONV T64A207,F64A207 BEL
CONV T64A210,F64A210 BS
CONV T64A211,F64A211 HT
CONV T64A212,F64A212 LF
CONV T64A213,F64A213 VT
CONV T64A214,F64A214 FF
CONV T64A215,F64A215 CR
CONV T64A216,F64A216 SO
CONV T64A217,F64A217 SI
CONV T64A220,F64A220 DLE
CONV T64A221,F64A221 DC1
CONV T64A222,F64A222 DC2
CONV T64A223,F64A223 DC3
CONV T64A224,F64A224 DC4
CONV T64A225,F64A225 NAK
CONV T64A226,F64A226 SYN
CONV T64A227,F64A227 ETB
CONV T64A230,F64A230 CAN
CONV T64A231,F64A231 EM
CONV T64A232,F64A232 SUB
CONV T64A233,F64A233 ESC
CONV T64A234,F64A234 FS
CONV T64A235,F64A235 GS
CONV T64A236,F64A236 RS
CONV T64A237,F64A237 US
CONV T64A240,F64A240 BLANK
CONV T64A241,F64A241 !
CONV T64A242,F64A242 "
CONV T64A243,F64A243 #
CONV T64A244,F64A244 $
CONV T64A245,F64A245 %
CONV T64A246,F64A246 &
CONV T64A247,F64A247 '
CONV T64A250,F64A250 (
CONV T64A251,F64A251 )
CONV T64A252,F64A252 *
CONV T64A253,F64A253 +
CONV T64A254,F64A254 ,
CONV T64A255,F64A255 -
CONV T64A256,F64A256 .
CONV T64A257,F64A257 /
CONV T64A260,F64A260 0
CONV T64A261,F64A261 1
CONV T64A262,F64A262 2
CONV T64A263,F64A263 3
CONV T64A264,F64A264 4
CONV T64A265,F64A265 5
CONV T64A266,F64A266 6
CONV T64A267,F64A267 7
CONV T64A270,F64A270 8
CONV T64A271,F64A271 9
CONV T64A272,F64A272 :
CONV T64A273,F64A273 ;
CONV T64A274,F64A274 <
CONV T64A275,F64A275 =
CONV T64A276,F64A276 >
CONV T64A277,F64A277 ?
CONV T64A300,F64A300 @
CONV T64A301,F64A301 A A
CONV T64A302,F64A302 B B
CONV T64A303,F64A303 C C
CONV T64A304,F64A304 D D
CONV T64A305,F64A305 E E
CONV T64A306,F64A306 F F
CONV T64A307,F64A307 G G
CONV T64A310,F64A310 H H
CONV T64A311,F64A311 I I
CONV T64A312,F64A312 J J
CONV T64A313,F64A313 K K
CONV T64A314,F64A314 L L
CONV T64A315,F64A315 M M
CONV T64A316,F64A316 N N
CONV T64A317,F64A317 O O
CONV T64A320,F64A320 P P
CONV T64A321,F64A321 Q Q
CONV T64A322,F64A322 R R
CONV T64A323,F64A323 S S
CONV T64A324,F64A324 T T
CONV T64A325,F64A325 U U
CONV T64A326,F64A326 V V
CONV T64A327,F64A327 W W
CONV T64A330,F64A330 X X
CONV T64A331,F64A331 Y Y
CONV T64A332,F64A332 Z Z
CONV T64A333,F64A333 [ L BRACE
CONV T64A334,F64A334 \ V LINE
CONV T64A335,F64A335 ] R BRACE
CONV T64A336,F64A336 ^ TILDE
CONV T64A337,F64A337 _ DEL
CONV T64A340,F64A340 NUL
CONV T64A341,F64A341 A SOH
CONV T64A342,F64A342 B STX
CONV T64A343,F64A343 C ETX
CONV T64A344,F64A344 D EOT
CONV T64A345,F64A345 E ENQ
CONV T64A346,F64A346 F ACK
CONV T64A347,F64A347 G BEL
CONV T64A350,F64A350 H BS
CONV T64A351,F64A351 I HT
CONV T64A352,F64A352 J LF
CONV T64A353,F64A353 K VT
CONV T64A354,F64A354 L FF
CONV T64A355,F64A355 M CR
CONV T64A356,F64A356 N SO
CONV T64A357,F64A357 O SI
CONV T64A360,F64A360 P DLE
CONV T64A361,F64A361 Q DC1
CONV T64A362,F64A362 R DC2
CONV T64A363,F64A363 S DC3
CONV T64A364,F64A364 T DC4
CONV T64A365,F64A365 U NAK
CONV T64A366,F64A366 V SYN
CONV T64A367,F64A367 W ETB
CONV T64A370,F64A370 X CAN
CONV T64A371,F64A371 Y EM
CONV T64A372,F64A372 Z SUB
CONV T64A373,F64A373 L BRACE ESC
CONV T64A374,F64A374 V LINE FS
CONV T64A375,F64A375 R BRACE GS
CONV T64A376,F64A376 TILDE RS
CONV T64A377,F64A377 DEL US
CONV ZBCH,ZBCH ZB ZB
CONV EORC,EORC EOR EOR
CONV EOFC,EOFC EOF EOF
CONV EOIC,EOIC EOI EOI
LOC *O
QUAL *
SPACE 4,10
TA63 BSS 0 63 CHARACTER 6/12 DISPLAY CODE
QUAL COMTCVT
LOC 0
* TO FROM
* ASCII63 ASCII63
CONV T63A000,F63A000 NUL
CONV T63A001,F63A001 SOH A
CONV T63A002,F63A002 STX B
CONV T63A003,F63A003 ETX C
CONV T63A004,F63A004 EOT D
CONV T63A005,F63A005 ENQ E
CONV T63A006,F63A006 ACK F
CONV T63A007,F63A007 BEL G
CONV T63A010,F63A010 BS H
CONV T63A011,F63A011 HT I
CONV T63A012,F63A012 LF J
CONV T63A013,F63A013 VT K
CONV T63A014,F63A014 FF L
CONV T63A015,F63A015 CR M
CONV T63A016,F63A016 SO N
CONV T63A017,F63A017 SI O
CONV T63A020,F63A020 DLE P
CONV T63A021,F63A021 DC1 Q
CONV T63A022,F63A022 DC2 R
CONV T63A023,F63A023 DC3 S
CONV T63A024,F63A024 DC4 T
CONV T63A025,F63A025 NAK U
CONV T63A026,F63A026 SYN V
CONV T63A027,F63A027 ETB W
CONV T63A030,F63A030 CAN X
CONV T63A031,F63A031 EM Y
CONV T63A032,F63A032 SUB Z
CONV T63A033,F63A033 ESC 0
CONV T63A034,F63A034 FS 1
CONV T63A035,F63A035 GS 2
CONV T63A036,F63A036 RS 3
CONV T63A037,F63A037 US 4
CONV T63A040,F63A040 BLANK 5
CONV T63A041,F63A041 ! 6
CONV T63A042,F63A042 " 7
CONV T63A043,F63A043 # 8
CONV T63A044,F63A044 $ 9
CONV T63A045,F63A045 % +
CONV T63A046,F63A046 & -
CONV T63A047,F63A047 ' *
CONV T63A050,F63A050 ( /
CONV T63A051,F63A051 ) (
CONV T63A052,F63A052 * )
CONV T63A053,F63A053 + $
CONV T63A054,F63A054 , =
CONV T63A055,F63A055 - BLANK
CONV T63A056,F63A056 . ,
CONV T63A057,F63A057 / .
CONV T63A060,F63A060 0 #
CONV T63A061,F63A061 1 [
CONV T63A062,F63A062 2 ]
CONV T63A063,F63A063 3 :
CONV T63A064,F63A064 4 "
CONV T63A065,F63A065 5 _
CONV T63A066,F63A066 6 !
CONV T63A067,F63A067 7 &
CONV T63A070,F63A070 8 '
CONV T63A071,F63A071 9 ?
CONV T63A072,F63A072 : <
CONV T63A073,F63A073 ; >
CONV T63A074,F63A074 <
CONV T63A075,F63A075 = \
CONV T63A076,F63A076 >
CONV T63A077,F63A077 ? ;
CONV T63A100,F63A100 @
CONV T63A101,F63A101 A
CONV T63A102,F63A102 B
CONV T63A103,F63A103 C
CONV T63A104,F63A104 D
CONV T63A105,F63A105 E
CONV T63A106,F63A106 F
CONV T63A107,F63A107 G
CONV T63A110,F63A110 H
CONV T63A111,F63A111 I
CONV T63A112,F63A112 J
CONV T63A113,F63A113 K
CONV T63A114,F63A114 L
CONV T63A115,F63A115 M
CONV T63A116,F63A116 N
CONV T63A117,F63A117 O
CONV T63A120,F63A120 P
CONV T63A121,F63A121 Q
CONV T63A122,F63A122 R
CONV T63A123,F63A123 S
CONV T63A124,F63A124 T
CONV T63A125,F63A125 U
CONV T63A126,F63A126 V
CONV T63A127,F63A127 W
CONV T63A130,F63A130 X
CONV T63A131,F63A131 Y
CONV T63A132,F63A132 Z
CONV T63A133,F63A133 [
CONV T63A134,F63A134 \
CONV T63A135,F63A135 ]
CONV T63A136,F63A136 ^
CONV T63A137,F63A137 _
CONV T63A140,F63A140
CONV T63A141,F63A141 A
CONV T63A142,F63A142 B
CONV T63A143,F63A143 C
CONV T63A144,F63A144 D
CONV T63A145,F63A145 E
CONV T63A146,F63A146 F
CONV T63A147,F63A147 G
CONV T63A150,F63A150 H
CONV T63A151,F63A151 I
CONV T63A152,F63A152 J
CONV T63A153,F63A153 K
CONV T63A154,F63A154 L
CONV T63A155,F63A155 M
CONV T63A156,F63A156 N
CONV T63A157,F63A157 O
CONV T63A160,F63A160 P
CONV T63A161,F63A161 Q
CONV T63A162,F63A162 R
CONV T63A163,F63A163 S
CONV T63A164,F63A164 T
CONV T63A165,F63A165 U
CONV T63A166,F63A166 V
CONV T63A167,F63A167 W
CONV T63A170,F63A170 X
CONV T63A171,F63A171 Y
CONV T63A172,F63A172 Z
CONV T63A173,F63A173 L BRACE
CONV T63A174,F63A174 V LINE
CONV T63A175,F63A175 R BRACE
CONV T63A176,F63A176 TILDE
CONV T63A177,F63A177 DEL
CONV T63A200,F63A200 NUL
CONV T63A201,F63A201 SOH @
CONV T63A202,F63A202 STX ^
CONV T63A203,F63A203 ETX
CONV T63A204,F63A204 EOT %
CONV T63A205,F63A205 ENQ
CONV T63A206,F63A206 ACK
CONV T63A207,F63A207 BEL
CONV T63A210,F63A210 BS
CONV T63A211,F63A211 HT
CONV T63A212,F63A212 LF
CONV T63A213,F63A213 VT
CONV T63A214,F63A214 FF
CONV T63A215,F63A215 CR
CONV T63A216,F63A216 SO
CONV T63A217,F63A217 SI
CONV T63A220,F63A220 DLE
CONV T63A221,F63A221 DC1
CONV T63A222,F63A222 DC2
CONV T63A223,F63A223 DC3
CONV T63A224,F63A224 DC4
CONV T63A225,F63A225 NAK
CONV T63A226,F63A226 SYN
CONV T63A227,F63A227 ETB
CONV T63A230,F63A230 CAN
CONV T63A231,F63A231 EM
CONV T63A232,F63A232 SUB
CONV T63A233,F63A233 ESC
CONV T63A234,F63A234 FS
CONV T63A235,F63A235 GS
CONV T63A236,F63A236 RS
CONV T63A237,F63A237 US
CONV T63A240,F63A240 BLANK
CONV T63A241,F63A241 !
CONV T63A242,F63A242 "
CONV T63A243,F63A243 #
CONV T63A244,F63A244 $
CONV T63A245,F63A245 %
CONV T63A246,F63A246 &
CONV T63A247,F63A247 '
CONV T63A250,F63A250 (
CONV T63A251,F63A251 )
CONV T63A252,F63A252 *
CONV T63A253,F63A253 +
CONV T63A254,F63A254 ,
CONV T63A255,F63A255 -
CONV T63A256,F63A256 .
CONV T63A257,F63A257 /
CONV T63A260,F63A260 0
CONV T63A261,F63A261 1
CONV T63A262,F63A262 2
CONV T63A263,F63A263 3
CONV T63A264,F63A264 4
CONV T63A265,F63A265 5
CONV T63A266,F63A266 6
CONV T63A267,F63A267 7
CONV T63A270,F63A270 8
CONV T63A271,F63A271 9
CONV T63A272,F63A272 :
CONV T63A273,F63A273 ;
CONV T63A274,F63A274 <
CONV T63A275,F63A275 =
CONV T63A276,F63A276 >
CONV T63A277,F63A277 ?
CONV T63A300,F63A300 @
CONV T63A301,F63A301 A A
CONV T63A302,F63A302 B B
CONV T63A303,F63A303 C C
CONV T63A304,F63A304 D D
CONV T63A305,F63A305 E E
CONV T63A306,F63A306 F F
CONV T63A307,F63A307 G G
CONV T63A310,F63A310 H H
CONV T63A311,F63A311 I I
CONV T63A312,F63A312 J J
CONV T63A313,F63A313 K K
CONV T63A314,F63A314 L L
CONV T63A315,F63A315 M M
CONV T63A316,F63A316 N N
CONV T63A317,F63A317 O O
CONV T63A320,F63A320 P P
CONV T63A321,F63A321 Q Q
CONV T63A322,F63A322 R R
CONV T63A323,F63A323 S S
CONV T63A324,F63A324 T T
CONV T63A325,F63A325 U U
CONV T63A326,F63A326 V V
CONV T63A327,F63A327 W W
CONV T63A330,F63A330 X X
CONV T63A331,F63A331 Y Y
CONV T63A332,F63A332 Z Z
CONV T63A333,F63A333 [ L BRACE
CONV T63A334,F63A334 \ V LINE
CONV T63A335,F63A335 ] R BRACE
CONV T63A336,F63A336 ^ TILDE
CONV T63A337,F63A337 _ DEL
CONV T63A340,F63A340 NUL
CONV T63A341,F63A341 A SOH
CONV T63A342,F63A342 B STX
CONV T63A343,F63A343 C ETX
CONV T63A344,F63A344 D EOT
CONV T63A345,F63A345 E ENQ
CONV T63A346,F63A346 F ACK
CONV T63A347,F63A347 G BEL
CONV T63A350,F63A350 H BS
CONV T63A351,F63A351 I HT
CONV T63A352,F63A352 J LF
CONV T63A353,F63A353 K VT
CONV T63A354,F63A354 L FF
CONV T63A355,F63A355 M CR
CONV T63A356,F63A356 N SO
CONV T63A357,F63A357 O SI
CONV T63A360,F63A360 P DLE
CONV T63A361,F63A361 Q DC1
CONV T63A362,F63A362 R DC2
CONV T63A363,F63A363 S DC3
CONV T63A364,F63A364 T DC4
CONV T63A365,F63A365 U NAK
CONV T63A366,F63A366 V SYN
CONV T63A367,F63A367 W ETB
CONV T63A370,F63A370 X CAN
CONV T63A371,F63A371 Y EM
CONV T63A372,F63A372 Z SUB
CONV T63A373,F63A373 L BRACE ESC
CONV T63A374,F63A374 V LINE FS
CONV T63A375,F63A375 R BRACE GS
CONV T63A376,F63A376 TILDE RS
CONV T63A377,F63A377 DEL US
CONV ZBCH,ZBCH ZB ZB
CONV EORC,EORC EOR EOR
CONV EOFC,EOFC EOF EOF
CONV EOIC,EOIC EOI EOI
LOC *O
QUAL *
SPACE 4,10
TAS8 BSS 0 SHORT VERSION OF 8 BIT ASCII.
QUAL COMTCVT
LOC 0
* TO FROM
* ASCII8 ASCII8
CONV T8AS000,F8AS000 NUL NUL
CONV T8AS001,F8AS001 SOH SOH
CONV T8AS002,F8AS002 STX STX
CONV T8AS003,F8AS003 ETX ETX
CONV T8AS004,F8AS004 EOT EOT
CONV T8AS005,F8AS005 ENQ ENQ
CONV T8AS006,F8AS006 ACK ACK
CONV T8AS007,F8AS007 BEL BEL
CONV T8AS010,F8AS010 BS BS
CONV T8AS011,F8AS011 HT HT
CONV T8AS012,F8AS012 LF LF
CONV T8AS013,F8AS013 VT VT
CONV T8AS014,F8AS014 FF FF
CONV T8AS015,F8AS015 CR CR
CONV T8AS016,F8AS016 SO SO
CONV T8AS017,F8AS017 SI SI
CONV T8AS020,F8AS020 DLE DLE
CONV T8AS021,F8AS021 DC1 DC1
CONV T8AS022,F8AS022 DC2 DC2
CONV T8AS023,F8AS023 DC3 DC3
CONV T8AS024,F8AS024 DC4 DC4
CONV T8AS025,F8AS025 NAK NAK
CONV T8AS026,F8AS026 SYN SYN
CONV T8AS027,F8AS027 ETB ETB
CONV T8AS030,F8AS030 CAN CAN
CONV T8AS031,F8AS031 EM EM
CONV T8AS032,F8AS032 SUB SUB
CONV T8AS033,F8AS033 ESC ESC
CONV T8AS034,F8AS034 FS FS
CONV T8AS035,F8AS035 GS GS
CONV T8AS036,F8AS036 RS RS
CONV T8AS037,F8AS037 US US
CONV T8AS040,F8AS040 BLANK BLANK
CONV T8AS041,F8AS041 ! !
CONV T8AS042,F8AS042 "" ""
CONV T8AS043,F8AS043 # #
CONV T8AS044,F8AS044 $ $
CONV T8AS045,F8AS045 % %
CONV T8AS046,F8AS046 & &
CONV T8AS047,F8AS047 ' '
CONV T8AS050,F8AS050 ( (
CONV T8AS051,F8AS051 ) )
CONV T8AS052,F8AS052 * *
CONV T8AS053,F8AS053 + +
CONV T8AS054,F8AS054 , ,
CONV T8AS055,F8AS055 - -
CONV T8AS056,F8AS056 . .
CONV T8AS057,F8AS057 / /
CONV T8AS060,F8AS060 0 0
CONV T8AS061,F8AS061 1 1
CONV T8AS062,F8AS062 2 2
CONV T8AS063,F8AS063 3 3
CONV T8AS064,F8AS064 4 4
CONV T8AS065,F8AS065 5 5
CONV T8AS066,F8AS066 6 6
CONV T8AS067,F8AS067 7 7
CONV T8AS070,F8AS070 8 8
CONV T8AS071,F8AS071 9 9
CONV T8AS072,F8AS072 : :
CONV T8AS073,F8AS073 ; ;
CONV T8AS074,F8AS074 < <
CONV T8AS075,F8AS075 = =
CONV T8AS076,F8AS076 > >
CONV T8AS077,F8AS077 ? ?
CONV T8AS100,F8AS100 @ @
CONV T8AS101,F8AS101 A A
CONV T8AS102,F8AS102 B B
CONV T8AS103,F8AS103 C C
CONV T8AS104,F8AS104 D D
CONV T8AS105,F8AS105 E E
CONV T8AS106,F8AS106 F F
CONV T8AS107,F8AS107 G G
CONV T8AS110,F8AS110 H H
CONV T8AS111,F8AS111 I I
CONV T8AS112,F8AS112 J J
CONV T8AS113,F8AS113 K K
CONV T8AS114,F8AS114 L L
CONV T8AS115,F8AS115 M M
CONV T8AS116,F8AS116 N N
CONV T8AS117,F8AS117 O O
CONV T8AS120,F8AS120 P P
CONV T8AS121,F8AS121 Q Q
CONV T8AS122,F8AS122 R R
CONV T8AS123,F8AS123 S S
CONV T8AS124,F8AS124 T T
CONV T8AS125,F8AS125 U U
CONV T8AS126,F8AS126 V V
CONV T8AS127,F8AS127 W W
CONV T8AS130,F8AS130 X X
CONV T8AS131,F8AS131 Y Y
CONV T8AS132,F8AS132 Z Z
CONV T8AS133,F8AS133 [ [
CONV T8AS134,F8AS134 \ \
CONV T8AS135,F8AS135 ] ]
CONV T8AS136,F8AS136 ^ ^
CONV T8AS137,F8AS137 _ _
CONV T8AS140,F8AS140
CONV T8AS141,F8AS141 A A
CONV T8AS142,F8AS142 B B
CONV T8AS143,F8AS143 C C
CONV T8AS144,F8AS144 D D
CONV T8AS145,F8AS145 E E
CONV T8AS146,F8AS146 F F
CONV T8AS147,F8AS147 G G
CONV T8AS150,F8AS150 H H
CONV T8AS151,F8AS151 I I
CONV T8AS152,F8AS152 J J
CONV T8AS153,F8AS153 K K
CONV T8AS154,F8AS154 L L
CONV T8AS155,F8AS155 M M
CONV T8AS156,F8AS156 N N
CONV T8AS157,F8AS157 O O
CONV T8AS160,F8AS160 P P
CONV T8AS161,F8AS161 Q Q
CONV T8AS162,F8AS162 R R
CONV T8AS163,F8AS163 S S
CONV T8AS164,F8AS164 T T
CONV T8AS165,F8AS165 U U
CONV T8AS166,F8AS166 V V
CONV T8AS167,F8AS167 W W
CONV T8AS170,F8AS170 X X
CONV T8AS171,F8AS171 Y Y
CONV T8AS172,F8AS172 Z Z
CONV T8AS173,F8AS173 L BRACE L BRACE
CONV T8AS174,F8AS174 V LINE V LINE
CONV T8AS175,F8AS175 R BRACE R BRACE
CONV T8AS176,F8AS176 TILDE TILDE
CONV T8AS177,F8AS177 DEL DEL
CONV T8AS200,F8AS200 NUL NUL
CONV T8AS201,F8AS201 SOH SOH
CONV T8AS202,F8AS202 STX STX
CONV T8AS203,F8AS203 ETX ETX
CONV T8AS204,F8AS204 EOT EOT
CONV T8AS205,F8AS205 ENQ ENQ
CONV T8AS206,F8AS206 ACK ACK
CONV T8AS207,F8AS207 BEL BEL
CONV T8AS210,F8AS210 BS BS
CONV T8AS211,F8AS211 HT HT
CONV T8AS212,F8AS212 LF LF
CONV T8AS213,F8AS213 VT VT
CONV T8AS214,F8AS214 FF FF
CONV T8AS215,F8AS215 CR CR
CONV T8AS216,F8AS216 SO SO
CONV T8AS217,F8AS217 SI SI
CONV T8AS220,F8AS220 DLE DLE
CONV T8AS221,F8AS221 DC1 DC1
CONV T8AS222,F8AS222 DC2 DC2
CONV T8AS223,F8AS223 DC3 DC3
CONV T8AS224,F8AS224 DC4 DC4
CONV T8AS225,F8AS225 NAK NAK
CONV T8AS226,F8AS226 SYN SYN
CONV T8AS227,F8AS227 ETB ETB
CONV T8AS230,F8AS230 CAN CAN
CONV T8AS231,F8AS231 EM EM
CONV T8AS232,F8AS232 SUB SUB
CONV T8AS233,F8AS233 ESC ESC
CONV T8AS234,F8AS234 FS FS
CONV T8AS235,F8AS235 GS GS
CONV T8AS236,F8AS236 RS RS
CONV T8AS237,F8AS237 US US
CONV T8AS240,F8AS240 BLANK BLANK
CONV T8AS241,F8AS241 ! !
CONV T8AS242,F8AS242 QUOTE QUOTE
CONV T8AS243,F8AS243 # #
CONV T8AS244,F8AS244 $ $
CONV T8AS245,F8AS245 % %
CONV T8AS246,F8AS246 & &
CONV T8AS247,F8AS247 ' '
CONV T8AS250,F8AS250 ( (
CONV T8AS251,F8AS251 ) )
CONV T8AS252,F8AS252 * *
CONV T8AS253,F8AS253 + +
CONV T8AS254,F8AS254 , ,
CONV T8AS255,F8AS255 - -
CONV T8AS256,F8AS256 . .
CONV T8AS257,F8AS257 / /
CONV T8AS260,F8AS260 0 0
CONV T8AS261,F8AS261 1 1
CONV T8AS262,F8AS262 2 2
CONV T8AS263,F8AS263 3 3
CONV T8AS264,F8AS264 4 4
CONV T8AS265,F8AS265 5 5
CONV T8AS266,F8AS266 6 6
CONV T8AS267,F8AS267 7 7
CONV T8AS270,F8AS270 8 8
CONV T8AS271,F8AS271 9 9
CONV T8AS272,F8AS272 : :
CONV T8AS273,F8AS273 ; ;
CONV T8AS274,F8AS274 < <
CONV T8AS275,F8AS275 = =
CONV T8AS276,F8AS276 > >
CONV T8AS277,F8AS277 ? ?
CONV T8AS300,F8AS300 @ @
CONV T8AS301,F8AS301 A A
CONV T8AS302,F8AS302 B B
CONV T8AS303,F8AS303 C C
CONV T8AS304,F8AS304 D D
CONV T8AS305,F8AS305 E E
CONV T8AS306,F8AS306 F F
CONV T8AS307,F8AS307 G G
CONV T8AS310,F8AS310 H H
CONV T8AS311,F8AS311 I I
CONV T8AS312,F8AS312 J J
CONV T8AS313,F8AS313 K K
CONV T8AS314,F8AS314 L L
CONV T8AS315,F8AS315 M M
CONV T8AS316,F8AS316 N N
CONV T8AS317,F8AS317 O O
CONV T8AS320,F8AS320 P P
CONV T8AS321,F8AS321 Q Q
CONV T8AS322,F8AS322 R R
CONV T8AS323,F8AS323 S S
CONV T8AS324,F8AS324 T T
CONV T8AS325,F8AS325 U U
CONV T8AS326,F8AS326 V V
CONV T8AS327,F8AS327 W W
CONV T8AS330,F8AS330 X X
CONV T8AS331,F8AS331 Y Y
CONV T8AS332,F8AS332 Z Z
CONV T8AS333,F8AS333 [ [
CONV T8AS334,F8AS334 \ \
CONV T8AS335,F8AS335 ] ]
CONV T8AS336,F8AS336 ^ ^
CONV T8AS337,F8AS337 _ _
CONV T8AS340,F8AS340
CONV T8AS341,F8AS341 A A
CONV T8AS342,F8AS342 B B
CONV T8AS343,F8AS343 C C
CONV T8AS344,F8AS344 D D
CONV T8AS345,F8AS345 E E
CONV T8AS346,F8AS346 F F
CONV T8AS347,F8AS347 G G
CONV T8AS350,F8AS350 H H
CONV T8AS351,F8AS351 I I
CONV T8AS352,F8AS352 J J
CONV T8AS353,F8AS353 K K
CONV T8AS354,F8AS354 L L
CONV T8AS355,F8AS355 M M
CONV T8AS356,F8AS356 N N
CONV T8AS357,F8AS357 O O
CONV T8AS360,F8AS360 P P
CONV T8AS361,F8AS361 Q Q
CONV T8AS362,F8AS362 R R
CONV T8AS363,F8AS363 S S
CONV T8AS364,F8AS364 T T
CONV T8AS365,F8AS365 U U
CONV T8AS366,F8AS366 V V
CONV T8AS367,F8AS367 W W
CONV T8AS370,F8AS370 X X
CONV T8AS371,F8AS371 Y Y
CONV T8AS372,F8AS372 Z Z
CONV T8AS373,F8AS373 L BRACE L BRACE
CONV T8AS374,F8AS374 V LINE V LINE
CONV T8AS375,F8AS375 R BRACE R BRACE
CONV T8AS376,F8AS376 TILDE TILDE
CONV T8AS377,F8AS377 DEL DEL
CONV ZBCH,ZBCH ZB ZB
CONV EORC,EORC EOR EOR
CONV EOFC,EOFC EOF EOF
CONV EOIC,EOIC EOI EOI
LOC *O
QUAL *
SPACE 4,10
TASC BSS 0 FULL 8 BIT ASCII
QUAL COMTCVT
LOC 0
* TO FROM
* ASCII ASCII
CONV TASC000,FASC000 NUL NUL
CONV TASC001,FASC001 SOH SOH
CONV TASC002,FASC002 STX STX
CONV TASC003,FASC003 ETX ETX
CONV TASC004,FASC004 EOT EOT
CONV TASC005,FASC005 ENQ ENQ
CONV TASC006,FASC006 ACK ACK
CONV TASC007,FASC007 BEL BEL
CONV TASC010,FASC010 BS BS
CONV TASC011,FASC011 HT HT
CONV TASC012,FASC012 LF LF
CONV TASC013,FASC013 VT VT
CONV TASC014,FASC014 FF FF
CONV TASC015,FASC015 CR CR
CONV TASC016,FASC016 SO SO
CONV TASC017,FASC017 SI SI
CONV TASC020,FASC020 DLE DLE
CONV TASC021,FASC021 DC1 DC1
CONV TASC022,FASC022 DC2 DC2
CONV TASC023,FASC023 DC3 DC3
CONV TASC024,FASC024 DC4 DC4
CONV TASC025,FASC025 NAK NAK
CONV TASC026,FASC026 SYN SYN
CONV TASC027,FASC027 ETB ETB
CONV TASC030,FASC030 CAN CAN
CONV TASC031,FASC031 EM EM
CONV TASC032,FASC032 SUB SUB
CONV TASC033,FASC033 ESC ESC
CONV TASC034,FASC034 FS FS
CONV TASC035,FASC035 GS GS
CONV TASC036,FASC036 RS RS
CONV TASC037,FASC037 US US
CONV TASC040,FASC040 BLANK BLANK
CONV TASC041,FASC041 ! !
CONV TASC042,FASC042 "" ""
CONV TASC043,FASC043 # #
CONV TASC044,FASC044 $ $
CONV TASC045,FASC045 % %
CONV TASC046,FASC046 & &
CONV TASC047,FASC047 ' '
CONV TASC050,FASC050 ( (
CONV TASC051,FASC051 ) )
CONV TASC052,FASC052 * *
CONV TASC053,FASC053 + +
CONV TASC054,FASC054 , ,
CONV TASC055,FASC055 - -
CONV TASC056,FASC056 . .
CONV TASC057,FASC057 / /
CONV TASC060,FASC060 0 0
CONV TASC061,FASC061 1 1
CONV TASC062,FASC062 2 2
CONV TASC063,FASC063 3 3
CONV TASC064,FASC064 4 4
CONV TASC065,FASC065 5 5
CONV TASC066,FASC066 6 6
CONV TASC067,FASC067 7 7
CONV TASC070,FASC070 8 8
CONV TASC071,FASC071 9 9
CONV TASC072,FASC072 : :
CONV TASC073,FASC073 ; ;
CONV TASC074,FASC074 < <
CONV TASC075,FASC075 = =
CONV TASC076,FASC076 > >
CONV TASC077,FASC077 ? ?
CONV TASC100,FASC100 @ @
CONV TASC101,FASC101 A A
CONV TASC102,FASC102 B B
CONV TASC103,FASC103 C C
CONV TASC104,FASC104 D D
CONV TASC105,FASC105 E E
CONV TASC106,FASC106 F F
CONV TASC107,FASC107 G G
CONV TASC110,FASC110 H H
CONV TASC111,FASC111 I I
CONV TASC112,FASC112 J J
CONV TASC113,FASC113 K K
CONV TASC114,FASC114 L L
CONV TASC115,FASC115 M M
CONV TASC116,FASC116 N N
CONV TASC117,FASC117 O O
CONV TASC120,FASC120 P P
CONV TASC121,FASC121 Q Q
CONV TASC122,FASC122 R R
CONV TASC123,FASC123 S S
CONV TASC124,FASC124 T T
CONV TASC125,FASC125 U U
CONV TASC126,FASC126 V V
CONV TASC127,FASC127 W W
CONV TASC130,FASC130 X X
CONV TASC131,FASC131 Y Y
CONV TASC132,FASC132 Z Z
CONV TASC133,FASC133 [ [
CONV TASC134,FASC134 \ \
CONV TASC135,FASC135 ] ]
CONV TASC136,FASC136 ^ ^
CONV TASC137,FASC137 _ _
CONV TASC140,FASC140
CONV TASC141,FASC141 A A
CONV TASC142,FASC142 B B
CONV TASC143,FASC143 C C
CONV TASC144,FASC144 D D
CONV TASC145,FASC145 E E
CONV TASC146,FASC146 F F
CONV TASC147,FASC147 G G
CONV TASC150,FASC150 H H
CONV TASC151,FASC151 I I
CONV TASC152,FASC152 J J
CONV TASC153,FASC153 K K
CONV TASC154,FASC154 L L
CONV TASC155,FASC155 M M
CONV TASC156,FASC156 N N
CONV TASC157,FASC157 O O
CONV TASC160,FASC160 P P
CONV TASC161,FASC161 Q Q
CONV TASC162,FASC162 R R
CONV TASC163,FASC163 S S
CONV TASC164,FASC164 T T
CONV TASC165,FASC165 U U
CONV TASC166,FASC166 V V
CONV TASC167,FASC167 W W
CONV TASC170,FASC170 X X
CONV TASC171,FASC171 Y Y
CONV TASC172,FASC172 Z Z
CONV TASC173,FASC173 L BRACE L BRACE
CONV TASC174,FASC174 V LINE V LINE
CONV TASC175,FASC175 R BRACE R BRACE
CONV TASC176,FASC176 TILDE TILDE
CONV TASC177,FASC177 DEL DEL
CONV TASC200,FASC200
CONV TASC201,FASC201
CONV TASC202,FASC202
CONV TASC203,FASC203
CONV TASC204,FASC204
CONV TASC205,FASC205
CONV TASC206,FASC206
CONV TASC207,FASC207
CONV TASC210,FASC210
CONV TASC211,FASC211
CONV TASC212,FASC212
CONV TASC213,FASC213
CONV TASC214,FASC214
CONV TASC215,FASC215
CONV TASC216,FASC216
CONV TASC217,FASC217
CONV TASC220,FASC220
CONV TASC221,FASC221
CONV TASC222,FASC222
CONV TASC223,FASC223
CONV TASC224,FASC224
CONV TASC225,FASC225
CONV TASC226,FASC226
CONV TASC227,FASC227
CONV TASC230,FASC230
CONV TASC231,FASC231
CONV TASC232,FASC232
CONV TASC233,FASC233
CONV TASC234,FASC234
CONV TASC235,FASC235
CONV TASC236,FASC236
CONV TASC237,FASC237
CONV TASC240,FASC240
CONV TASC241,FASC241
CONV TASC242,FASC242
CONV TASC243,FASC243
CONV TASC244,FASC244
CONV TASC245,FASC245
CONV TASC246,FASC246
CONV TASC247,FASC247
CONV TASC250,FASC250
CONV TASC251,FASC251
CONV TASC252,FASC252
CONV TASC253,FASC253
CONV TASC254,FASC254
CONV TASC255,FASC255
CONV TASC256,FASC256
CONV TASC257,FASC257
CONV TASC260,FASC260
CONV TASC261,FASC261
CONV TASC262,FASC262
CONV TASC263,FASC263
CONV TASC264,FASC264
CONV TASC265,FASC265
CONV TASC266,FASC266
CONV TASC267,FASC267
CONV TASC270,FASC270
CONV TASC271,FASC271
CONV TASC272,FASC272
CONV TASC273,FASC273
CONV TASC274,FASC274
CONV TASC275,FASC275
CONV TASC276,FASC276
CONV TASC277,FASC277
CONV TASC300,FASC300
CONV TASC301,FASC301
CONV TASC302,FASC302
CONV TASC303,FASC303
CONV TASC304,FASC304
CONV TASC305,FASC305
CONV TASC306,FASC306
CONV TASC307,FASC307
CONV TASC310,FASC310
CONV TASC311,FASC311
CONV TASC312,FASC312
CONV TASC313,FASC313
CONV TASC314,FASC314
CONV TASC315,FASC315
CONV TASC316,FASC316
CONV TASC317,FASC317
CONV TASC320,FASC320
CONV TASC321,FASC321
CONV TASC322,FASC322
CONV TASC323,FASC323
CONV TASC324,FASC324
CONV TASC325,FASC325
CONV TASC326,FASC326
CONV TASC327,FASC327
CONV TASC330,FASC330
CONV TASC331,FASC331
CONV TASC332,FASC332
CONV TASC333,FASC333
CONV TASC334,FASC334
CONV TASC335,FASC335
CONV TASC336,FASC336
CONV TASC337,FASC337
CONV TASC340,FASC340
CONV TASC341,FASC341
CONV TASC342,FASC342
CONV TASC343,FASC343
CONV TASC344,FASC344
CONV TASC345,FASC345
CONV TASC346,FASC346
CONV TASC347,FASC347
CONV TASC350,FASC350
CONV TASC351,FASC351
CONV TASC352,FASC352
CONV TASC353,FASC353
CONV TASC354,FASC354
CONV TASC355,FASC355
CONV TASC356,FASC356
CONV TASC357,FASC357
CONV TASC360,FASC360
CONV TASC361,FASC361
CONV TASC362,FASC362
CONV TASC363,FASC363
CONV TASC364,FASC364
CONV TASC365,FASC365
CONV TASC366,FASC366
CONV TASC367,FASC367
CONV TASC370,FASC370
CONV TASC371,FASC371
CONV TASC372,FASC372
CONV TASC373,FASC373
CONV TASC374,FASC374
CONV TASC375,FASC375
CONV TASC376,FASC376
CONV TASC377,FASC377
CONV ZBCH,ZBCH ZB ZB
CONV EORC,EORC EOR EOR
CONV EOFC,EOFC EOF EOF
CONV EOIC,EOIC EOI EOI
LOC *O
QUAL *
SPACE 4,10
TEBC BSS 0 FULL 8 BIT EBCDIC
QUAL COMTCVT
LOC 0
TO FROM
EBCDIC EBCDIC
CONV TEBC000,FEBC000 NUL NUL
CONV TEBC001,FEBC001 SOH SOH
CONV TEBC002,FEBC002 STX STX
CONV TEBC003,FEBC003 ETX ETX
CONV TEBC004,FEBC004 EOT PF
CONV TEBC005,FEBC005 ENQ HT
CONV TEBC006,FEBC006 ACK LC
CONV TEBC007,FEBC007 BEL DEL
CONV TEBC010,FEBC010 BS GE
CONV TEBC011,FEBC011 HT RLF
CONV TEBC012,FEBC012 LF SMM
CONV TEBC013,FEBC013 VT VT
CONV TEBC014,FEBC014 FF FF
CONV TEBC015,FEBC015 CR CR
CONV TEBC016,FEBC016 SO SO
CONV TEBC017,FEBC017 SI SI
CONV TEBC020,FEBC020 DLE DLE
CONV TEBC021,FEBC021 DC1 DC1
CONV TEBC022,FEBC022 DC2 DC2
CONV TEBC023,FEBC023 DC3 (TM) TM (DC3)
CONV TEBC024,FEBC024 DC4 RES
CONV TEBC025,FEBC025 NAK NL
CONV TEBC026,FEBC026 SYN BS
CONV TEBC027,FEBC027 ETB IL
CONV TEBC030,FEBC030 CAN CAN
CONV TEBC031,FEBC031 EM EM
CONV TEBC032,FEBC032 SUB CC
CONV TEBC033,FEBC033 ESC CU1
CONV TEBC034,FEBC034 FS (IFS) IFS (FS)
CONV TEBC035,FEBC035 GS (IGS) IGS (GS)
CONV TEBC036,FEBC036 RS (IRS) IRS (RS)
CONV TEBC037,FEBC037 US (IUS) IUS (US)
CONV TEBC040,FEBC040 BLANK DS
CONV TEBC041,FEBC041 ! SOS
CONV TEBC042,FEBC042 " FS
CONV TEBC043,FEBC043 #
CONV TEBC044,FEBC044 $ BYP
CONV TEBC045,FEBC045 % LF
CONV TEBC046,FEBC046 & ETB
CONV TEBC047,FEBC047 ' ESC
CONV TEBC050,FEBC050 (
CONV TEBC051,FEBC051 )
CONV TEBC052,FEBC052 * SM
CONV TEBC053,FEBC053 + CU2
CONV TEBC054,FEBC054 ,
CONV TEBC055,FEBC055 - ENQ
CONV TEBC056,FEBC056 . ACK
CONV TEBC057,FEBC057 / BEL
CONV TEBC060,FEBC060 0
CONV TEBC061,FEBC061 1
CONV TEBC062,FEBC062 2 SYN
CONV TEBC063,FEBC063 3
CONV TEBC064,FEBC064 4 PN
CONV TEBC065,FEBC065 5 RS
CONV TEBC066,FEBC066 6 UC
CONV TEBC067,FEBC067 7 EOT
CONV TEBC070,FEBC070 8
CONV TEBC071,FEBC071 9
CONV TEBC072,FEBC072 :
CONV TEBC073,FEBC073 ; CU3
CONV TEBC074,FEBC074 < DC4
CONV TEBC075,FEBC075 = NAK
CONV TEBC076,FEBC076 >
CONV TEBC077,FEBC077 ? SUB
CONV TEBC100,FEBC100 @ SPACE
CONV TEBC101,FEBC101 A
CONV TEBC102,FEBC102 B
CONV TEBC103,FEBC103 C
CONV TEBC104,FEBC104 D
CONV TEBC105,FEBC105 E
CONV TEBC106,FEBC106 F
CONV TEBC107,FEBC107 G
CONV TEBC110,FEBC110 H
CONV TEBC111,FEBC111 I
CONV TEBC112,FEBC112 J CENT SIGN ([)
CONV TEBC113,FEBC113 K .
CONV TEBC114,FEBC114 L <
CONV TEBC115,FEBC115 M (
CONV TEBC116,FEBC116 N +
CONV TEBC117,FEBC117 O VERT LINE (!)
CONV TEBC120,FEBC120 P &
CONV TEBC121,FEBC121 Q
CONV TEBC122,FEBC122 R
CONV TEBC123,FEBC123 S
CONV TEBC124,FEBC124 T
CONV TEBC125,FEBC125 U
CONV TEBC126,FEBC126 V
CONV TEBC127,FEBC127 W
CONV TEBC130,FEBC130 X
CONV TEBC131,FEBC131 Y
CONV TEBC132,FEBC132 Z !
CONV TEBC133,FEBC133 [ $
CONV TEBC134,FEBC134 \ *
CONV TEBC135,FEBC135 ] )
CONV TEBC136,FEBC136 ^ ;
CONV TEBC137,FEBC137 _ ^
CONV TEBC140,FEBC140 -
CONV TEBC141,FEBC141 A LC /
CONV TEBC142,FEBC142 B LC
CONV TEBC143,FEBC143 C LC
CONV TEBC144,FEBC144 D LC
CONV TEBC145,FEBC145 E LC
CONV TEBC146,FEBC146 F LC
CONV TEBC147,FEBC147 G LC
CONV TEBC150,FEBC150 H LC
CONV TEBC151,FEBC151 I LC
CONV TEBC152,FEBC152 J LC VERT LINE
CONV TEBC153,FEBC153 K LC ,
CONV TEBC154,FEBC154 L LC %
CONV TEBC155,FEBC155 M LC _
CONV TEBC156,FEBC156 N LC >
CONV TEBC157,FEBC157 O LC ?
CONV TEBC160,FEBC160 P LC
CONV TEBC161,FEBC161 Q LC
CONV TEBC162,FEBC162 R LC
CONV TEBC163,FEBC163 S LC
CONV TEBC164,FEBC164 T LC
CONV TEBC165,FEBC165 U LC
CONV TEBC166,FEBC166 V LC
CONV TEBC167,FEBC167 W LC
CONV TEBC170,FEBC170 X LC
CONV TEBC171,FEBC171 Y LC BACKWARDS AP
CONV TEBC172,FEBC172 Z LC :
CONV TEBC173,FEBC173 L BRACKET #
CONV TEBC174,FEBC174 VERT LINE @
CONV TEBC175,FEBC175 R BRACKET '
CONV TEBC176,FEBC176 TILDE =
CONV TEBC177,FEBC177 DEL "
CONV TEBC200,FEBC200 (DS)
CONV TEBC201,FEBC201 (SOS) A LC
CONV TEBC202,FEBC202 (FS) B LC
CONV TEBC203,FEBC203 C LC
CONV TEBC204,FEBC204 (BYP) D LC
CONV TEBC205,FEBC205 (NL) E LC
CONV TEBC206,FEBC206 (LC) F LC
CONV TEBC207,FEBC207 (IL) G LC
CONV TEBC210,FEBC210 H LC
CONV TEBC211,FEBC211 I LC
CONV TEBC212,FEBC212 (SM)
CONV TEBC213,FEBC213 (CU2)
CONV TEBC214,FEBC214
CONV TEBC215,FEBC215 (RLF)
CONV TEBC216,FEBC216 (SMM)
CONV TEBC217,FEBC217 (CU1)
CONV TEBC220,FEBC220
CONV TEBC221,FEBC221 J LC
CONV TEBC222,FEBC222 (CC) K LC
CONV TEBC223,FEBC223 L LC
CONV TEBC224,FEBC224 (PN) M LC
CONV TEBC225,FEBC225 (RS) N LC
CONV TEBC226,FEBC226 (UC) O LC
CONV TEBC227,FEBC227 (GE) P LC
CONV TEBC230,FEBC230 Q LC
CONV TEBC231,FEBC231 R LC
CONV TEBC232,FEBC232
CONV TEBC233,FEBC233 (CU3)
CONV TEBC234,FEBC234 (PF)
CONV TEBC235,FEBC235 (RES)
CONV TEBC236,FEBC236
CONV TEBC237,FEBC237
CONV TEBC240,FEBC240
CONV TEBC241,FEBC241 TILDE
CONV TEBC242,FEBC242 S LC
CONV TEBC243,FEBC243 T LC
CONV TEBC244,FEBC244 U LC
CONV TEBC245,FEBC245 V LC
CONV TEBC246,FEBC246 W LC
CONV TEBC247,FEBC247 X LC
CONV TEBC250,FEBC250 Y LC
CONV TEBC251,FEBC251 Z LC
CONV TEBC252,FEBC252
CONV TEBC253,FEBC253
CONV TEBC254,FEBC254
CONV TEBC255,FEBC255
CONV TEBC256,FEBC256
CONV TEBC257,FEBC257
CONV TEBC260,FEBC260
CONV TEBC261,FEBC261
CONV TEBC262,FEBC262
CONV TEBC263,FEBC263
CONV TEBC264,FEBC264
CONV TEBC265,FEBC265
CONV TEBC266,FEBC266
CONV TEBC267,FEBC267
CONV TEBC270,FEBC270
CONV TEBC271,FEBC271
CONV TEBC272,FEBC272
CONV TEBC273,FEBC273
CONV TEBC274,FEBC274
CONV TEBC275,FEBC275
CONV TEBC276,FEBC276
CONV TEBC277,FEBC277
CONV TEBC300,FEBC300 LEFT BRACKET
CONV TEBC301,FEBC301 A
CONV TEBC302,FEBC302 B
CONV TEBC303,FEBC303 C
CONV TEBC304,FEBC304 D
CONV TEBC305,FEBC305 E
CONV TEBC306,FEBC306 F
CONV TEBC307,FEBC307 G
CONV TEBC310,FEBC310 H
CONV TEBC311,FEBC311 I
CONV TEBC312,FEBC312
CONV TEBC313,FEBC313
CONV TEBC314,FEBC314 ZIG-ZAG SHAPE
CONV TEBC315,FEBC315
CONV TEBC316,FEBC316 Y SHAPE
CONV TEBC317,FEBC317
CONV TEBC320,FEBC320 RIGHT BRACKET
CONV TEBC321,FEBC321 J
CONV TEBC322,FEBC322 K
CONV TEBC323,FEBC323 L
CONV TEBC324,FEBC324 M
CONV TEBC325,FEBC325 N
CONV TEBC326,FEBC326 O
CONV TEBC327,FEBC327 P
CONV TEBC330,FEBC330 Q
CONV TEBC331,FEBC331 R
CONV TEBC332,FEBC332
CONV TEBC333,FEBC333
CONV TEBC334,FEBC334
CONV TEBC335,FEBC335
CONV TEBC336,FEBC336
CONV TEBC337,FEBC337
CONV TEBC340,FEBC340 \
CONV TEBC341,FEBC341
CONV TEBC342,FEBC342 S
CONV TEBC343,FEBC343 T
CONV TEBC344,FEBC344 U
CONV TEBC345,FEBC345 V
CONV TEBC346,FEBC346 W
CONV TEBC347,FEBC347 X
CONV TEBC350,FEBC350 Y
CONV TEBC351,FEBC351 Z
CONV TEBC352,FEBC352 (ZIG-ZAG)
CONV TEBC353,FEBC353
CONV TEBC354,FEBC354 (Y SHAPE) CHAIR SHAPE
CONV TEBC355,FEBC355
CONV TEBC356,FEBC356
CONV TEBC357,FEBC357
CONV TEBC360,FEBC360 0
CONV TEBC361,FEBC361 1
CONV TEBC362,FEBC362 2
CONV TEBC363,FEBC363 3
CONV TEBC364,FEBC364 4
CONV TEBC365,FEBC365 5
CONV TEBC366,FEBC366 (CHAIR SH.) 6
CONV TEBC367,FEBC367 7
CONV TEBC370,FEBC370 8
CONV TEBC371,FEBC371 9
CONV TEBC372,FEBC372 ((LVM)) VERT LINE (LVM)
CONV TEBC373,FEBC373
CONV TEBC374,FEBC374
CONV TEBC375,FEBC375
CONV TEBC376,FEBC376
CONV TEBC377,FEBC377 EO (EO)
*
CONV ZBCH,ZBCH
CONV EORC,EORC
CONV EOFC,EOFC
CONV EOIC,EOIC
*
LOC *O
QUAL *
BASE *
TITLE PRESET.
PRS SPACE 4,15
** PRS - PRESET PROGRAM.
*
* EXIT (A0) = FWA CONVERSION TABLE.
* = 0 IF NO CONVERSION NEEDED.
* (B2) = CURRENT POSITION IN INPUT WORD.
* (B3) = CURRENT POSITION IN OUTPUT WORD.
* (B4) = INPUT CHARACTER LENGTH.
* (B5) = OUTPUT CHARACTER LENGTH.
*
* CALLS ARG, BLD, CLP, DXB, FBH, VLC.
*
* MACROS ABORT, FILINFO, MEMORY, MESSAGE, OPEN, SETFET.
PRS SUBR EXTRY/EXIT
SA1 ACTR GET ARGUMENT COUNT
SB4 X1
R= A4,ARGR SET ADDRESS OF FIRST ARGUMENT
SB5 TARG SET ADDRESS OF ARGUMENT TABLE
RJ ARG PROCESS ARGUMENTS
ZR X1,PRS2 IF NO ARGUMENT ERRORS
SX3 PRSA * ERROR IN FCOPY ARGUMENTS.*
PRS1 MESSAGE X3,3
ABORT ABORT
PRS2 SA1 P CHECK FILE NAMES FOR CONFLICT
SA2 N
BX6 X1-X2
AX6 18
NZ X6,PRS3 IF NO FILE NAME CONFLICT
SX3 PRSB * FILE NAME CONFLICT.*
EQ PRS1 ABORT
PRS3 MX0 42 SET FILE NAME IN PARAMETER BLOCK
SA2 PRSE
BX1 X0*X1
SX2 X2
BX6 X1+X2
SA6 A2+
FILINFO PRSE GET INPUT FILE INFORMATION
SA1 PRSE+1
LX1 59-24
PL X1,PRS6 IF INPUT FILE IS NOT A TAPE
SA2 PRSE+5 CHECK FOR STRANGER TAPE
AX2 6
SX2 X2-/COMSMTX/TFS
ZR X2,PRS5 IF INPUT FILE IS AN S-FORMAT TAPE
SX2 X2+/COMSMTX/TFS-/COMSMTX/TFL
NZ X2,PRS6 IF INPUT FILE IS NOT AN L-FORMAT TAPE
PRS5 SX7 B1+ SET STRANGER TAPE INPUT FILE FLAG
SA7 STPI
PRS6 LX1 19
AX1 48
SX3 PRSD * INPUT FILE NOT FOUND.*
ZR X1,PRS1 IF FILE DOES NOT EXIST
SA1 N SET OUTPUT FILE NAME IN PARAMETER BLOCK
MX0 42
SA2 PRSE
BX1 X0*X1
SX2 X2
BX6 X1+X2
SA6 A2+
FILINFO PRSE GET OUTPUT FILE INFORMATION
SA1 PRSE+1
LX1 59-24
PL X1,PRS9 IF OUTPUT FILE IS NOT A TAPE
SA2 PRSE+5 CHECK FOR STRANGER TAPE
AX2 6
SX2 X2-/COMSMTX/TFS
ZR X2,PRS8 IF OUTPUT FILE IS AN S-FORMAT TAPE
SX2 X2+/COMSMTX/TFS-/COMSMTX/TFL
NZ X2,PRS9 IF OUTPUT FILE IS NOT AN L-FORMAT TAPE
PRS8 SX7 B1+ SET STRANGER TAPE OUTPUT FILE FLAG
SA7 STPO
PRS9 SA1 CSMR CHECK CHARACTER SET MODE
SB7 B1+ PRESET FOR CALL(S) TO *DXB*
NG X1,PRS10 IF IN 64 CHARACTER MODE
SA2 ADTE GET ALTERNATE TYPE TABLE ENTRIES
SA3 AATE
BX6 X2
BX7 X3
SA6 ADTP SET ALTERNATE TYPE TABLE ENTRIES
SA7 AATP
PRS10 SA4 FL CHECK *FL* AND *LB*
SA5 LB
ZR X4,PRS11 IF NO *FL* SPECIFIED
NZ X5,PRS13 IF BOTH *FL* AND *LB* SPECIFIED
BX5 X4 CALCULATE *LB* FROM *FL*
RJ DXB CONVERT TO DECIMAL
SA6 A4
SX5 MXCB MAXIMUM CHARACTERS PER BLOCK
IX6 X5/X6
SA6 A5
EQ PRS14 CONTINUE
PRS11 ZR X5,PRS12 IF NO *FL* OR *LB* SPECIFIED
RJ DXB SET *LB*
SA6 A5
SX6 80D DEFAULT VALUE FOR *FL*
SA6 A4
EQ PRS14 CONTINUE
PRS12 SX6 80D SET DEFAULTS FOR *FL* AND *LB*
SX7 48D
SA6 A4
SA7 A5
EQ PRS14 CONTINUE
PRS13 RJ DXB TRANSLATE FROM DISPLAY
SA6 A5
SA5 A4
RJ DXB
SA6 FL
PRS14 SA1 PL GET INPUT FILE LINE TERMINATOR
SA4 STPI GET STRANGER TAPE INPUT FILE FLAG
SA3 PC GET INPUT FILE CHARACTER SET
RJ CLP CHECK LINE TERMINATOR PARAMETER
NZ X3,PRS1 IF ERROR
SA1 NL GET OUTPUT FILE LINE TERMINATOR
SA4 STPO GET STRANGER TAPE OUTPUT FILE FLAG
SA3 NC GET OUTPUT FILE CHARACTER SET
RJ CLP CHECK LINE TERMINATOR PARAMETER
NZ X3,PRS1 IF ERROR
SA1 PC CHECK FILE CHARACTERISTICS
SX3 PRSC * UNRECOGNIZED CODE SET PARAMETER.*
MX0 42
SA2 TCHT
PRS15 ZR X2,PRS1 IF END OF *TCHT* TABLE
BX6 X1-X2
BX6 X0*X6
ZR X6,PRS16 IF LEGAL *PC* VALUE
SA2 A2+2
EQ PRS15 READ NEXT TABLE ENTRY
PRS16 SA2 A2+B1 GET FWA OF INPUT BASE TABLE
SB6 X2
AX2 18
SX1 B1
BX1 X2*X1 GET STRANGER TAPE ALLOWED FLAG
AX2 30
SB4 X2+
SA2 STPI
SX3 PRSF * INCORRECT FILE TYPE FOR SPECIFIED ... *
IX2 X1+X2
ZR X2,PRS17 IF INPUT FILE NOT STRANGER TAPE
SX2 X2-2
NZ X2,PRS1 IF INCORRECT FILE TYPE FOR CHARACTER SET
SA1 FL
SA2 LB
SB7 B4+
RJ FBH FORM INPUT FILE BLOCK HEADER WORD
SA6 IBHW
SA6 P+6 SAVE HEADER WORD IN FET+6
MX5 -18
BX5 -X5*X6
SX5 X5-PBUFL+2
NG X5,PRS17 IF LESS THAN ALLOCATED SIZE
MEMORY ,PRSG,R GET CURRENT FIELD LENGTH
SA1 PRSG
AX1 30
IX6 X1+X5 NEW FIELD LENGTH
LX6 30
SA6 A1
MEMORY ,PRSG,R SET NEW FIELD LENGTH
SETFET P,BUF=(PBUF,X5+PBUFL) SET BUFFER POINTERS
SETFET N,BUF=(X5+NBUF,NBUFL)
PRS17 SA1 NC
SA2 TCHT
SX3 PRSC * UNRECOGNIZED CODE SET PARAMETER.*
PRS18 ZR X2,PRS1 IF END OF *TCHT* TABLE
BX6 X1-X2
BX6 X0*X6
ZR X6,PRS19 IF LEGAL *NC* VALUE
SA2 A2+2
EQ PRS18 READ NEXT TABLE ENTRY
PRS19 SA2 A2+1 GET FWA OF OUTPUT BASE TABLE
SB2 X2
AX2 18
SX1 B1+
BX1 X2*X1 GET STRANGER TAPE ALLOWED FLAG
AX2 30
SB5 X2+
SA2 STPO
SX3 PRSF * INCORRECT FILE TYPE FOR SPECIFIED ... *
IX2 X1+X2
ZR X2,PRS21 IF OUTPUT FILE NOT STRANGER TAPE
SX2 X2-2
NZ X2,PRS1 IF INCORRECT FILE TYPE FOR CHARACTER SET
SA1 FL
SA2 LB
SB7 B5+
RJ FBH FORM OUTPUT FILE BLOCK HEADER WORD
SA6 OBHW
SA6 N+6 SAVE HEADER WORD IN FET+6
MX5 -18
BX5 -X5*X6
SX5 X5-NBUFL+2
NG X5,PRS20 IF LESS THAN ALLOCATED SIZE
MEMORY ,PRSG,R GET CURRENT FIELD LENGTH
SA1 PRSG
AX1 30
IX6 X1+X5 NEW FIELD LENGTH
LX6 30
SA6 A1
MEMORY ,PRSG,R SET NEW FIELD LENGTH
SA1 N+1 FIRST
SETFET N,BUF=(X1,X5+NBUFL) SET BUFFER POINTERS
PRS20 SA1 LB PRESET NUMBER OF LINES IN OUTPUT BLOCK
SA2 FL PRESET NUMBER OF CHARACTERS IN OUTPUT LINE
BX6 X1
BX7 X2
SA6 OLCT
SA7 OLCC
SA3 N+2 PRESET POINTER TO SPACE FOR HEADER WORD
BX6 X3
SA6 IPTR
SA1 SPAC SET PROPER BLANK FOR FILLING SHORT LINES
SA2 X1+B2
AX2 18
BX7 X2
SA7 A1+
PRS21 SB7 B2+
SA2 STPI
SA1 PL OLD FILE LINE TERMINATOR
SX6 X1+
NZ X2,PRS22 IF INPUT FILE IS STRANGER TAPE
SB2 B4 CHARACTER LENGTH
SB3 B6 FWA OF CONVERSION TABLE
RJ VLC VERIFY LINE TERMINATOR WITH CODE SET
NZ X3,PRS1 IF AN ERROR
PRS22 SA6 PL SAVE CONVERTED LINE TERMINATOR
SA2 STPO
SA1 NL NEW FILE LINE TERMINATOR
SX6 X1+
NZ X2,PRS23 IF OUTPUT FILE IS STRANGER TAPE
SB2 B5 CHARACTER LENGTH
SB3 B7 FWA OF CONVERSION TABLE
RJ VLC VERIFY LINE TERMINATOR WITH CODE SET
NZ X3,PRS1 IF AN ERROR
PRS23 SA6 NL SAVE CONVERTED LINE TERMINATOR
OPEN P,READNR,R OPEN INPUT FILE
OPEN N,READNR,R OPEN OUTPUT FILE
SA1 PL INPUT FILE LINE TERMINATOR
SA2 NL OUTPUT FILE LINE TERMINATOR
SA3 STPI
BX6 X1-X2
NZ X6,PRS24 IF LINE TERMINATORS ARE DIFFERENT
NE B4,B5,PRS24 IF CHARACTER LENGTHS ARE DIFFERENT
NZ X3,PRS24 IF STRANGER TAPE(S) INVOLVED
EQ B6,B7,PRS25 IF JUST COPY, NO CONVERSION
PRS24 RJ BLD BUILD CONVERSION TABLE
SB2 B0+ ZERO CURRENT POSITION IN INPUT WORD
SB3 60D RESET CURRENT POSITION IN OUTPUT WORD
EQ PRSX RETURN
PRS25 SA0 B0+ SET FOR SIMPLE COPY
EQ PRSX RETURN
PRSA DATA C* ERROR IN FCOPY ARGUMENTS.*
PRSB DATA C* FILE NAME CONFLICT.*
PRSC DATA C* UNRECOGNIZED CODE SET PARAMETER.*
PRSD DATA C* INPUT FILE NOT FOUND.*
PRSF DATA C* INCORRECT FILE TYPE FOR SPECIFIED CHARACTER SET.*
PRSE VFD 42/0,6/PRSEL,12/1 *FILINFO* PARAMETER BLOCK
BSS FIPBL-1 *FILINFO* PARAMETER BLOCK LENGTH
VFD 54/0,6/FMTK
PRSEL EQU *-PRSE
PRSG BSSZ 1 MEMORY WORD
SPACE 4,10
* PRESET COMMON DECKS.
*CALL COMCARG
*CALL COMCDXB
SPACE 4,10
** TARG - ARGUMENT TABLE.
TARG BSS 0
P ARG P,P OLD FILE NAME
N ARG N,N NEW FILE NAME
PC ARG PC,PC OLD FILE INTERNAL CHARACTERISTIC
NC ARG NC,NC NEW FILE INTERNAL CHARACTERISTIC
PL ARG PL,PL,400B OLD LINE TERMINATOR
NL ARG NL,NL,400B NEW LINE TERMINATOR
FL ARG FL,FL FIXED LINE LENGTH (STRANGER TAPE ONLY)
LB ARG LB,LB BLOCK LENGTH (STRANGER TAPE ONLY)
R ARG -ASV,R REWIND
A ARG -ASV,A ABORT
ARG
SPACE 4,10
** TCHT - CHARACTER TYPE TABLE.
*
*T 42/CS, 18/0
*T 12/CCL, 29/0, 1/STF, 18/CBTA
*
* CS = CHARACTER SET NAME.
* CCL = CHARACTER CODE LENGTH.
* STF = 1 IF CHARACTER SET ONLY USED WITH STRANGER TAPE.
* CBTA = CONVERSION BASE TABLE FWA.
TCHT BSS 0
VFD 42/0LDIS,18/0
ADTP VFD 12/6,30/0,18/TD64
VFD 42/0LDIS63,18/0
ADTE VFD 12/6,30/0,18/TD63
VFD 42/0LDIS64,18/0
VFD 12/6,30/0,18/TD64
VFD 42/0LASCII,18/0
AATP VFD 12/6,30/0,18/TA64
VFD 42/0LASCII63,18/0
AATE VFD 12/6,30/0,18/TA63
VFD 42/0LASCII64,18/0
VFD 12/6,30/0,18/TA64
VFD 42/0LASCII8,18/0
VFD 12/12,30/0,18/TAS8
ASCI VFD 42/0LASCII88,18/0
VFD 12/8,30/0,18/TASC
VFD 42/0LASCFL,18/0
VFD 12/8,29/0,1/1,18/TASC
VFD 42/0LEBCFL,18/0
VFD 12/8,29/0,1/1,18/TEBC
VFD 42/0LICS,18/0
VFD 12/12,30/0,18/0
CON 0
SPACE 4,10
** TLNT - TABLE OF LINE TERMINATORS.
*
*T 42/TERMINATOR NAME,18/0
*T 1/D, 1/C, 42/0, 16/TERMINATOR VALUE(S)
*
* D = DOUBLE LENGTH FLAG.
* C = CONVERTED TERMINATOR FLAG.
TLNT BSS 0
VFD 42/0LZB,18/0
DTRM VFD 1/0,1/1,42/0,16/ZBCH
VFD 42/0LCR,18/0
VFD 1/0,1/0,42/0,16/15B
VFD 42/0LFF,18/0
VFD 1/0,1/0,42/0,16/14B
VFD 42/0LLF,18/0
VFD 1/0,1/0,42/0,16/12B
VFD 42/0LUS,18/0
ATRM VFD 1/0,1/0,42/0,16/37B
VFD 42/0LRS,18/0
VFD 1/0,1/0,42/0,16/36B
VFD 42/0LCRLF,18/0
VFD 1/1,1/0,42/0,8/15B,8/12B
VFD 42/0LLFCR,18/0
VFD 1/1,1/0,42/0,8/12B,8/15B
CON 0
SPACE 4,10
** BLD - BUILD TABLE.
*
* ENTRY (B5) = OUTPUT CHARACTER LENGTH.
* (B6) = FWA INPUT CONVERSION BASE TABLE.
* (B7) = FWA OUTPUT CONVERSION BASE TABLE.
*
* EXIT (A0) = FWA CONVERSION TABLE.
*
* USES X - ALL.
* A - 0, 1, 2, 4, 5, 6, 7.
* B - 2, 3, 6, 7.
BLD SUBR ENTRY/EXIT
SB2 TLEN SET BASE TABLE LENGTH
SA0 TCVT SET ADDRESS OF CONVERSION TABLE
MX0 5 FORM MASKS
MX2 -11
MX5 -12
SB3 B0 INITIALIZE TABLE OFFSET
BLD1 SA1 B6+B3 GET NEXT TABLE ENTRY
NZ B6,BLD2 IF INPUT CHARACTER IS NOT *ICS*
SA1 B7+B3 GET NEXT TABLE ENTRY
AX1 18
BLD2 LX1 59-17 EXTRACT FLAGS
BX6 X0*X1
NZ X6,BLD3 IF EITHER FLAG IS SET
ZR B6,BLD3 IF INPUT CHARACTER SET IS *ICS*
ZR B7,BLD3 IF OUTPUT CHARACTER SET IS *ICS*
LX1 -59+17
BX1 -X2*X1 GET *ICS* CHARACTER
SA1 B7+X1 GET CONVERSION FOR CHARACTER
LX1 59-35 EXTRACT FLAGS
BX6 X0*X1
BLD3 LX1 59-30-59+35 FORM COUNT
SX4 B1
PL X1,BLD4 IF DOUBLE LENGTH FLAG NOT SET
SX4 2
BLD4 LX1 59-17-59+30 EXTRACT CHARACTER FIELD
BX1 -X5*X1
LX4 54 FORM FINAL TABLE WORD
LX6 59-32-59+35
BX4 X4+X1
BX6 X4+X6
SA6 A0+B3 SAVE TABLE WORD
SB3 B3+B1 INCREMENT TABLE POINTER
LE B3,B2,BLD1 IF MORE TABLE ENTRIES TO BUILD
* ADD LINE TERMINATOR CONVERSIONS TO TABLE.
SA1 PL GET OLD LINE TERMINATOR
SA2 NL GET NEW LINE TERMINATOR
SX4 1 FORM NEW LINE TERMINATOR LENGTH
PL X2,BLD5 IF NEW TERMINATOR IS DOUBLE LENGTH
SX4 2
BLD5 MX0 1 EXTRACT CHARACTERS
BX6 -X0*X2
LX4 59-5 FORM NEW LINE TERMINATOR WORD
BX6 X4+X6
NG X1,BLD6 IF OLD TERMINATOR IS DOUBLE LENGTH
SB3 X1
SA6 A0+B3 SAVE LINE TERMINATOR WORD
EQ BLDX RETURN
BLD6 SA6 BLDA SAVE NEW LINE TERMINATOR WORD
SB3 B4-B1 FORM MASK FOR OLD CHARACTERS
AX0 B3
LX0 B4
BX3 X0*X1 EXTRACT SECOND CHARACTER OF OLD TERMINATOR
AX1 B4 EXTRACT FIRST CHARACTER OF OLD TERMINATOR
BX1 X0*X1
SB7 6
SX4 TLEN+1 PRESET OFFSET TO TERMINATOR CONVERSION
NE B4,B7,BLD7 IF OLD CHARACTER SET IS NOT 6/12
SX5 X1-74B CHECK FOR 74B ESCAPE CODE
SX4 200B SET OFFSET FOR 74B ESCAPE CODE
ZR X5,BLD7 IF FIRST CHARACTER IS 74B ESCAPE CODE
SX4 300B SET OFFSET FOR 76B ESCAPE CODE
BLD7 MX7 1 FORM OFFSET WORD
BX7 X7+X4
SB6 X4+ SET OFFSET TO TABLE EXTENSION
SA7 BLDB SAVE OFFSET WORD
EQ B4,B7,BLD10 IF CHARACTER SET IS 6/12
* BUILD CONVERSION TABLE EXTENSION.
SB3 B0 INITIALIZE TABLE POINTER
SB7 X1+ (B7) = FIRST CHARACTER OF OLD TERMINATOR
SA4 A0+B7 TRANSLATE TERMINATOR CHARACTER
MX0 3 FORM MASK FOR CHARACTER COUNT
LX0 60-3
BX7 X0*X4 EXTRACT CHARACTER COUNT
MX2 -36
SA7 BLDC
BX6 -X2*X4 EXTRACT CONVERTED TERMINATOR CHARACTERS
BX2 X4 FORM ALTERATION WORD FOR DELETION ENTRY
BLD8 SA5 A0+B3 GET NEXT TABLE ENTRY
BX7 X0*X5 EXTRACT TRANSLATION CHARACTER COUNT
LX7 6
SX4 B5
IX7 X7*X4 COMPUTE TOTAL BITS
SB2 X7
LX7 X6,B2 CONVERTED FIRST TERMINATOR CHARACTER
SA4 BLDC CHARACTER COUNT
BX7 X5+X7 CURRENT CONVERTED CHARACTER
IX7 X4+X7 FINAL CONVERSION CHARACTER COUNT
LX5 1
PL X5,BLD9 IF NORMAL CONVERSION ENTRY
BX7 X2 USE ALTERATION WORD FOR DELETION ENTRY
BLD9 SB7 B6+B3 SAVE EXTENSION ENTRY
SA7 A0+B7
SB3 B3+B1 INCREMENT TABLE POINTER
LT B3,B6,BLD8 IF TABLE EXTENSION NOT COMPLETE
SX7 B7+ SET NEW TABLE LENGTH
SA7 TCVTL
BLD10 SA4 BLDB GET OFFSET-TO-TABLE-EXTENSION ENTRY
SA5 BLDA GET NEW TERMINATOR ENTRY
BX6 X4
SB2 X1
BX7 X5
SB6 B6+X3
SA6 A0+B2 SAVE OFFSET ENTRY
SA7 A0+B6 SAVE NEW TERMINATOR ENTRY
EQ BLDX RETURN
BLDA CON 0 TEMPORARY STORAGE
BLDB CON 0 TEMPORARY STORAGE
BLDC CON 0 TEMPORARY STORAGE
CLP SPACE 4,15
** CLP - CHECK LINE TERMINATOR PARAMETER.
*
* ENTRY (X1) = LINE TERMINATOR PARAMETER VALUE.
* (X3) = CHARACTER SET PARAMETER VALUE.
* (X4) = STRANGER FORMAT TAPE FLAG.
*
* EXIT (X3) = 0 IF NO ERROR, OTHERWISE ERROR MESSAGE ADDRESS.
*
* USES X - 0, 2, 3, 4, 5, 6.
* A - 2, 4, 6.
* B - 7.
*
* CALLS DXB.
CLP4 SX3 CLPA * UNRECOGNIZED LINE TERMINATOR PARAMETER.*
CLP SUBR ENTRY/EXIT
MX0 42
SA2 TLNT
NZ X1,CLP0.1 IF LINE TERMINATOR WAS INPUT
SA4 ASCI CHECK CHARACTER SET
SA2 DTRM SET DEFAULT TERMINATOR
MX0 42
BX4 X4-X3
BX4 X0*X4
NZ X4,CLP3 IF CHARACTER SET NOT *ASCII88*
SA2 ATRM SET DEFAULT TERMINATOR FOR *ASCII88*
EQ CLP3 SAVE DEFAULT TERMINATOR
CLP0.1 ZR X4,CLP1 IF NOT STRANGER TAPE
SX3 CLPB * LINE TERMINATORS NOT USED ... *
EQ CLPX RETURN
CLP1 ZR X2,CLP2 IF END OF *TLNT* TABLE
BX6 X1-X2
BX6 X0*X6
SA2 A2+1
ZR X6,CLP3 IF LEGAL LINE TERMINATOR VALUE
SA2 A2+1
EQ CLP1 READ NEXT TABLE ENTRY
CLP2 SB7 B0 ASSUME OCTAL
BX5 X1*X0
RJ DXB CONVERT FROM DISPLAY CODE
NZ X4,CLP4 IF ERROR IN CONVERSION
MX2 1
LX2 -1
BX2 X6+X2 SET CONVERTED LINE TERMINATOR FLAG
CLP3 BX6 X2
SA6 A1 SAVE LINE TERMINATOR VALUE
BX3 X3-X3 SET NO ERROR
EQ CLPX RETURN
CLPA DATA C* UNRECOGNIZED LINE TERMINATOR PARAMETER.*
CLPB DATA C* LINE TERMINATORS NOT USED ON A STRANGER TAPE.*
VLC SPACE 4,15
** VLC - VERIFY LINE TERMINATOR WITH CODE SET.
*
* ENTRY (B2) = CHARACTER LENGTH.
* (B3) = FWA OF CONVERSION TABLE.
* (X1) = LINE TERMINATOR.
*
* EXIT (X3) = 0 IF NO ERROR, OTHERWISE ERROR MESSAGE ADDRESS.
* (X6) = CONVERTED LINE TERMINATOR.
*
* USES X - 1, 2, 3, 4, 5, 6.
* A - 1, 2.
* B - 2.
VLC6 SX3 VLCA *CODE SET LINE TERMINATOR CONFLICT*
VLC SUBR ENTRY/EXIT
SX3 B0+ PRESET TO NO ERROR
BX6 X1
LX6 59-58
PL X6,VLC4 IF TERMINATOR NEEDS TO BE CONVERTED
SB2 B2-B1
SX1 X1 REMOVE FLAGS
SX2 X1-ZBCH
BX6 X1
NZ X2,VLC1 IF TERMINATOR NOT ZERO BYTE
SX2 B3-TASC
ZR X2,VLC6 IF CHARACTER SET IS *ASCII88*
EQ VLCX RETURN
VLC1 MX6 1
AX6 B2
SB2 B2+1
LX6 B2
BX5 -X6*X1
NZ X5,VLC2 IF TERMINATOR LARGER THAN CHARACTER LENGTH
BX6 X1*X6
EQ VLCX RETURN LINE TERMINATOR VALUE
VLC2 SX2 B3-TA64
ZR X2,VLC3 IF 6/12 CHARACTER SET
SX2 B3-TA63
NZ X2,VLC3 IF NOT 6/12 CHARACTER SET
VLC3 AX4 X1,B2 CHECK FIRST CHARACTER OF TERMINATOR
SX2 X4-74B
ZR X2,VLCX IF FIRST CHARACTER IS 74B ESCAPE CODE
SX2 X4-76B
ZR X2,VLCX IF FIRST CHARACTER IS 76B ESCAPE CODE
EQ VLC6 ERROR IN TERMINATOR
VLC4 MX6 60-8
NG X1,VLC5 IF DOUBLE LENGTH TERMINATOR
BX1 -X6*X1
SA1 B3+X1 GET CHARACTER FROM TABLE
MX6 60-12
AX1 18
BX6 -X6*X1 EXTRACT CHARACTER
MX2 1
LX1 59-12
BX2 X1*X2
BX6 X2+X6 MERGE DOUBLE LENGTH FLAG
MX2 60-5
BX1 -X2*X1 EXTRACT SPECIAL FLAGS
NZ X1,VLC6 IF SPECIAL FLAGS SET
EQ VLCX RETURN
VLC5 LX1 -8
BX2 -X6*X1
SA2 B3+X2 GET CHARACTER FROM TABLE
MX4 60-12
AX2 18
BX5 -X4*X2 EXTRACT CHARACTER
AX2 12
NZ X2,VLC6 IF ANY FLAGS SET
LX5 X5,B2
LX1 8
BX2 -X6*X1
SA2 B3+X2
AX2 18
BX6 -X4*X2 EXTRACT CHARACTER
AX2 12
NZ X2,VLC6 IF ANY FLAGS SET
BX6 X5+X6 MERGE CHARACTERS
MX1 1
BX6 X6+X1 SET DOUBLE LENGTH FLAG
EQ VLCX RETURN
VLCA DATA C* CODE SET LINE TERMINATOR CONFLICT.*
SPACE 4,10
END FCOPY