It can not have subroutine call instruction ,
For 8085: Stack pointer is a special purpose 16-bit register in the Microprocessor, which holds the address of the top of the stack.
The most typical use of a hardware stack is to store the return address of a subroutine call. When the subroutine is finished executing, the return address is popped off the top of the stack and placed in the Program Counter register, causing the processor to resume execution at the next instruction following the call to the subroutine.
You push items onto the stack and pop them off. In a microprocessor, the stack can be used for both user data (such as local variables and passed parameters) and CPU data (such as return addresses when calling subroutines).
The actual implementation of a stack depends on the microprocessor architecture. It can grow up or down in memory and can move either before or after the push/pop operations.
Operation which typically affect the stack are:
- subroutine calls and returns.
- interrupt calls and returns.
- code explicitly pushing and popping entries.
- direct manipulation of the SP register.
@ http://stackoverflow.com/questions/1464035/what-is-a-stack-pointer-used-for-in-microprocessors
@ http://en.wikipedia.org/wiki/Call_stack
Necessary steps to implement a subroutine The stack pointer register must be initiali zed ,preferably at the highest memory lo cation of the R/W memory. The call instruction should be used in the main program accompanied by the RET i nstruction in the subroutine @ http://www.slideshare.net/safinbiswas/stack-in-microprocessor-8085presantation