CPU Description
Program variables generally reside in the data segment, referenced by
the data segment 0 register (DS0) [DS]. The offset of each variable
within the data segment is referenced by a result known as an
effective address.
The effective address is calculated from any
combination of the displacement, base, and index registers. This
provides for a large number of addressing modes.
Strings are a special case of data references. The segment register
used to point to the source string is the DS0 [DS] register; its offset
into the source data segment is pointed to by the IX [SI] register. The
segment register used to point to the destination string is the DS1 [ES]
register. Its offset into the destination data segment is pointed to by
the IY [DI] register.
Program Counter (PC) [IP]
The program counter is a 16-bit binary counter. It contains the
segment offset address of the next instruction that the Execution Unit
(EXU) is to execute.
Each time the microprogram fetches an
instruction from the instruction queue,
the PC [IP] is also
incremented. A new value is loaded into the PC [IP] each time one of
the following instruction types executes: branch, call, return, or break
instruction. At this time, the contents of the PC [IP] are the same as
the Prefetch Pointer (PFP).
6-5