Memory-Reference Instructions
Memory-reference instructions perform operations that involve accessing and manipulating data stored in memory. These operations are precisely defined using register transfer notation (RTN). Each instruction's execution requires a sequence of microoperations due to the need to read data from memory into a register before processing. This documentation details the function and microoperations of each memory-reference instruction.
List of Memory-Reference Instructions
The seven memory-reference instructions are:
- AND (Binary code: 000)
- ADD (Binary code: 001)
- LDA (Binary code: 010)
- STA (Binary code: 011)
- BUN (Binary code: 100)
- BSA (Binary code: 101)
- ISZ (Binary code: 110)
Each instruction is decoded by a specific output from the operation decoder, represented as for . The execution of these instructions begins at timing signal . The effective address of the instruction is in the address register (AR), placed there during if , or during if .
AND to AC
The AND instruction performs a bitwise AND operation between the accumulator (AC) and the memory word specified by the effective address (EA), storing the result in AC.
Symbolic Description:
Microoperations:
ADD to AC
The ADD instruction adds the memory word at EA to the content of AC, storing the sum in AC and the carry out in the E (extended accumulator) flip-flop.
Symbolic Description: ,
Microoperations:
LDA: Load to AC
The LDA instruction loads the memory word at EA into AC.
Symbolic Description:
Microoperations:
STA: Store AC
The STA instruction stores the content of AC into the memory word at EA.
Symbolic Description:
Microoperations:
BUN: Branch Unconditionally
The BUN instruction branches the program to the instruction specified by EA.
Symbolic Description:
Microoperations:
BSA: Branch and Save Return Address
The BSA instruction saves the return address in memory and branches to a subroutine.
Symbolic Description: ,
Microoperations:
ISZ: Increment and Skip if Zero
The ISZ instruction increments the memory word at EA and skips the next instruction if the incremented value is zero.
Symbolic Description: , if then
Microoperations:
Control Flowchart
The control flowchart for the execution of memory-reference instructions shows the sequence of microoperations for each instruction. Each path corresponds to a specific instruction code value, and the sequence counter (SC) is cleared to 0 at the end of each instruction to initiate the next instruction cycle.

Timing Signals and Sequence Counter
The longest instruction, ISZ, requires seven timing signals ( to ). Although only seven timing signals are needed, a 4-bit sequence counter (SC) is used to provide additional signals for other instructions and operations.
