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

Difference between static call and dynamic call, In the case of Static call...

In the case of Static call, the called program is a stand-alone program, it is an executable program. During run time we can call it in our called program. As about Dynamic call, t

Basic working of network layer, Q. Basic working of Network layer? Net...

Q. Basic working of Network layer? Network layer: Network layer is responsible for routing a packet within the subnet that is, from source to destination nodes across numerou

Formal analysis of visual elements, Formal Analysis: The second step o...

Formal Analysis: The second step of the art critiquing process often begins with an analysis of the artworks formal elements and how they are the organised. The formal elem

What is the difference among choice and list, A Choice is displayed in a co...

A Choice is displayed in a compact form that needs you to pull it down to see the list of available choices and only one item may be selected from a choice. A List may be shown in

Illustrate the multiplication algorithms, Multiplication Algorithms Mul...

Multiplication Algorithms Multiplication of the two fixed-point binary numbers in signed magnitude representation is done with paper and pencil through a process of successive

Write decoder functionality in only one statement in verilog, Write decoder...

Write decoder functionality in only one statement in verilog module decoder( // Outputs dout, // Inputs din ); input [3:0] din; output [15:0] dout;

Illustrate about the three state table buffers, Three state table buffers ...

Three state table buffers Three state table buffers: A bus system can be constructed with the help of three state gates instead of multiplexers. A three states gate is digital

What is sap locking, What is SAP locking? It is a mechanism for describ...

What is SAP locking? It is a mechanism for describing and applying logical locks to database objects.

C language, Smugglers are becoming very smart day by day. Now they have dev...

Smugglers are becoming very smart day by day. Now they have developed a new technique of sending their messages from one smuggler to another. In their new technology, they are send

How to information transfer from one register to another, Q. How to Informa...

Q. How to Information transfer from one register to another? Information transfer from one register to another is designated in symbolic notation by a replacement operator. For

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