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

Explain about magnetic disk, Q. Explain about Magnetic Disk? A disk is ...

Q. Explain about Magnetic Disk? A disk is circular platter constructed of nonmagnetic material known as substrate, coated with a magnetisable material. This is used for storing

What are types of applets, There are two different parts of applets. Truste...

There are two different parts of applets. Trusted Applets and Untrusted applets. Trusted Applets are applets with predefined security and Untrusted Applets are applets without any

Calculating block size - computer architecture, Calculating Block Size: ...

Calculating Block Size: B A unit of associatively -one tag for B A words B T unit of transfer-B T words to/from primary memory as a unit             One valid bit for

Graph has a minimum spanning tree already computed, Assume that a graph has...

Assume that a graph has a minimum spanning tree already computed.  How fastly can the minimum spanning tree be updated if a new vertex and incident edges are added to G? If the

C++ language, Write a program to find the area under the curve y = f(x) bet...

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. The area under a curve between two points can b

Java, mine sweeper algorithm.

mine sweeper algorithm.

Input - output devices using device controller, Q. Input - output Devices u...

Q. Input - output Devices using Device Controller? A device controller needs not to necessarily control a single device. It can typically control multiple I/O devices. It come

Differentiate between protection and security, Differentiate between protec...

Differentiate between protection and security. Operating system contains a collection of objects, software or hardware. All objects have a unique name and can be accessed by

Give the meaning of spc, SPC stands (A)   Standard Protocol Control ...

SPC stands (A)   Standard Protocol Control (B)   Stored Program Control (C)  Signaling and switching Centre (D)  Signaling Process Center Ans: SPC repres

Assignment, what are the different techniques of biasing a transistor?

what are the different techniques of biasing a transistor?

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