(SP-2) <- IYl, (SP-1) <- IYh
PUSH
IY
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 | |
---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | $FD |
1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | $E5 |
The contents of Index Register IY are pushed to the external memory last-in, first-out (LIFO) stack. The Stack Pointer (SP) Register pair holds the 16-bit address of the current top of the Stack. This instruction first decrements SP and loads the high-order byte of IY to the memory address specified by SP; then decrements SP again and loads the low-order byte to the memory location corresponding to this new address in SP.
None
If Index Register IY contains $2233 and the Stack Pointer contains 1007, then upon execution of
PUSH IY
memory address $1006 contains $22, memory address $1005 contains $33 and the Stack Pointer contains $1005