Well...the -11 does have a super-clean assembly language. That machine was a joy to work on.
Sorry, I meant objectively better in an absolute sense. Just that it's not like the -11 is a sequel to the -10 like a 486 to a 386 is. But you are absolutely right, there are definite strengths of each platform from an enthusiast perspective.
It's, shall we say, delightfully weird in its support of bytes and half-words (addresses).
Also: having 256K words is much better than 64 KB.
https://github.com/PDP-10/documents/blob/master/mirror/www.i...
Byte instructions
In the PDP-10 a "byte" is some number of contiguous bits within one
word. A byte pointer is a quantity (which occupies a whole word)
which describes the location of a 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:
000000 000011 1 1 1111 112222222222333333
012345 678901 2 3 4567 890123456789012345
_________________________________________
| | | | | | |
| POS | SIZE |U|I| X | Y |
|______|______|_|_|____|__________________|
POS is the byte position: the number of bits from the right end of
the byte to the right end of the word.
SIZE is the byte size in bits.
The U field is ignored by the byte instructions.
The I, X and Y fields are used, just as in an instruction, to compute
an effective address which specifies the location of the word
containing the byte.
Here are the byte instructions.
[...] LDB DPB IBP ILDB IDPB [...]
Text strings are typically stored using seven-bit bytes, five per
word. ILDB and IDPB can then be used to step through a string. The
byte pointer should be initialized to 440700,,<address of string>.
Then the first ILDB will increment it to point at the first character
of the string.