The assembly language was orthogonal. That is, instructions were divided into operations and address modes. Almost all address modes were available for almost all instructions. (Not really true. Exactly which combinations worked was remarkably irregular and difficult to remember.) |
The designers attempted to make the assembly language was orthogonal. That is, instructions were divided into operations and address modes. Almost all address modes were available for almost all instructions. Many programmers disliked the "near" orthogonality, while others were grateful for the attempt. |
This was a remarkable convenience. However, at the bit level, the person writing the assembler would clearly see that these "instructions" could become any of several different op-codes. It was quite a good compromise because it gave almost the same convenience as a truly orthogonal machine, and yet also gave the CPU designers freedom to fill in the op-code table. |
At the bit level, the person writing the assembler would clearly see that these "instructions" could become any of several different op-codes. It was quite a good compromise because it gave almost the same convenience as a truly orthogonal machine, and yet also gave the CPU designers freedom to fill in the op-code table. |