3. STACK
AA
33
2F
0001
0000
0003
0002
0004
0005
0006
0007
0008
0009
2000 LXI SP
0009
SP=0009
2003 LXI H
2F332006 PUSH H
PC=2000
PC=2003
PC=2006
When PUSH instruction is
executed
1. SP will be decremented by
1
2. H will be inserted into the
memory location pointed
by stack pointer
3. Again SP will be
decremented by 1
4. L will be inserted into the
new memory location
pointed by SP
SP=0008
SP=0007
H L
2F 33
EXAMPLE OF PUSH INSTRUCTION
5. SUBROUTI
NE
Memory address Mnemonics, operands
2000 LXI SP,20CD H
2003 LXI H,0108 H
2006 MVI B,0F H
2008 CALL 2060 H
200B DCR B
2060 PUSH H
2061 PUSH B
2062 MVI B,05H
2065 POP H
2066 POP B
2067 RET
0F
CB
08
01
STACK
20CD SP=20CD
REGISTE
R
B C H
0F
L
08
2000
2006
2003
2008
2060
2062
2061
2065
MAIN
MEMORY
SUBROUTINE
2066
2067
200B
20CC
20CB
20CA
00 01 080F 05 01