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

C++ language, Write a program to find the area under the curve y = f(x) bet...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

Explain the concept of top-down design for a program, Explain the concept o...

Explain the concept of top-down design for a program. Top down Design: A top-down approach is fundamentally breaking down a system to gain insight into its compositional s

How can i make text in a cell display in multiple lines, When entering word...

When entering word into the cell, press Alt-Enter to insert a line break. When you do so, Excel will automatically give text wrapping to the cell. To reformat existing cells s

What is a message passing system, Distributed System 1. What is a messa...

Distributed System 1. What is a message passing system? Discuss the desirable features of a message passing system. 2. Discuss the implementation of RPC Mechanism in detail.

The alignment of a type ''c'' field in a report, The alignment of a type 'c...

The alignment of a type 'c' field in a report is? ? Left Aligned.

OR, importance of duality concep? Article Source: http://EzineArticles.co...

importance of duality concep? Article Source: http://EzineArticles.com/4133733

Explain virtual memory, In a memory hierarchy system, data and programs are...

In a memory hierarchy system, data and programs are first stored in secondary or auxiliary memory. Program and its related data are brought in main memory for execution. What if th

What is a pipeline hazard, What is a pipeline hazard? Any condition tha...

What is a pipeline hazard? Any condition that causes the pipeline to stall is known as hazard. They are also known as stalls or bubbles.

Platform assignment system, Platform assignment system for the trains in a ...

Platform assignment system for the trains in a railway station cpp program

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