<%27
7UGT
U/CPWCN
80 2YHUYLHZ
)LJXUH =&385HJLVWHU&RQILJXUDWLRQ
6SHFLDO3XUSRVH5HJLVWHUV
3URJUDP&RXQWHU3&
The program counter holds the 16-bit address of the current instruction
being fetched from memory. The PC is automatically incremented after its
contents have been transferred to the address lines. When a program jump
occurs, the new value is automatically placed in the PC, overriding the
incrementer.
6WDFN3RLQWHU63
The stack pointer holds the 16-bit address of the current top of a stack
located anywhere in external system RAM memory. The external stack
memory is organized as a last-in first-out (LIFO) file. Data can be pushed
onto the stack from specific CPU registers or popped off of the stack to
specific CPU registers through the execution of PUSH and POP instructions.
The data popped from the stack is always the last data pushed onto it. The
*HQHUDO
3XUSRVH
5HJLVWHUV
$FFXPXODWRU
+
6SHFLDO
3XUSRVH
5HJLVWHUV
,QGH[5HJLVWHU
,QGH[5HJLVWHU
6WDFN3RLQWHU
3URJUDP&RXQWHU
,QWHUUXSW9HFWRU
,
+ / /
'('(
%&%%
$
)
$
)
)ODJV $FFXPXODWRU )ODJV
$OWHUQDWH5HJLVWHU6HW0DLQ5HJLVWHU6HW
0HPRU\5HIUHVK
5
,;
,<
63
3&