6100 BSC Programming Manual
Writing Applications that Use 6100 BSC
TRANSLATE TABLE FORMAT. A translate table consists of 512 text
entries: an ASCII to EBCDIC table 256 bytes long, followed by an
EBCDIC to ASCII table 256 bytes long. The ASCII to EBCDIC table
is really a list of EBCDIC values: the first is the value to
which to translate an ASCII 0H, the second is the value to which
to translate an ASCII 1H, and so on. Likewise, the EBCDIC to
ASCII table is a list of ASCII values: the first is the value
to which to translate an EBCDIC 0H, the second is the value to
which to translate an EBCDIC 1H, and so on.
The following control characters must translate in both
directions:
Character ASCII Value (Hex) EBCDIC Value (Hex)
SOH 1 1
STX 2 2
ETX 3 3
EOT 4 37
ENQ 5 2D
DLE 10 10
NAK 15 3D
SYN 16 32
ETB 17 26
ITB 1F 1F
Also, the characters that are part of standard DLE control
sequences must translate character by character to the desired
values. For instance, ACK 0 has a value of 10 70 in EBCDIC; to
produce that value, it must have a value of 10 BA in ASCII--not
the 10 30 you would use on an ASCII line! The 10 hexadecimal is
a DLE in both ASCII and EBCDIC. A BA hexadecimal in ASCII
translates to a 70 hexadecimal in EBCDIC (see a standard
ASCII-EBCDIC table). Do not set up a table that translates 30
ASCII to 70 EBCDIC; that step would result in incorrect
translation of any "0" in your data.
3-48