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

Impact of information systems, What are the primary impacts of information ...

What are the primary impacts of information systems on an organization (employer, club, school, religious, etc..) for which you are familiar? What are the primary ways in which

Lfu, advantages of lfu

advantages of lfu

How sensors uses in real time process control, How sensors uses in real tim...

How sensors uses in real time process control Sensors send data (through an analogue to digital converter - ADC) to a microprocessor or computer that decides whether or not to

Define the programmable logic devices (pld), Define the Programmable logic ...

Define the Programmable logic devices (PLD)? In the world of digital electronic systems there are three essential kinds of devices 1.memory, 2.microprocessors, and 3.logic. The

Wrapping database calls into mts transactions, What is the advantage of wra...

What is the advantage of wrapping database calls into MTS transactions? Ans) If database calls are made within the context of a transaction, aborting the transaction will undo a

Java, what is inheritence and all types in java?

what is inheritence and all types in java?

How to add noise to an image in matlab, The function noise.m, now installed...

The function noise.m, now installed on ashland too, adds Gaussian, salt, uniform and pepper, additive or multiplicative noise to an image

Define operation code, Define Operation code. The Operation code of an ...

Define Operation code. The Operation code of an instruction is a group of  bits that explain such operations as add, sub, ,shift, mul and complement.

Symbol for the new euro currency in my spreadsheet, How can I go in the sym...

How can I go in the symbol for the new Euro currency in my spreadsheet? Ans) Microsoft suggestted a new Tahoma font with the Euro symbol.

What are the kernel threads, What are the Kernel threads Kernel threads...

What are the Kernel threads Kernel threads are supported directly by the operating system .Thread creation; scheduling and management are done by the operating system. Thus the

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