Newsgroups: alt.sys.pdp8,alt.sys.pdp10,alt.folklore.computers Subject: Streams of variable-sized bytes References: <38d67cb3$0$224@nntp1.ba.best.com> <38D75F59.82F9CCAB@sics.se> <8b885a$h9b$1@hawkins.cba.uni.edu> Organization: Chez Inwap From: inwap@best.com (Joe Smith) Date: 21 Mar 2000 23:54:27 GMT Lines: 32 Message-ID: <38d80bb3$0$201@nntp1.ba.best.com> NNTP-Posting-Host: shell3.ba.best.com X-Trace: nntp1.ba.best.com 953682867 201 inwap@206.184.139.134 Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!newsfeed-zh.ip-plus.net!news.ip-plus.net!News.Amsterdam.UnisourceCS!newspeer.te.net!news.indigo.ie!news-out.cwix.com!newsfeed.cwix.com!newsfeed.berkeley.edu!news2.best.com!news3.best.com!nntp1.ba.best.com!not-for-mail Xref: chonsp.franklin.ch alt.folklore.computers:52525 In article <8b885a$h9b$1@hawkins.cba.uni.edu>, wrote: >Now you've got my curiosity. Fortran (oops, back then it was FORTRAN, >wasn't it? :) just when was the change ?) packed 5 text characters to >the word (I think this is how I first learned of the 36 bit word). >THis seems to suggest that that loose bit at the end could have >been recovered. But then again, you'd need seven words to gain a >single character, so only strings longer than 35 characters would >benefit, I suppose . . . Both ILDB (Increment and LoaD Byte) and IDPB (Increment and DePosit Byte) cause the byte pointer to be updated. If there weren't enough bits left in the word for a full byte, the remainder was skipped and the byte pointer incremented to the next word. Therefore, if you were using a 7-bit byte pointer, your program would never see the 36th bit. COBOL got around this lossage by packing 6 SIXBIT bytes into a word. FOROTS (the FORTRAN Operating Time System) had several error messages stored with 7 bytes per word using 5 bits per byte. It used "a"-"z" and some shift codes for caps, numerals and punctuation. It took more CPU time to translate 5-bit to 7-bit, but outputing error messages did not occur that often. The disk driver always did I/O in multiples of 128 words. The disk controller hardware took the 128 words and treated them as 64 double words, and the 72 bit double words were stored on the disk as nine 8-bit bytes. With the disk packs formatted with 576 (instead of 512) bytes per sector, there was no lossage in the 36-bit to 8-bit data stream. -Joe -- See http://www.inwap.com/ for PDP-10 and "ReBoot" pages.