From mboxrd@z Thu Jan 1 00:00:00 1970 From: scj@yaccman.com (Steve Johnson) Date: Tue, 17 Jan 2017 19:06:28 -0800 Subject: [TUHS] [TUHS} PDP-11, Unix, octal? In-Reply-To: <20170118023358.BE5C818C095@mercury.lcs.mit.edu> Message-ID: <50a7fbcbb6af280eb108fff1361c37ee1718bff0@webmail.yaccman.com> When we were considering what machine to port PDP-11 Unix to, there were several 36-bit machines around and some folks were lobbying for them.   Dennis' comment was quite characteristically succinct: "I'll consider it if they throw in a 10-track tape drive...".    Just thinking about Unix (and C!) on a machine where the byte size does not evenly divide the word size is pretty painful... (Historical note: before networking, magnetic tapes were essential for backups and moving large quantities of data.  Data was stored in magnetic dots running across the tape, and typically held a character plus a parity bit.  Thus, there were 7-track drives for 6-bit machines, and 9-track drives for 8-bit machines.  But nothing for 9-bit machines...) ----- Original Message ----- From: "jnc@mercury.lcs.mit.edu (Noel" To: Cc: Sent:Tue, 17 Jan 2017 21:33:58 -0500 (EST) Subject:Re: [TUHS] [TUHS} PDP-11, Unix, octal? > From: Doug McIlroy > Perhaps the real question is why did IBM break so completely to hex for > the 360? Probably because the 360 had 8-bit bytes? Unless there's something like the PDP-11 instruction format which makes octal optimal, octal is a pain working with 8-bit bytes; anytime you're looking at the higher bytes in a word, unless you are working through software which will 'interpret' the bytes for you, it's a PITA. The 360 instruction coding doesn't really benefit from octal (well, instructions are in 4 classes, based on the high two bits of the first byte, but past that, hex works better); opcodes are 8 or 16 bits, and register numbers are 4 bits. As to why the 360 had 8-bit bytes, according to "IBM's 360 and Early 370 Systems" (Pugh, Johnson, and Palmer, pp. 148-149), there was a big fight over whether to use 6 or 8, and they finally went with 8 because i) statistics showed that more customer data was numbers, rather than text, and storing decimal numbers in 6-bit bytes was inefficient (BCD does two digits per 8-bit byte), and ii) they were looking forward to handling text with upper- and lower-case. Noel -------------- next part -------------- An HTML attachment was scrubbed... URL: