Operate Instructions on the CDC 160

This document is one section of the CDC 160 Programmer's Reference Manual.

Index


Operate Instruction Format

            11 10 09 08 07 06 05 04 03 02 01 00
            ___________________________________
           |  |  |  |  |  |  |  |  |  |  |  |  |
           |__|__|__|__|__|__|__|__|__|__|__|__|
           |                 |                 |
           |     Opcode      |    Extension    |
           |                 |                 |
           |     6-bit F     |     6-bit E     |

Shift Instructions

000001000010 - Shift Left

A is circularly shifted one place left.

000001000011 - Shift Left 2

A is circularly shifted two places left. This instruction is present only in serial number 37 and above.

000001001000 - Shift Left 3

A is circularly shifted three places left.

000001001001 - Shift Left 6

A is circularly shifted 6 places left. This instruction is present only in serial number 37 and above.

000001001010 - Multiply by 10

A is multiplied by 10. This is a microcoded combination of shifting left one and three times. It is apparent that, in the original design, there was a hope that this group of instructions could be expanded to multiplication by other small constants, where the constant would appear as the literal in the E field.

000001001011 - Multiply by 100

A is multiplied by 100. This instruction is present only in serial number 37 and above. Here, we see the abandonment of the plan inferred from the original instruction coding.

Control Instructions

000000000000 - Halt

111111111111 - Error

The error and halt instructions operate identically. The CPU stops and can only be restarted from the console by pressing the RUN switch.

000001000001 - Transmit Program Counter to Accumulator

This instruction was present in serial number 37 and above. Prior to this, the CDC 160 had no procedure call instruction. With the addition of this instruction, procedure calls with linkage through the accumulator could be done with a two instruction sequence.