Explain call and return statements, Computer Engineering

Assignment Help:

Q. Explain Call and Return Statements?

CALL:

      CALL X    Procedure Call to procedure/function named X

  CALL instruction causes the following to happen: 

1.  Decrement the stack pointer so that we won't overwrite last thing put on stack

(SP <---SP - 1)

901_Call and Return Statements.png

Figure: Call and Return Statements

2.  The contents of PC that is pointing to NEXT instruction the one just after CALL is pushed onto stack and M [SP] <--- PC.

3.  JMP to X address of the start of subprogram is put in PC register.This is all a jump does. So we go off to the subprogram though we have to remember where we were in calling program which means that we should remember where we came from so that we can get back there again. 

PC <--- X 

RETN:

RETN      Return from procedure.   

RETN instruction causes following to happen: 

1.  Pops the stack to produce an address/label.If correctly used, the top of the stack will comprise the address of next instruction after the call from that we are returning; it's this instruction with that we want to resume in calling program.

2.  Jump to popped address it implies that put the address into PC register.

 PC <---  top of stack value; Increment SP.


Related Discussions:- Explain call and return statements

Write an interrupt routine to handle division by zero, Q. Write an interrup...

Q. Write an interrupt routine to handle 'division by zero'? This file can be loaded just like a COM file though makes itself permanently resident until the system is running.

Ground substitution, Ground substitution: Here the act of performing a...

Ground substitution: Here the act of performing an instantiation is a function like there is only one possible outcome means we can write it as a function. And the notation Su

Shell script, shell script for addnames that has to be called as class list...

shell script for addnames that has to be called as class list in the name of the class list file and username is a particular student''s username

Explain readers-writers problem, Explain Readers-writers problem. Read...

Explain Readers-writers problem. Readers-writers problem: Assume that a data object (as a file or record) is to be shared between several concurrent processes. The readers ar

Flowchart, How to calculate the flowchart

How to calculate the flowchart

What is said to be side effect, What is said to be side effect? When a ...

What is said to be side effect? When a location other than one explicitly named in an instruction as a destination operand is affected, the instruction is said to have a side e

Define interrupt, Define interrupt. An interrupt is any exceptional eve...

Define interrupt. An interrupt is any exceptional event that causes a CPUU to temporarily transfer control from its present program to another program , an interrupt handler th

What is difference between cobol and vs cobol ii, In using COBOL on PC we h...

In using COBOL on PC we have only flat files and the programs can access only limited storage, while in VS COBOL II on M/F the programs can access up to 16MB or 2GB depending on th

Does weblogic jms support clustering, WebLogic JMS handles cluster-wide, tr...

WebLogic JMS handles cluster-wide, transparent access to destinations from any server in the cluster. A system administrator can set up cluster-wide, transparent access to destinat

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd