IBM 1401 registers
Address registers
The IBM 1401 processor has three address registers that the program can
affect, and one optional address register the program cannot affect or
examine. All address registers can be examined from the console.
Index registers are actually memory fields, not
proper registers.
I-address register
The I-address register contains the instruction address. It is
incremented by the normal sequence of instruction execution, or changed
by a branching instruction.
A-address register
The A-address register contains the address of the first operand of an
operation. It is initially set from the A field of an instruction, and may be changed during
execution of the instruction.
B-address register
The B-address register contains the address of the second operand and/or
destination result of an operation. It is initially set from the B
field of an instruction, and may be
changed during execution of the instruction. If the advanced
programming feature is installed, after an instruction that branches is
executed, it contains the address following the branch instruction.
This is useful for subroutine linkage.
O-address register
If the process overlap special feature is installed, the 1401 processor
includes the O-address register, which is used during overlapped
input/output operations. It is not affected by and cannot be examined
by the program.
Data registers
The 1401 processor includes three one-character data registers. They
are used during instruction execution but cannot be otherwise affected
or examined by the program.
B register
The B register is the register through which all data pass between the
processor and memory.
A register
The A register contains a character from the first operand of an
operation. During instruction fetching the B register is copied to the
A register.
OP register
The OP register contains the instruction OP code.
Instruction length register
The instruction length register contains the instruction length.