ad.as4 39 rword unclam siofeoc-3 - dtic · 2014. 9. 27. · ad.as"4 3"9 rword resarch...
TRANSCRIPT
AD.AS"4 3"9 RWORD RESARCH AUSOIATES %A /92@C6C TAPE tONVERSIONH PRZCT. (U)Aid so K CROWSNe s OlEINS P1969-79-C-01e5
UNCLAM SIOFEOC-3 II A LT -S1. .
AFGL-TR-81-0055"i
,OCLC TAPE CONVERSION PROJECT
E. CroninS. Nevins
Bedford Research Associates2 DeAngelo DriveBedford, Massachusetts 01730
Scientific Report No. 3
30 June, 1980 -
AJ
Approved for public release; distribution unlimited
AIR FORCE GEOPHYSICS LABORATORYAIR FORCE SYSTEMS COMMANDUNITED STATES AIR r.RCE
gHANSCOM AFB, MASSACHUSETTS 01731
81 9 18 073
e
Qualified requestors may obtain additional copies from theDefense Technical Information Center. All others shouldapply to the National Technical Information Service.
SECURITY CLASSIFICATION OF THIS PAGE (*%en Date Enrered)
E OIREAD INSTRUCTIONSREPORT DOCUMENTATION PAGE BEFORE COMPLETING FORM
REPR . - 2, GOVT ACCESSION NO. 3. RECIPIENT'S CATALOG NUMBER
(/ AFGLTR- - j .A Jib iIr..-' TLE (and Subtitle) S TYPE OF REPORT & PERIOD COVERED
7// '-~ini spv ~~.," "t i5,cLea"'i Rq,,wr -Nalaa3
OCLC TAPE CONVERSION PROJEC is.-LrORMING o. REPORT MBER
7. AUTHOR(.) 0. CONTRACT OR GRANT NUMBER(s)
/; E/Cronin/ S. Nevins .! F19628-79-C-0163 4"%,
9, PERFORMING ORGANIZATION NAME AND ADDRESS 10. PROGRAM ELEMENT, PROJECT. TASK
Bedford Research Associates AREA 6 WORK UNIT NUMBERS
2 DeAngelo DriveBedford, MA. 01730 ' 999 3X _
It. CONTROLLING OFFICE NAME AND ADDRESS 12. REPORT DATE
Air Force Geophysics Laboratory / 30 June 1980Hanscom AFB, Massachusetts 01731 ,. NUMBEROVTPAGES
Monitor/Paul Tsipouras/SUWA 5414. MONITORING AGENCY NAME & ADORESS(f! Jifferent from Controlling Office) IS. SECURITY CLASS. (of this report)
"/ ,' UnclassifiedISO. DECL ASSI FIC ATION/DOWN GRADING
SCHEDULE
16. DISTRIBUTION STATEMENT (of this Report)
Approved for public release; distrib-tion unlimited
17. DISTRIBUTION STATEMENT (of the abstract entered In Block 20, It different from Repori)
II. SUPPLEMENTARY NOTES
* Air Force Geophysics Laboratories
Analysis and Simulation Branch, (SUWA)ESD Hanscom AFB, MA. 01731
19 KEY WOROS (Continue on reverse side If necessary and ifenr'fy 1y block rumber)
OCLC TAPE, MODIFIED MARC FOPRMAT, CODE CONVERSION.
20 ABSTRACT (Conlinue on reverse side It necessary and Identify by block number)
This report explains the design and the use of a program to convert 9 trackOCLC tapes (in modified MARC format) to 7 track tapes in a 6-bit code.
DD JA 1473 UNCLASSIFIED /
SECURITY CLASSIFICATION OF THIS PAGE (Ihen Date Entered)
-o-
TABLE OF CONTENTS
Introduction........ .................. 5
Definitions ......... .................. 6
Record Structure....... ................. 7
General Flowchart ........ ................ 9
Conversion Process .. ...................... 10
Sample Job ........................... 12
Output..... ....................... 12
NTOS Internals. ....... ................. 13
NTOS Externals. ....... ................. 19
Appendix A: Sample Record. ... ............... 25
Appendix B: 8-Bit ExpandedASCII Character Set .. ............... 29
Appendix C: 6-Bit Character Set. ..... .......... 43
References....... ................... 54
3
INTRODUCTION
)'This paper explains the design and use of a program to convert 9-track
OCLC tapes (in modified MARC format) to 7-track tapes. The 9-track tapes are
written in an 8-bit expanded ASCII character code, and the 7-track tapes. are
written in a 6-bit code derived from the 8-bit code. These codes are un-
recognizable by the machine; hence the need for th~s program.
(For an explanation of the MARC format for tapes, see reference (1)).
5
A few definitions are in order before proceeding:
bit - . 1 binary digit. Each word in the machi consists of 60 bits.
Numbering of the bits is inconsistent: for the AFGL utilities,
numbering is 1-60, from right to left in the word; in all other
instances, numbering is 0-59, from right to left.
byte - a character. In the 6-bit dode, it is one group of 6-bits. In
the 8-bit code, it is one 8-bit group. Bytes in a word are
numbered 1-10 from left to right.
physical record - a block of information on the tape. For this program,
physical records can be any size up to 2058 bytes. A physical
record will never contain more than one logical record.
logical record - one complete record of information (leader, record direc-
tory, and all related control/variable fields). Logical records
Lan be any size. If a logical record is greater than the maximum
size for a physical record, it will spill over onto as many
physical records as required.
6
RECORD STRUCTURE
[ I RECORD CONTROL VAIRABLE I
LEADER DIRECTORY FIELDS FIELDS
All logical records on the 7 and 9-track tapes are in the format shown above.
The length of a logical record is unrestricted. Physical records, however,
will never be greater than 2048 bytes. If a logical record is greater than
2048 bytes, it spills over onto as many physical records as necessary. During
the conversion, the leader and record directory are removed from the record to
permit updating of certain fields. After the control and variable fields are
converted, the leader and record directory are returned to their appropriate
locations.
LEADER
The leader is fixed at 24 bytes. There are 2 fields which are modified during
the conversion: the logical record length (LRECL) and the base data address
(BDA). Also it has been found that some of the records on the 9-track tape
contain information in byte 23 which, when converted, would change the length
of the leader to 25 bytes. Therefore, byte 23 is set to 0 regardless of what
is on the 9-track tape. This is consistent with the MARC format.
0 4 12 16 23
byte 1
// //A ILRECL is the total number of bytes in the logical record. The number
is right-justified with leading zeros.
BDA is the address at which the control fields begin in the record.Hence, it is equal to the sum of the length of the leader andthe length of the record directory (including the record direc-tory field terminator). The number is right justified withleading zeros. 7
RECORD DIRECTORY
The record directory is made up of a series of fixed length entries
(12 bytes each) which contain the identification tag, the length, and the
starting character position in the record of each control/variable field.
The starting character position is relative to the BDA. Referring to the
sample record in Appendix A, although the first control field begins at byte
145 of the record, the starting character position for the field is 00000.
(145 is the BDA).
SAMPLE ENTRY
byte in entry 0 2 3 6 7 11
Tag Field Length F Starting character position
The end of the record directory is indicated by a field terminator
(IE1 6, 8-bit; 73368, 6-bit).
CONTROL/VARIABLE FIELDS
The control/variable fields do not, as of this writing, contain any
information which needs to be updated (pointers, counters, etc.). They are
converted verbatum, one field at a time. As a field is processed, the corres-
ponding entry in the record directory is updated as required. Fields are sepa-
rated by field terminators (IE1 6, 8-bit; 73368, 6-bit), except for the last
field in the record, which is followed by a record terminator
(1D16 , 8-bit; 73358P 6-bit).
8
PROCESS OUTLINE
(routine) Start
(TRNSIN) Read a record from
the 9-track tape
EOF
(GETLED) Strip the leaderoff the record
(GETRDR) Strip the record direc-tory from the record
I
(PRCFDF) Convert the control/variable fields (updateleader and record direc--tory as required)
(CLENUP) Restore leader and recorddirectory to converted recordand dump the converted recordto the 7-track tape.
9
L . .
CONVERSION PROCESS
Each logical record is read directly into a buffer (no conversion is
performed by the system). Since the information is on 8-bit bytes, and the
machine operates on 6-bit bytes, bit manipulation is required to extract the
bytes from the buffer.
A 60-bit word (CDC standard word size) will contain 7 8-bit bytes, plus
a half byte (4 bits). Some information will, therefore, span word boundaries.
For example, word 0 (the first word in a record) will contain bytes 0-6, plus
the first 4 bits of byte 7. Word 1 will contain the last 4 bits of byte 7,
and bytes 8-14. Word 2 contains bytes 15-21, and the first 4 bits of byte 22,
etc.
The information is extracted from the buffer 1 byte at a time, and
converted to its 6-bit equivalent by the following method:
A translation table has been created in the form of a vector
with 256 elements. The 8-bit codes can have values in the range
0-255 10 As each 8-bit code is extracted, it is stored right-
justified in an integer word and incremented by 1. This word
is then used as an index to the translation vector. That ele-
ment in the vector contains the 6-bit equivalent for the 8-bit
code. For example, (using Appendix A and B), the 8-bit code for
a semi-colon (;) is 3B16, or 591 . This implies that entry 6010
in the translation vector contains 3389 which is the 6-bit code
for a semi-colon. Likewise, the 8-bit code for a line-feed is
OA16' or 10io. Entry 1110, therefore, contains 73128.
10
Some entries in the table contain 77778. This indicates that the code
is not presently in use (no cross reference between the 8 and 6-bit codes exists).
The translation table can be easily modified should these codes become active.
If the program encounters any of these codes, a message is printed indicating
the undefined 8-bit code. When these codes are added to the output buffer, they
appear as 378 (a question mark).
11
SAMPLE JOB
This sample job assumes that the source code has been compiled, and
that the object code exists in a permanent file NTOSX3465. The 9-track input
tape is labeled X03963, and is approached as a stranger tape via Unit 1. The
7-track l'tput tape is labeled CC3387 accessed via Unit 2.
Job Card.
VSN(TAPEI=X03963/NT,TAPE2=CC3387).
REQUEST,TAPE1,NT,5,E. (X03963/NORING)
PAUSE. OKAY TO WRITE ON DECHICHIO TAPE
REQUEST,TAPE2,S,N,HI,RING. (CC3387/RING/DECHICHIO)
ATTACH,NTOS,NTOSX3465,ID-NEVINS.
NTOS.
(end of job)
The program requires no input, other than the tape.
OUTPUT
The program will indicate any codes encountered on the input tape
which do not have a 6-bit equivalent. A self-explanatory message is printed,
and the code indicated.
If a problem occurs with either the input or output tape, a message is
printed indicating the problem. A message of this type is due to either a
bad tape or tape drive.
Although it is unlikely, the user may receive a message indicating that
buffer sizes have become inadequate. This is a minor problem, but it does
require a few changes in the program. Should the situation occur, the
message will indicate the appropriate action to be taken.
Upon successful completion of the task, a message is printed.
12
INTERNAL ROUTINES
(subroutine/Function names preceded by * are AFGL utility routines)
ADDLED (no agruments)
Commons: LEAD, OUT Subroutines/Functions: INTCHR, *MXGETX,*MSPUTX
Adds the leader to the beginning of the output buffer. The logical
record length and base data adress are first converted to character code,
then the entire leader is added.
ADDRDR (no agrments)
Commons: OUT, DIREC Subroutines/Functions: INTCHR, *MXGETX,*MXPUTX
Adds the record directory to the output buffer immediately following
the leader. The field length and starting address for each entry in the
directory are converted to character code, and the entire entry is then
inserted in the buffer. A field terminator (73368) is inserted after the
last entry.
BLOCK DATA
Common
TRANS contains the translation table for the 8 to 6 bit conversion.
The numeric value for the 8-bit code corresponds to the
location in the table where the 6-bit code resides. For
8-bit codes which do not have a 6-bit equivalent, the
location contains 7777g.
BUFR contains the input buffer, number of words in the buffer,
number of bits in the last word, end-of-file flag, word
being processed, next byte to be processed, and next bit to
be processed.
13
________________
DIREC contains the record directory, and the number of entries
in the directory. Each row in the array corresponds to
independent entries in the directory, and the columns contain:
Column 1 - tag (character code)
Column 2 - field length (integer)
Column 3 - starting address (integer)
LEAD contains the leader (packed in 2.4 words, character code),
the logical record length (LRECL, integer), and the base
data address (BDA, integer).
OUT contains the output buffer (space for 3205 word records),
the number of words used in each buffer section, the section
of the buffer currently being used, and the next available
byte in the buffer.
BRKDIN (INT, 11, 110, 1100, ITH, IHT)
Commons: None Subroutines/Functions: None
Breaks the integer INT down into its component digits. Maximum
number which can be broken down is 99,999. If INT is greater than
that, IHT will have a value greater than 9.
CHRINT (CHR, NCHR, INT)
Commons: None Subroutines/Functions: *IXGETX
Converts the NCHR characters (right-justified) in CHR from the 6-bit
character code to an integer. The result returns through INT.
14
. m .... /.... . . . .
CLENUP (no agruments)
Co nons: OUT Subroutines/Functions: ADDLED, ADDRDR,TRNSOT
Cleans up the output buffer after the entire record has been processed.
The leader and record directory are inserted in the buffer at the
appropriate locations, and the buffer is dumped to the 7-track tape
in 205 words (2048 byte) segments.
CONVRT (ATEBIT,SIXBIT)
Commons: TRANS Subroutines/Functions: None
Converts the 8-bit code in ATEBIT to the 6-bit equivalent and returns
it through SIXBIT. ATEBIT is incremented by 1 and used as the index
to the array containing the translation talbe. The location pointed
to will contain the 6-bit equivalent. SIXBIT will receive either I
or 2 bytes right-justified.
GENOUT (TWD)
Commons: LEAD Subroutines/Functions: *MXGETX, PUTBT
Determines whether I or 2 bytes are to be added to the buffer from
TWD. The information is added a byte at a time, from left to right,
using PUTBT.
15
GETLED (no argunents)
Commons: BUFR, LEAD Subroutines/Functions: CHRINT, CONVRT,GET8BT, *IWPUTX
Strips the leader off the input buffer. Each byte is converted as it
is pulled off. Byte 23 is forced to a 0 (character code) because
the OCLC tapes have some records with information in that location
which, when converted, would make the leader 25 bytes long. The
programs which use the tape do not expect information in that field,
hence the 0.
The logical record length (LRECL) and base data address (BDA) are
pulled off the leader and converted to integers.
GETRDR (no arguments)
Commons: BUFR, DIREC, LEAD Subroutines/Functions: CHRINT, CONVRT,
GET8BT, *MNPUTX
Strips the record directory from the input buffer. Information is
taken from the buffer 12 bytes at a time until a field terminator is
encountered. Each 12 byte group contains one entry in the directory.
Each entry contains a tag, field length, and starting address. The
field length and starting address are converted to integer.
The LRECL and BDA are incremented, because the field terminator at the
end of the directory becomes 2 bytes after conversion.
GET8BT (ATEBIT)
Commons: BUFR Subroutines/Functions: *MXIFTX, XTRACT
Extracts the next 8 bits from the input buffer, and returns them
through ATEBIT.
16
INTCHR (INT, NDIG, CHR)
Commons: None Subroutines/Functions: BRKDIN, *MXPUTX
Converts NDIG digits from the integer INT to the 6-bit character code.
The integer is broken dowy I digit per word. Each word is then
OR'd with 208. wjoc' . tje 6-bit character code for that digit.
The codes are then placed right-justified into CHR.
YAIN (entry routine)
Commons: BUFR Subroutines/Functions: CLENUP, GETLED,GETRDR, PRCFDF, TRNSIN
This is the entry routine for that program. TRNSIN, GETLED, GETRDR,
PRCFDF, and CLENUP are called in that order to process each record.
The loop continues until the end-of-file flag in BUFR is turned on
by TRNSIN, at which point the program stops.
OUTINT (no agrments)
Commons: LEAD, OUT Subroutines/Functions: None
Initializes the output common. The buffer is cleared to zero, and
the BDA is used to determine the position in the output buffer where
the control/variable fields can start.
PRCFDF
Comnons: DIREC Subroutines/Functions: CONVRT, GENOT,GET8BT, OUTINT
Translates the control/variable fields from the input buffer. The
field length and starting address for each field is computed and
stored in the record directory immediately after the field is processed.
Processing continues until a record terminator is encountered.17
PUTBT(TWD)
Comnons: OUT Subroutines/Functions: *MXPUTX
The rightmost byte from TWD is added to the output buffer at the next
available position.
TRNSIN (no arguments)
Commons: BUFR Subroutines/Functions: LENGTHX, UNIT
Retrieves the next record from the 9-track tape. The length of the
record is determined and stored in BUFR. If an end-of-file occurs,
a flag in BUFR is turned on.
TRNSOT (OUTP, STWD, ENWD)
Commons: None Subroutines/Functions: UNIT
Write information from array OUTP, from word, STWD to word ENWD, then
to the 7-track tape.
XTRACT (WORDl, NBIT, WORD2, STBIT)
Commons: None Subroutines/Functions: *ISBYTX, *HX1FTX
Extracts NBIT bits from the left of WORD, and inserts them in
WORD2 at STBIT. WORD is shifted left circular NBIT bits.
18
EXTERNAL ROUTINES
AFGL Utility Routines
ISBYTX ( I,N,M,J) Bit string function
Picks N bits from the right of word J and inserts them starting at
bit I of word M. Negative N appears as left shift (I-1). Negative
I picks from the opposite end of the word.
MXIFTX (J,I) Shifting function
If I is positve, the 60 bit word J is shifted left circular I bit
positions. If I is negative, J is shifted right with the sign bit
filling the left side of the word, and the bits shifted off the right
of the word are lost.
MXGETX (AIN) Pick Bytes (function)
Pick N bytes, starting at byte I, from A and return them right -
adjusted with zero fill. If N exceeds the number of bytes remaining
after positioning at byte I, or I or N are negative, the result is
garbage.
MXPUTX (A,M,I) Store a byte (function or subroutine)
Take the right most byte from A and store it in byte I of word M.
If I is greater than 10 or negative, the result is garbage.
19
CDC Specific Routines
BUFFER IN 9u,p) (a,b)
Transfers a physical record from unit u to memory beginning at word
a, and ending at word b. p is a 1, indicating a 9-track labeled
tape and no conversion is to be performed on the data.
BUFFER OUT 9u,p) (ab)
Writes a physical record on unit u. Information to be written starts
at word a, and ends at word b. p is a 1, indicating 7-track odd
parity (binary) tape.
UNIT (u)
Function used to check status of unit u after a BUFFER IN or BUFFER
OUT operation. Control returns to the program when the unit completes
that operation. The function returns one of the following values:
-1. unit ready, no end-of-file or parity errors.
+0. unit ready, end-of-file encountered.
+1. unit ready, parity error encountered.
LENGTHX (u, nw, ubc)
Subroutine called to retrieve information regarding the previous
BUFFER IN operation on unit u. nw contains the number of 60 bit words
read, and ubc contains the number of bits in the last word transferred.
20
Note: The CDC Fortran reference manual states:
"After an unformatted BUFFER IN on 9-track S or L tapes, the unused
bit count parameter of LENGTHX is rounded duwn so as to indicate a
whole number of 6-bit characters. For example, a BUFFER IN of a 23
character record returns a length of four words with an unused bit
count of 54, even though the actual unused bit count is 56."
Hence, although this information (ubc) is readily available, the
program does not use it because it is unreliable.
I
21
r r ___________
'2///
APPEIRDIXA
SAMPLE RECOP
23
SAMPLE RECORD
There is a sample record on the following page. The information
below explains the structure of that particular record.
Leader
There are two important pieces of information in the leader, the
LRECL and the BDA. In this case, the LRECL is 515 bytes, and the BDA is 145.
Record Directory
Entry 1 in the directory has a tag 001, a field length of 13 bytes,
and starting address 0 (relative to BDA).
Entry 2 has a tag 008, a field length of 41 bytes, and starting
address 13.
Entry 10 has a tag 650, a field length of 59, and starting address 311.
The directory ends with a field terminator.
Control/Variable Fields
The first field begins at address 145, the BDA. All control/variable
fields starting addresses are determined relative to the BDA, which is the
reason why the address for the first field is 0. The last byte in the record
has address 369 relative to the BDA, address 514 relative to the beginning
of the record.
The record ends with a record terminator,
25
SAMPLE RECOP JI,1 THE MARC FORMAT
2001 0072 1000023000 2 500&3(XaM 2 0 10017 300003900235
jlC Card Number jFixed Fields000037002_ I50005900311 ~ 7 50i(101 ) I700319 s 1969 W nlabW
120 132 1i45 13
JLC Call Number DDC Number0 0 0111 01eng 0) ,YO. iaHD956 .5 ;b.S ~l~la33.2 7 282/
54 72
M~ain Entry Iitle0 .augarmari, Stephen.p- 10 4,aPetroleu i'-utyhandbook.$c [Edited'b.
~Inprintr3tephe-n SuSgarnan. 0 C)l an.p. bIPublished by J.bM. Weiner ;ror D. Hi. Blair
174
ICollation lGeneral Notec 199a~xi~79 p bilus, maps.$c29 cm.1if alFr l- i
235 2741
jSubject HIeadingiriution~only. "J0 I jrd'YI
311
(514)
bl ank / field terminator $ record terminator
26
A PP EN D IX B
8-BIT EXPANDED ASCII CHARACTER SET
27
V
EXPANDED 8-BIT ASCII CHARACTER SET
Dec. Hex. Binary Graphic Name and/or Function
0 00 0000 0000 Null
1 01 0000 0001 Start of Heading
2 02 0000 0010 Start of Text
3 03 0000 0010 End of Text
4 04 0000 0100 End of Transmission
5 05 0000 0101 Enquiry
6 06 0000 0110 Acknowledge
7 07 0000 0111 Bell
8 08 0000 1000 Backspace
9 09 0000 1001 Horizontal Tabulation
10 0A 0000 1010 Line Feed
11 OB 0000 1011 Vertical Tabulation
12 OC 0000 1100 Form Feed
13 OD 0000 1101 Carriage Return
14 0E 0000 1110 Shift Out
15 OF 0000 i111 Shift In
16 10 0001 0000 Data Link Escape
17 11 0001 0001 Device Control 1
18 12 0001 0010 Device Control 2
19 13 0001 0011 Device Control 3
20 14 0001 0100 Device Control 4
21 15 0001 0101 Negative Acknowledge
22 16 0001 0110 Synchronous Idle
23 17 0001 0111 End of Transmission Block
24 18 0001 1000 Cancel
25 19 0001 1001 End of Medium
26 1A 0001 1010 Substitute
27 IB 0001 1011 Escape
28 IC 0001 1100 End of File
29 ID 0001 1101 End of Record
30 1E 0001 1110 Field Terminator29
Dec. Hex. Binary Graphic Name and/or Function
31 IF 0001 1111 Double Dagger (delimiter)
32 20 0010 0000 Space
33 21 0010 0001 Exclamation Point
34 22 0010 0010 Quotation Marks
35 23 0010 0010 # Number Sign
36 24 0010 0100 $ Dollar Sign
37 25 0010 0101 % Percent Sign
38 26 0010 0110 & Ampersand
39 27 0010 0111 Apostrophe
40 28 0010 1000 ( Opening Parenthesis
41 29 0010 1001 ) Closing Parenthesis
42 2A 0010 1010 * Asterisk
43 2B 0010 1011 + Plus
44 2C 0010 1100 Comma
45 2D 0010 1101 - Hyphen (minus)
46 2E 0010 1110 . Period (decimal point)
47 2F 0010 1111 / Slash
48 30 0011 0000 0
49 31 0011 0001 1
50 32 0011 0010 2
51 33 0011 0011 3
52 34 0011 0100 4
53 35 0011 0101 5
54 36 0011 0110 6
55 37 0011 0111 7
56 38 0011 1000 8
57 39 0011 1001 9
58 3A 0011 1010 . Colon
59 3B 0011 1011 Semi-colon
60 3C 0011 1100 Less Than
30
Dec. Hex. Binar Graphic Name and/or Function
61 3D 0011 1101 w Equals
62 3E 0011 1110 7 Greater Than
63 3F 0011 1111 ? Question Mark
64 40 0100 0000 @ Commercial At Sign
65 41 0100 0001 A
66 42 0100 0010 B
67 43 0100 0011 C
68 44 0100 0100 D
69 45 0100 0101 E
70 46 0100 0110 F
71 47 0100 0111 G
72 48 0100 1000 H
73 49 0100 1001 I
74 4A 0100 1010 J
75 4B 0100 1011 K
76 4C 0100 1100 L
77 4D 0100 1101 M
78 4E 0100 1110 N
79 4F 0100 1111 0
80 50 0101 0000 p
81 51 0101 0001 Q
82 52 0101 0010 R
83 53 0101 0011 S
84 54 0101 0100 T
85 55 0101 0101 U
86 56 0101 0110 V
87 47 0101 0111 W
88 58 0101 1000 X
89 59 0101 1001 y
90 5A 0101 1010 Z
31
-0-
Dec. Hex. Binary Graphic Name andfor Function
91 5B 0101 1011 [ Opening Bracket
92 6C 0101 1100 Reverse Slash
93 5D 0101 1101 ] Closing Bracket
94 5E 0101 1110
95 5F 0101 i111
96 60 0110 0000
97 61 0110 0001 a
98 62 0110 0010 b
99 63 0110 0011 c
100 64 0110 0100 d
101 65 0110 0101 e
102 66 0110 0110 f
103 67 0110 0111 g
104 68 0110 1000 h
105 69 0110 1001 i
106 6A 0110 1010
107 6B 0110 1011 k
108 6C 0110 1100 1
109 6D 0110 1101 m
110 6E 0110 1110 n
ill 6F 0110 111 0
112 70 0111 0000 p
113 71 0111 0001 q
114 72 0111 0010 r
115 73 0111 0011 6
116 74 0111 0100 t
117 75 0111 0101 u
118 76 0111 0110 v
119 77 0111 0111 w
120 78 0111 1000 x
32
Dec. Hex. B RGpaic Name and/or Function
121 79 0111 1001 Y
122 7A 0111 1010 z
123 7B 0111 1011
124 7C 0111 1100
125 7D 0111 1101
126 7E 0111 1110
127 7F 0111 1111 Delete
128 80 1000 0000
129 81 1000 0001
130 82 1000 0010
131 83 1000 0011
132 84 1000 0100
133 85 1000 0101
134 86 1000 0110
135 87 1000 0111
136 88 1000 1000
137 89 1000 1001
138 8A 1000 1010
139 8B 1000 1011
140 8C 1000 1100
141 8D 1000 1101
142 8E 1000 1110
143 8F 1000 1111
144 90 I00! 0000
145 91 1001 0001
146 92 1001 0010
147 93 1001 0011
148 94 1001 0100
149 95 1001 0101
150 96 1001 0110
151 97 1001 0111
152 98 1001 1000
153 99 1001 1001
154 9A 1001 1010 33
Dec. Hex. Binary Graphics Name and/or Function
155 9B 1001 1011
156 9C 1001 1101
157 9D 1001 1101
158 9E 1001 1110
159 9F 1001 1111
160 AO 1010 0000
161 Al 1010 0001 Z Polish L - Uppercase
162 A2 1010 0010 0 Scandinavian 0 with Slash
163 A3 1010 0011 B D with Crossbar-Uppercase
164 A4 1010 0100 ? Icelandic Thorn - Uppercase
165 A5 1010 0101 AE
166 A6 1010 0110 OE
167 A7 1010 0111 Miagkiy' Znak
168 A8 1010 1000 Dot in Middle of Line
169 A9 1010 1001 A Musical Flat
170 AA 1010 1010 R Subscript Patent Mark
171 AB 1010 1011 + Plus or Minus
172 AC 1010 1100 0"
173 AD 1010 1101
174 AE 1010 1110 Alif
175 AF 1010 1111
176 B0 1011 0000 - Ayn
177 Bl 1011 0001 1 Polish 1 - Lowercase
178 B2 1011 0010 Scandinavian o with SlashLowercase
179 B3 1011 0011 - d with Crossbar - Lowercase
180 B4 1011 0100 1 Icelandic Thorn - Lowercase
181 B5 1011 0101 ae
182 B6 1011 0110 oi
183 B7 1011 0111 I Tverdyi Znak
184 B8 1011 1000 Turkish i - Lowercase
185 B9 1011 1001 British Pound
34
. . . .. . ... ... .. .; 'i - , ... , _ , .._w
Dec. Hex. Binary Graphic Name and/or Function
186 BA 1011 1010 4 Eth
187 BB 1011 1011
188 BC 1011 1100
189 BD 1011 1101
190 BE 1011 1110
191 BF 1011 111
192 CO 1100 0000
193 Cl 1100 0001
194 C2 1100 0010
195 C3 1100 0011
196 C4 1100 0100
197 C5 1100 0101
198 C6 1100 0110
199 C7 1100 0111
200 C8 1100 1000
201 C9 1100 1001
202 CA 1100 1010
203 CB 1100 1011
204 CC 1100 1100
205 CD 1100 1101
206 CE 1100 1110
207 CF 1100 i111
208 DO 1101 0000
209 Dl 1101 0001
210 D2 1101 0010
211 D3 1101 001
212 D4 1101 0130
213 D5 1101 0101
214 D6 1101 0110
215 D7 1101 0111
216 D8 1101 1000
35
Dec. Hex. Binary Graphic Name and/or Location
217 D9 1101 1001
218 DA 1101 1010
219 DB 1101 1011
220 DC 1101 1100
221 DD 1101 1101
222 DE 1101 1110
223 DF 1101 111
224 EO 0000 Pseudo Question
225 El 1110 0001 Grave
226 E2 1110 0010 Acute
227 E3 1110 0011 A Circumflex
228 E4 1110 0100 - Tilde
229 E5 1110 0101 - Macron
230 E6 1110 0110 L Breve
231 E7 1110 0111 * Superior Dot
232 E8 1110 1000 Umlaut or Dieresis
233 E9 1110 1001 Hacek
234 EA 1110 1010 0 Circle or Angstrom
235 EB 1110 1011 r Ligature
236 EC 1110 1100 Ligature
237 ED 1110 1101 High Comma Diacritical
238 EE 1110 1110 n Couble Acute
239 EF 1110 i111 (J Candrabindu
240 FO i111 0000 Cedilla
241 Fl 1111 0001 C Right Hook
242 F2 i111 0010 Dot Below Character
243 F3 i111 0011 Double Dot Below Character
244 F4 1111 0100 Circle Below Character
245 F5 1111 0101 Double Underscore
246 F6 i111 0110 - Underscore
247 F7 i111 0111 Left Hook
36
Dec. Hex. Binary Graphic Name and/or Function
248 F8 111 1000 0 Right Cedilla
249 F9 1111 1001 . Upadhamanrya
250 FA 1111 1010 lb Double Tilde
251 FB 1111 1011 Double Tilde
252 FC 1111 1100
253 FD 1111 1101
254 FE 1111 1110 High Comma (Centered)
255 FF 1111 1111
37
GREEK, SUBSCRIPT, AND SUPERSCRIPT CHARACTERS
(8-BIT)
GREEK
The following Greek characters are preceded by the escape sequence
ESCg(1B671 6). This is a locking escape and must be ended by the escape
sequence ESCz(1B731 6) to return to the standard set.
Decimal Oct. Hex. Binary Graphic Name
97 141 61 0110 0010 a Alpha
98 142 62 0110 0010 1 Beta
99 143 63 0110 0011 r Gamma
SUBSCRIPTS
The following subscript characters are preceded by the escape sequence
ESCb (1B62 16 ). This is a locking escape and must be ended by the escape
sequence ESCs (1B73 16 ) to return to the standard set.
Decimal Oct. Hex. Binary Graphic Name
48 30 0011 0000 0 Subscript 0, etc.
49 61 31 0011 0001 1
50 62 32 0011 0010 2
51 63 33 0011 0011 3
52 64 34 0011 0100 4
53 65 35 0011 0101 5
54 66 36 0011 0110 6
55 67 37 0011 0111 7
56 68 38 0011 1000 8
57 69 39 0011 1001 9
38
SUBSCRIPTS (CONTINUED)
Decim1a Oct. Hex Binary Graphic Name
40 50 28 0010 1000 ( Open Parenthesis
41 51 29 0010 1001 ) Closed Parenthesis
43 52 2B 0010 1011 + Plus
45 53 2D 0010 1101 - Minus
SUPERSCRIPTS
Superscript characters have the same values as the subscript
character set; however, the escape sequence to enter the superscript set
is ESCp (1B70). The escape sequence to return to the standard set is
ESCs (IB731 6).
39
- u<BL
N A 1
APPENDIX C
6-BIT CHARACTER SET
41
T
r'N1
I! 3
STANDARD 6-BIT CHARACTER SET DERIVED FROM
8-BIT ASCII CHARACTER SET
Dec. Octal Binary Table Position Graphic Name and/or Function
0 00 000 000 33 Space
1 01 000 001 34 Exclamation Point
2 02 000 010 34 Quotation Marks
3 03 000 011 36 # Number Sign
4 04 000 100 37 $ Dollar Sign
5 05 000 101 38 % Percent Sign
6 06 000 110 39 & Ampersand
7 07 000 11 40 Apostrophe
8 10 001 000 41 C Opening Parenthesis
9 11 001 001 42 ) Closing Parenthesis
10 12 001 010 43 * Asterisk
11 13 001 011 44 + Plus
12 14 001 100 45 Comma
13 15 001 101 46 - Hyphen (minus)
14 16 001 110 47 Period (Decimal Point)
15 17 001 11 48 / Slash
16 20 010 000 49 0
17 21 010 001 50 1
18 22 010 010 51 2
19 23 010 011 52 3
20 24 010 100 53 4
21 25 010 101 54 5
22 26 010 110 55 6
23 27 010 11 56 7
24 30 011 000 57 8
25 31 011 001 58 9
26 32 011 010 59 Colon
27 33 011 011 60 Semicolon
28 34 011 100 61 ( Less Than43
Dec. Octal Binary Table Position Graphic Name and/or Function
29 35 011 101 62 - Equals
30 36 011 110 63 Greater Than
31 37 011 il 64 ? Question Mark
32 40 100 000
33 41 100 001 98 a
34 42 100 010 99 b
35 43 100 011 100 c
36 44 100 100 101 d
37 45 100 101 102 e
38 46 100 110 103 f
39 47 100 ill 104 g
40 50 101 000 105 h
41 51 101 001 106 i
42 52 101 010 107 j
43 53 101 011 108 k
44 54 101 100 109 1
45 55 101 101 110 m
46 56 101 110 ill n
47 57 101 i1l 112 o
48 60 110 000 113 p
49 61 110 001 114 q
50 62 110 010 115 r
51 63 110 011 116 s
52 64 110 100 117 t
53 65 110 101 118 u
54 66 110 110 119 v
55 67 110 ill 120 w
56 70 11 000 121 x
57 71 11 001 122 y
58 72 ii 010 123 z
59 73 11 011 Shift CodeNonstandard Set
60 74 111 100
44
Dec. Octal BInary Table Position Graphic Name and/or Function
61 75 Iil 101 Shift CodeNonstandard Set
62 76 11 110 Shift CodeNonstandard Set
63 77 i11 1i1 128 Delete
45
6-BIT NONSTANDARD SET 1
Each character in this set is preceded by the shift character (738
Dec. Octal Binary Table Position Graphic Name and/or Function
0 00 000 000 1 Null
1 01 000 001 2 Start of Heading
2 02 000 010 3 Start of Text
3 03 000 011 4 End of Text
4 04 000 100 5 End of Transmission
5 05 000 101 6 Enquiry
6 06 000 110 Aknowledge
7 07 000 111 8 Bell
8 10 001 000 9 Backspace
9 11 001 001 10 Horizontal Tabulation
10 12 001 010 11 Line Feed
11 13 001 011 12 Vertical Tabulation
12 14 001 100 13 Form Feed
13 15 001 101 14 Carriage Return
14 16 001 110 15 Shift Out
15 17 001 11 16 Shift In
16 20 010 000 17 Data Link Escape
21 010 001 18 Device Control 1
.8 22 010 010 19 Device Control 2
19 23 010 011 20 Device Control 3
20 24 010 100 21 Device Control 4
21 25 010 101 22 Negative Acknowledge
22 26 010 110 23 Synchronous Idle
23 27 010 11 24 End of Transmission Block
24 30 011 000 25 Cancel
25 31 011 001 26 End of Medium
26 32 011 010 27 Substitute
27 33 011 011 28 Escape
46
-,S
Dec. Octal Binary Table Position Graphic Name and/or Function
28 34 011 100 29 End of File
29 35 011 101 30 End of Record
30 36 011 110 31 Field Terminator
31 37 011 111 32 Double Dagger(delimiter)
32 40 100 000 65 @ Commercial At Sign
33 41 100 001 66 A
34 42 100 010 67 B
35 43 100 011 68 C
36 44 100 100 69 D
37 45 100 101 70 E
38 46 100 110 71 F
39 47 100 111 72 G
40 50 101 000 73 H
41 51 101 001 74 I
42 52 101 010 75 J
43 53 101 011 76 K
44 54 101 100 77 L
45 55 101 101 78 M
46 56 101 110 79 N
47 57 101 i11 80 0
8 60 110 000 81 P
49 61 110 001 82 Q50 62 110 010 83 R
51 63 110 Ol 84 S
52 64 110 100 85 T
53 65 110 101 86 U
54 66 110 110 87 V
55 67 110 i1 88 w
56 70 11 000 89 x
57 71 111 001 90 y
58 72 111 010 91 Z
59 73 l1 011 92 [ Opening Bracket
47
Dec. Octal Binary Table Position Graphic Name and/or Function
60 74 i11 100 93 Reverse Slash
61 75 1l1 101 94 ]Closing Bracket62 76 ill 110
63 77 111 ill
48
6-BIT NONSTANDARD SET II
Each character in this set is preceded by the shift character 758
Dec. Octal Binary Table Position Graphic Name and/or Location
0 00 000 000
1 01 000 001 162 Polish L - Uppercase
2 02 000 010 163 0 Scandinavin 0 withSlash
3 03 000 011 164 - D with Cross Bar -Uppercase
4 04 000 100 165 Icelandic Thorn -
Uppercase
5 05 000 101 166 AE
6 06 000 110 167 3E
7 07 000 11 168 M ?iagkiY Znak
8 10 001 000 169 . Dot in Middle of Line
9 11 001 001 170 Musical Flat
10 12 001 010 171 Subscript Patent Mark
11 13 001 011 172 + Plus or Minus
12 14 001 100 173 o
13 15 001 101 174 Ir
14 16 001 110 175 Alif
15 17 001 11 176
16 20 010 000 177 4 Ayn
17 21 010 001 178 Z Polish 1 - Lowercase
18 22 010 010 179 Scandinavin o withSlash - Lowercase
19 23 010 011 180 D with Cross Bar -
Lowercase
20 24 010 100 181 le Icelandic Thorn -
Lowercase
21 25 010 101 182 ae
22 26 010 110 183 oe.e V
23 27 010 111 184 Tverdi Znak
49
Dec. Octal Binary Table Position Graphic Name and/or Location
24 30 011 000 185 -.- Turkish i - Lowercase
25 31 011 001 186 British Pound
26 32 011 010 187 I Eth
28 34 Oil 100 189
29 35 011 101 190
30 36 011 110
31 27 011 i1
32 40 100 000 225 Pseudo Question
33 41 100 001 226 Grave
34 42 100 010 227 / Acute
35 43 100 011 228 A Circumflex
36 44 100 100 229 Tilde
37 45 100 101 230 - Macron
38 46 100 110 231 Breve
39 47 100 ii 232 * Superior Dot
40 50 101 000 233 .* Umlaut or Dieresis
41 51 101 001 234 Hacek
42 52 101 010 235 o Circle or Angstrom
43 53 101 011 236 1 Ligature
44 54 101 100 237 0 Ligature
45 55 101 101 238 High Comma Diacritical
46 56 101 110 239 / Double Acute
47 57 101 i11 240 ' Candrabidu
48 60 110 000 241 Cedilla
49 61 110 001 242 Right Hook
50 62 110 010 243 Dot Below Character
51 63 110 011 244 .. Double Dot BelowCharacter
52 64 110 100 245 * Circle Below Character
53 65 110 101 246 - Double Underscore
54 66 110 110 247 Underscore
55 67 110 i11 248 J Left Hook
50
Dec. Octal Binary Table Position Graphic Name and/or Location
56 70 il1 000 249 Right Cedilla
57 71 11 011 250 Upadhmaniya
58 72 111 010 251 Double Tilde
59 73 il 011 252 Double Tilde
60 74 111 100
61 75 11 100
62 76 i11 110 255 High Comma (Centered)
63 77 11 i1
51
GREEK, SUBSCRIPT, AND SUPERSCRIPT CHARACTERS (6-BIT)
GREEK
The following Greek characters are preceded by the escape sequence shift ESCg
(7333478). This is a locking sequence and must be ended by the escape
sequency shift ESCs ( 7333638 ) to return to the standard set.
Decimal Octal Binary Graphic Name
33 41 100 001 CL Alpha
34 42 100 010 0 Beta
35 43 100 011 r Gamma
SUBSCRIPTS
The following subscript characters are preceded by the escape sequence shift
ESCb (7333428) and must be ended by the escape Shift ESCb ( 7333638 ) to re-
turn to the standard set.
Decimal Octal Binary Graphic Name
16 20 010 000 0 Subscript 0, etc.
17 21 010 001 1
18 22 010 010 2
19 23 010 011 3
20 24 010 100 4
21 25 010 101 5
22 26 010 110 6
23 27 010 ill 7
24 30 010 000 8
25 31 010 001 9
8 10 001 000 ( Open Parenthesis
9 11 001 001 Closed Parenthesis
11 13 001 011 + Plus
13 15 001 101 - Minus
52
C. SUPERSCRIPTS
Superscript characters have the same values as the subscript set; however,the
escape sequence to enter the superscript set is shift ESCp ( 7333608 ). The
escape sequence to return to the standard set is shift ESCs ( 7333638
53
REFERENCE S
(1) Books: A MARC Format, U. S. Library of Congress,
MARC Development Office, Fifth Edition, 1972.
AFGL Library Z699.4M2U5351972
54