4 ms·
Yes but PDP-10 is pretty good: there is only one instruction format, so the instruction set is very uniform. It's, shall we say, delightfully weird in its supp
by jhallenworld 2y ago
Yes but PDP-10 is pretty good: there is only one instruction format, so the instruction set is very uniform.
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.
- DonHopkins 2y agoArbitrarily sized bytes from 1 to 36 bits, and sub-word byte pointers, and indirect pointers! (You can do a lot with those extra 18 bits above the address lines, it's not just for consing!) https://github.com/PDP-10/documents/blob/master/mirror/www.inwap.com/pdp10/usenet/its-pdp10.info 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.