Specifications

Processor Description (V40)
Pointers and Index Registers
SP [SP], BP [BP], and IX [SI], IY [DI]
The two 16-bit pointer registers are used primarily for stack
operations. The Stack Pointer (SP [SP]) is the offset to the top of
the stack within the stack segment. This pointer is adjusted
automatically each time a stack operation is performed. The Base
Pointer (BP [BP]) is an offset to any location within the stack
segment. The BP [BP] is useful as a pointer to variables being
passed on the stack. Both pointer registers are accessible to the
programmer.
The 16-bit index registers are used primarily for string operations.
Strings are linear arrays of data that can be organized as words,
bytes, nibbles, or even as bit values. The index registers specify
the offset of the string source (IX [SI]) and destination (IY [DI])
within Data Segment 0 (DS0 [DS]) and Data Segment 1 (DS1
[ES]), respectively. The index registers are adjusted automatically
during string transfers. Both IX [SI] and IY [DI] are accessible to
the programmer.
Program Counter
PC
The program counter is a 16-bit binary counter that contains the
offset address of the next instruction to be executed by the EXU.
The PC is automatically incremented each time the EXU reads an
instruction from the queue. If the instruction causes a branch in
program execution, the PC is programmed with the branch
address. At this point the contents of the PC are the same as the
PFP [IP]. The difference between the PFP [IP] and the PC is that
the PFP [IP] contains the offset of the next instruction to be
fetched by the BCU and the PC contains the address of the next
instruction to be executed by the EXU. The PC is not accessible
to the programmer.
5-12