Remarks on the instruction set

In the hindsight, the instruction set might be desinge slightly different.

Load and Store

As the machine has a deposit and clear accumulator ( C ) instruction, the B (bring) instruction is dispensible, as the same can be achieved by adding the memory to the cleared accumulator (see PDP-8). This does neither cost memory nor time, unless in highly optimised programmes where there are jumps to the addition.

The H (hold) instruction could also be spared, as the sequence of C and A with the same address do the same, but with a memory and heavy time penalty. Not only are two words instead of one needed, the time is significantly larger, as one extra drum rotation is needed.

A quick means to set a memory cell to zero would, however, be positive. As the only way to change a memory cell is to store the contents of the accumular, one is tempted to write two C instructions with the same target in a row, as the first transfer to memory is harmless in so far as it is overwritten by the next instruction, and this takes one drum rotation. However, setting a memory cell to anything else requires to load this value before, and that this value is zero is not very often.

While for numerical calculations, there is no need to have a conditional transfer if the accumulator is zero, and defensive programming would anyhow not check calculations for exactly zero, but it would be useful after the extract ( E ) instruction to check if the bit pattern is zero, instead of subtracting the constant 1, provided that the sign bit is clear.

Note: In the Operations Manual for the input ( I ) instruction, it is written that

... the track portion of the address indicates the first four bits to enter the accumulator

This feature is neither understood nor seems to be present, as elsewhere always the form I000 is used.


Log In