Micro$oft Biz'droid Lusers (was: OT email response format)

From: Andreas Freiherr <Andreas.Freiherr_at_Vishay.com>
Date: Mon Apr 22 11:30:45 2002

Well, it's been some years ago, and I've only done a pretty small amount
of assembly-language programming on the DEC-10 (or PDP-10) besides much
more FORTRAN, but the reason for me to learn MACRO-10 was byte handling,
so let me tell you...

Allison wrote:
> 6bits was the "byte" size for the PDP-8 (swap acc halves).
> 9bits was the byte size for the PDP-10, I believe IBM360 and CDC6600
> 12 bits was link-8, PDP-8 and PDP-12 (likely others).
> 9/18 the pdp7 (first home of unix).

One of the more interesting features of PDP-10 architecture was that
there is no fixed byte size. The instructions dealing with bytes (e.g.,
ILDB = Increment and LoaD Byte) address part of a 36-bit word by using a
so-called "byte pointer", which is a (36-bit) word that defines the
address (18 bits) and size (6 bits, IIRC) of the bytes being handled.
This way, the same ILDB instruction can handle 5-bit bytes while reading
old paper tapes as conveniently as 8-bit bytes when handling
multinational character sets.

Common byte sizes were 6 (for the SIXBIT code, a reduced character set
for use in the file system and other places to encode identifying names)
and 7 (for ASCII, parity not being stored). The 7-bit bytes left you
with one bit unused, and 5 (yes, five!) characters could be stored in a
word. This confused many FORTRAN-IV programs: they relied on handling
strings in INTEGER arrays, and assumed the INTEGER*4 data type to be
able to store four characters in 32 bits...

A typical example was the FLECS translator: to port this from a 32-bit
Siemens system to the 36-bit DEC-10, I had to rewrite the string
manipulation routines as well as all the DATA statements that contained
strings (regroup from four to five characters per INTEGER word). Later,
replacing two FORTRAN routines with MACRO-10 made the translator run at
about 2.5 times the original speed.

If anybody wants to know more about this machine, let me know: what
memory doesn't serve right any more will happily get looked up in "the
Gorin", something like the bible for MACRO-10 programmers. I still have
it, and you'll not find mine at eBay as long as I can read it myself.

Andreas Freiherr
Vishay Semiconductor GmbH, Heilbronn, Germany
Received on Mon Apr 22 2002 - 11:30:45 BST

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:34:32 BST