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

Describe the operation of parallel in parallel out, Describe the operation ...

Describe the operation of parallel in parallel out (PIPO) shift register. Ans:  Parallel In Parallel Out: By the name suggests, in parallel in parallel out that is a

What is the use of digital switch, What is the use of digital switch? ...

What is the use of digital switch? Digital switch: This is a device which handles digital signals generated at or passed via a telephone company’s central office further

How the conversation speed of A/D converter is maximum, The conversation sp...

The conversation speed of an analog to digital converter is maximum with which technique? Ans. With parallel comparator AD converter technique the conversation speed of an ana

Can you list out some of enhancements in verilog 2001, Can you list out som...

Can you list out some of enhancements in Verilog 2001? In  earlier  version  of  Verilog,  we  use  'or'  to  specify  more  than  one  element  in  sensitivity  list.  In Veri

What is memory controller, What is memory controller? A memory controll...

What is memory controller? A memory controller is a circuit which is interposed among the processor and the dynamic memory. It is used for performing multiplexing of address bi

Performance of pipelines with stalls, Performance of Pipelines with Stalls:...

Performance of Pipelines with Stalls: A stall is reason of the pipeline performance to degrade the ideal performance.                                             Average in

Write policy of cache memory, Q. Write Policy of cache memory? If conte...

Q. Write Policy of cache memory? If contents of a block in cache are changed then it's essential to write it back to main memory before replacing it. Write policy determines wh

Explain busy hour call attempts in telephone traffic, With reference to tel...

With reference to telephone traffic, explain the terms BHCA. BHCA: The number of call attempts in the busy hour is termed as busy hour call attempts (BHCA) that is an importa

What is partition, What is partition? Partitions divide a system into s...

What is partition? Partitions divide a system into several independent or weakly coupled subsystems, each giving one kind of service. Partitions use peer-peer subsystems.

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