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

Using which ARQ, Using               ARQ, a sending modem must wait for a ...

Using               ARQ, a sending modem must wait for a return ACK for each sent block before sending the next block. (A)  discrete                                      (B)

How many services are supported by internet, How many services are supporte...

How many services are supported by internet? The firewall software assists at least Internet services: HTTP, FTP, Gopher, SMTP and Telnet. DNS name resolution, preferably th

#logic function, Minimize the following logic function using K-maps and rea...

Minimize the following logic function using K-maps and realize using NAND and NOR gates. F(A,B,C,D) =?_m(1,3,5,8,9,11,15) + d(2,13).

Develop a simple patient management system, In the first part of Assignment...

In the first part of Assignment 2A you will develop a simple Patient class, representing an Patient who is to be admitted for a minor procedure that only requires a 1-2 day stay in

Differentiate between static and dynamic memory, Differentiate between stat...

Differentiate between static and dynamic memory? The static RAM is simpler to use and has shorter read and write cycles. One of the main applications of static RAM is in execut

Explain memory write operation, Q. Explain Memory Write operation? Memo...

Q. Explain Memory Write operation? Memory write operation transfers content of a data register to a memory word M selected by the address. Presume that data of register R1 is t

Economic argument for good design, One way of demonstrating the importance ...

One way of demonstrating the importance of good ID is by showing tangible benefits that can be talked about in cash terms. Within a business, good ID can lead to benefits such as h

Iot, what is ardiuno explain its working

what is ardiuno explain its working

What is the advantage of running the vuser as thread, VuGen gives the facil...

VuGen gives the facility to use multithreading. This enables more Vusers to be run pergenerator. If the Vuser is run as a process, the similar driver program is loaded into memory

An example subroutine call, Create your own Subprogram that does *not* use ...

Create your own Subprogram that does *not* use any input parameters. You decide the theme. You should give the pseudocode and an example Subroutine call. Be sure to give an overvie

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