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

Types of security features employed in client server network, What are the ...

What are the types of security features employed in client server kinds of network? Security features employed in Client-Server types of network are as illustrated below: a)

How does VB.NET achieve polymorphism, How does VB.NET/C# achieve polymorphi...

How does VB.NET/C# achieve polymorphism?  VB.Net / C# give polymorphism through the following mechanisms: 1. Inheritance - base class gives overridable methods which are re-

Disadvantages of edi(electronic data interchange), Disadvantages  1.  T...

Disadvantages  1.  The X12 standard is so large and general  2.  EDI communications negotiate a technical agreement to explain exactly what subset of EDI they will use

What is stack, Stack is a portion of RAM used for saving the content of Pro...

Stack is a portion of RAM used for saving the content of Program Counter and common purpose registers. LIFO stacks, also called as "push down" stacks, are the conceptually easi

The major underlying concepts of object orientation, Objects, messages, cla...

Objects, messages, class, inheritance and polymorphism are the major concepts of object orientation.

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

Flowchart, How to calculate the flowchart

How to calculate the flowchart

Labels in the sub trees, A sorting method which uses the binary tree concep...

A sorting method which uses the binary tree concept such that label of any node is larger than all  the labels in the sub trees, is called A Sorting method which uses the binar

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