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

C++, What are virtual Functions

What are virtual Functions

Pipe, Your shell should accept and execute the pipe "|"  operator. This wil...

Your shell should accept and execute the pipe "|"  operator. This will look like the following: | The functionality of this operator is to execute command1 and send i

How many methods used to control traffic flowing in-out, How many methods u...

How many methods used to control traffic flowing into and out of the network by firewall? Firewalls utilize one or more of three ways to control traffic flowing into and out of

Illustrate the cache memory operation, Q. Illustrate the Cache Memory Opera...

Q. Illustrate the Cache Memory Operation? It comprises a copy of a part of main memory contents. When a program is running and CPU tries to read a word of memory (instruction o

What is microprocessor, Microprocessor is a program-controlled device, whic...

Microprocessor is a program-controlled device, which fetches the instructions from memory, decodes and implements the instructions. Most Micro Processor is single- chip devices.

What are the lists of signal available, What are the lists of signal availa...

What are the lists of signal available? Terminating and suspending method Physical circumstances Available for the Programmer Fault in power supply

Example of perceptrons, Example of perceptrons: Here as an example fun...

Example of perceptrons: Here as an example function in which the AND boolean function outputs a 1 only but if both inputs are 1 and where the OR function only outputs a 1 then

How to change default drive in dos, Q. How to Change Default Drive in dos? ...

Q. How to Change Default Drive in dos? To modify a default drive type the new drive letter followed by colon (:) and then press Enter.  For example, if the default drive is A a

Java database connectivity, Java Database Connectivity (JDBC) With two...

Java Database Connectivity (JDBC) With two different types of technologies available in the market today viz., the Windows and the Java technologies developed by the Microsoft

Add references dialog box, What is the difference among "using System.Data;...

What is the difference among "using System.Data;" and directly adding the reference from "Add References Dialog Box"?  When you compile a program using command line, you add th

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