A83: PUSH/POPs...


[Prev][Next][Index][Thread]

A83: PUSH/POPs...




As I write this, I am looking at the Z80 Microprocessor Instruction Set
Summary by Jonathon Bowen.  Based on the PUSH/POP section, it says:

POP xx       xx=(SP)+
PUSH xx      -(SP)=xx

Where SP is the Stack Pointer register and xx is IX, IY, AF, BC, DE, or HL.
 I have two questions:

1)  Upon a PUSH, is the Stack Pointer decremented BEFORE or AFTER the
register is stored on the stack?

2)  How are the registers stored on a PUSH?  Are they stored:

FORWARD?
--------
$FD00  00 00 00 00 00 00 00 00
$FD08  00 00 00 00 00 00 00 00
...
$FFF0  00 00 00 AF AF BC HL ED


OR BACKWARD?
------------
$FE00  00 00 00 00 00 00 00 00
$FE10  00 00 00 00 00 00 00 00
...
$FFF0  00 00 00 FA FA CB LH ED


Thanks in advance!


        Thomas J. Hruska -- shinelight@detroit.crosswinds.net
Shining Light Productions -- "Meeting the needs of fellow programmers"
                   http://www.shininglightpro.com/


Follow-Ups: