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

How do you make an append query, Append query can be used if you would like...

Append query can be used if you would like to add new rows of data to an already active table. The process of making an append query follows these steps they are. ? Basic step

Bank prevent an infinite loop, a) Write a program that figures out how long...

a) Write a program that figures out how long it will take to pay off a credit card by making payments of $10 every month. Take care to avoid infinite loops. (How would a bank preve

Computer systems principles, Your program should print the inverted map to ...

Your program should print the inverted map to the screen (using a format similar to the inverter project, but you will print out the url values instead of document IDs). You can pr

What are micrographics, What are micrographics? A micrographic is an im...

What are micrographics? A micrographic is an image or photographic reproduction of an object which is then changed to film. Micrographics are frequently used for permanent reco

Define processor clock, Define processor clock. Processor clock is expl...

Define processor clock. Processor clock is explained as the time periods in which all operations and data transfer within the processor take place.

Structure of internet servers address, Structure of Internet Servers Addres...

Structure of Internet Servers Address Structure of an Internet server's address keyed into a client's software is as below: http://www.expertsmind.com Where: htt

Basic of C, write algorithm and draw flowchart for exchange the values of t...

write algorithm and draw flowchart for exchange the values of two variables.

Navigation to a subsequent screen, Navigation to a subsequent screen can be...

Navigation to a subsequent screen can be specified statically/dynamically Yes, navigation to a subsequent screen can be specified statically.

Explain the resources of an operating system, Explain the resources of da...

Explain the resources of data structure is used by an operating system to keep track of process information? Explain A process is a program in execution. An operating system

Write a program to find the area under the curve y = f(x) be, Write a progr...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b

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