The PDP-10 had arbitrarily sized byte pointers! Did
anybody ever implement a C compiler on that hardware?
https://stackoverflow.com/questions/3153141/defining-a-byte-in-c
<https://stackoverflow.com/questions/3153141/defining-a-byte-in-c>
https://en.wikipedia.org/wiki/36-bit <https://en.wikipedia.org/wiki/36-bit>
As DIGEX teased the VAX weenies at DECUS:
“If you’re not playing with 36 bits, you’re not playing with a full DEC!"
-Don
Re: PDP-10 backend for gcc
https://gcc.gnu.org/ml/gcc/2000-09/msg00073.html
<https://gcc.gnu.org/ml/gcc/2000-09/msg00073.html>
ftp://kermit.columbia.edu/kermit/dec20/assembler-guide.txt
<ftp://kermit.columbia.edu/kermit/dec20/assembler-guide.txt>
2.12. Byte Instructions
In the PDP-10 a "byte" is some number of contiguous bits within one word. A
byte pointer is a word that describes the byte. There are three parts to the
description of a byte: the word (i.e., address) in which the byte occurs, the
position of the byte within the word, and the length of the byte.
A byte pointer has the following format:
Bit 000000 000011 1 1 1111 112222222222333333
Position 012345 678901 2 3 4567 890123456789012345
_________________________________________
| | | | | | |
| POS | SIZE |U|I| X | Y |
|______|______|_|_|____|__________________|
- POS is the byte position: the number of bits remaining in the word
to the right of the byte.
- SIZE is the byte size in bits.
- The U field is reserved for future use and must be zero.
- I, X, and Y are the same as in an instruction.