06 CALL & RET - PPSX
06 CALL & RET - PPSX
Subroutines
FACT: MULTIPLY:
2000 MVI A,00 2100 LXI H, 0000
• PUSH PSW
(SP-1) ← A
(SP-2) ← FLAG
SP ← SP – 2
PUSH & POP Contd.)
• POP PSW
FLAG ← (SP)
A ← (SP+1)
SP ← SP + 2
A Simple Program
Write an 8085 ALP to set Flag Status as
SF=1, ZF=0, AC=1, CY=0, and PF=1.
FLAG: SF ZF X AC X PF X CY
1 0 0 1 0 1 0 0 = 94H
MVI B, 00
MVI C, 94H
PUSH B
POP PSW
Subroutines (Revisited)
FACT: MULTIPLY:
2000 MVI A,00 2100 LXIH 0000
• RET
– E.g. RET
PCL ← (SP)
PCH ← (SP+1)
SP ← SP + 2
PC ← Return Address
A Simple Program