MIT PDP-10 'Info' file converted to Hypertext 'html' format by Henry Baker

Previous Up Next

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.

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.