From alt.folklore.computers Tue Oct 20 16:22:25 1992 Path: daimi!dkuug!sunic!mcsun!uknet!doc.ic.ac.uk!agate!ames!haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!rutgers!rochester!cantaloupe.srv.cs.cmu.edu!crabapple.srv.cs.cmu.edu!andrew.cmu.edu!jn11+ From: jn11+@andrew.cmu.edu (Joseph M. Newcomer) Newsgroups: alt.folklore.computers Subject: Re: What was the intended advantage of using 36bits CPU? Message-ID: <8errpkW00WB81QCe82@andrew.cmu.edu> Date: 17 Oct 92 02:41:52 GMT Organization: Carnegie Mellon, Pittsburgh, PA Lines: 79 In-Reply-To: <14934@auspex-gw.auspex.com> Excerpts from netnews.alt.folklore.computers: 12-Oct-92 Re: What was the intended a.. by Guy Harris@Auspex.COM > No, EBCDIC was 8 bits, but I don't think it emerged until the 8-bit-byte > 360 did. I think IBM's BCD used 6 bits; IBM *punched cards* used 12 > bits, but which IBM machines, if any, stored character strings in > punched-card code (which doesn't include reading raw punched card code > into memory and then converting it to BCD for processing)? To the best of my knowledge, no IBM computer stored characters as 12-bit characters. The 7090/94 series read cards in column-binary, storing three 12-bit columns in one 36-bit word, and reading a card into 24 words (columns 73-80 were not read, which is why they were used to hold sequence numbers, and this is also why FORTRAN only used columns 1-72) Conversion from row binary to 6-bit packed characters (6 per word) was done in the "operating system" (IOCS? I never programmed a 709x) This also may explain to those who never knew it why FORTRAN identifiers were 6 characters long or the significance of column 6 in FORTRAN programs... The 1130/1800 also read column binary into 16-bit words, and I have a vague recollection that you could pack 3 characters into a single 16-bit word using a packing convention akin to PDP-10 RAD50. The DEC10/20 used three character conventions: 7-bit ASCII, 5 7-bit bytes left aligned in a 36-bit word with the low-order bit unused (it flagged line numbers in LINED/SOS files...), which gave full 7-bit ASCII; SIXBIT, which encoded the BCD subset (uppercase only, so no left quote, {|}~), and RAD50 (40 decimal which is 50 octal) which encoded 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.$% and one other character which I forget. This was used to encode six-character symbols into 32 bits, allowing 4 bits in each word for flags (such as "global symbol", etc.). These RAD50 names were how the DDT symbol table was stored, and how names were stored in .REL (==.o) files. In a collection of papers "Faith, Hope and Parity" from the days where Datamation was allowed to have a sense of humor, one sequence was on "How to design a klu(d)ge" (I forget which spelling they used). One criterion was that it had to have a collating sequence different than anyone else's and a character assignment that was different as well. The 1401/40/60 collating sequence was NOT the binary character code. The collating sequence, from appendix I of the 1440 manual, was as shown below. Read from top to bottom left to right. space 000000 ; 101110 # 001011 J 100001 . 111011 delta 101111 @ 001100 ... ( 111100 - 100000 : 001101 R 101001 [ 111101 / 010001 > 001110 RM 011010 < 111110 , 011011 SQ 001111 S 010010 GM 111111 % ) 011100 ? 111010 ... & + 110000 WS 011101 A 110001 Z 011001 $ 101011 \ 011110 ... 0 001010 * 100110 SM 011111 I 111001 ... ] 101101 b 010000 ! 101010 9 001001 GM was the "group mark", graphic three horizontal lines with a vertical bar thru the center. "delta" was a triangle. 'b' was the "substitute blank" (used to keep tapes with long stretches of blank characters and which were encoded NRZ from having the long blanks being treated as EOR gaps), SM was the segment mark (three vertical lines with a single horizontal line), SQ was a square root sign, RM a record mark (a not-equal sign but with a vertical rather than diagonal stroke). WS was the word separator character, very important as it was used in object decks to indicate which character got a word mark, and as far as I can tell it was hand-drawn in every manual. It looked like the representation of a distant cartoon flying bird: ___ ___ / \/ \ Other vendors used different graphics; for example, Honeywell had a cent sign and a single-character "CR" symbol for some of these characters. This was common. The non-contiguous alphabet was also quite common, i.e., the sequence ?ABCDEFGHI!JKLMNOPQR=STUVWXYZ (where = means record mark). In EBCDIC, the sequence is ABCDEFGHI...!JKLMNOPQR.../STUVWXYZ where the ... represent the gaps in the sequence in which there are bits but no associated graphics. joe