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

Explain congestion, Explain CONGESTION. CONGESTION: This is uneconomi...

Explain CONGESTION. CONGESTION: This is uneconomic to provide sufficient equipment to carry entire traffic that could possibly be given to a telecommunication system. Inside

Cloud computing, what is the scope of doing a final year project on cloud c...

what is the scope of doing a final year project on cloud computing?

What is the ccitt standard bandwidth for speech, The CCITT standard bandwid...

The CCITT standard bandwidth for speech is: (A) 20000 Hz                                  (B) 15000 Hz (C) 7000 Hz                                    (D) 3400 Hz Ans:

Html 4.0 element, , an HTML 4.0 element supported by Netscape6 and MSIE, de...

, an HTML 4.0 element supported by Netscape6 and MSIE, defines a set of text which is associated with a specific form element. For illustration, code belo

What do you understand by www, What do you understand by WWW? WWW (Wo...

What do you understand by WWW? WWW (World Wide Web): It is an architectural framework for accessing linked documents outspread over thousands of machines the whole world.

What are the elements of analysis model, What are the elements of Analysis ...

What are the elements of Analysis model? i. Data Dictionary ii. Entity Relationship Diagram iii. Data Flow Diagram iv. State Transition Diagram v. Control Specifica

How do you pass basic types by reference, How do you pass basic types by re...

How do you pass basic types by reference?   In the case of basic types like bool, int, uint, etc. you can in fact choose among the two forms. If you prefix the method parameter

What is the difference between activity and sequence diagram, The following...

The following are the difference among Activity and Sequence Diagrams: A sequence diagram represents the way of processes implement in a sequence. For example, the order of op

Which transistor is used in every cell of eprom, Floating gate Avalanche In...

Floating gate Avalanche Injection MOS (FAMOS) transistor is used in every cell of EPROM.

Determine the registers are available in machines, Determine the registers ...

Determine the registers are available in machines Typical registers, some of which are commonly available in machines. These registers are as follows:- Memory Addres

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