Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 (MC840302); site ttds.UUCP Path: utzoo!watmath!clyde!bonnie!akgua!sdcsvax!sdcrdcf!hplabs!hao!seismo!mcvax!enea!ttds!arndt From: arndt@ttds.UUCP (Arndt Jonasson) Newsgroups: net.arch Subject: Re: Arbitrary byte alignment Message-ID: <662@ttds.UUCP> Date: Mon, 15-Oct-84 02:10:25 EDT Article-I.D.: ttds.662 Posted: Mon Oct 15 02:10:25 1984 Date-Received: Thu, 11-Oct-84 07:48:37 EDT References: <470@houxl.UUCP> <420@intelca.UUCP> Organization: The Royal Inst. of Techn., Stockholm Lines: 26 >One of the nicer things the DEC-10s and 20s had was something called a >byte pointer. In this context a byte was any arbitrary grouping of bits Had? They are still very much alive, although DEC no longer does any development on them (or so I have heard). A PDP-10 bytepointer can access any contiguous string of bits that lies within a 36-bit word. It doesn't have to start on a word boundary. The usual application of byte pointers is handling 7-bit bytes, i.e characters, but others are used as well. In the source code for ITS TECO (the base system for the *real* Emacs), I recall that 36-bit pointers are used for some purpose. The autoincrementing versions of LDB and DPB (ILDB and IDPB) increment the pointer before accessing the byte. There is also an IBP (increment byte pointer). (Actually ILDB and IDPB are just IBP followed by LDP and DPB). There are no autodecrementing modes, but later versions of the PDP-10 have an ADJBP (adjust byte pointer) which adjusts a byte pointer an arbitary amount (forwards or backwards). ADJBP doesn't fit in very well with the others, though. It seems like a piece of happy hacking in the microcode. {decvax,philabs}!mcvax!enea!ttds!arndt