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

What is the difference among a canvas and a scroll panel, Canvas is a compo...

Canvas is a component. ScrollPanel is a container. Canvas is a rectangular area where the application can draw or trap input events. ScrollPane executes horizontal and vertical scr

Dos function calls, INT 21H supports about 100 different functions. A funct...

INT 21H supports about 100 different functions. A function is recognised by putting the function number in AH register. For illustration if we want to call function number 01 then

What a header represents in CGI document, A Header in CGI document can repr...

A Header in CGI document can represent? A header into CGI document can show format of the document and the location if document used to various URL.

Addition of array elements using two processors, Q. Addition of array eleme...

Q. Addition of array elements using two processors? In this example we have to find sum of all elements of an array A of size n. We will divide n elements in 2 groups of roughl

Define modem, Define Modem. A modem changes digital signals into audio ...

Define Modem. A modem changes digital signals into audio tones to be transmitted over telephone lines and also changes audio tones from the lines in digitals signals for machin

Simplify the Boolean expression, The Boolean expression A‾.B + A.B‾ + A.B i...

The Boolean expression A‾.B + A.B‾ + A.B is equivalent to ? Ans. The Boolean expression A‾ .B + A. B‾+ A.B is equivalent to A + B (A‾ .B + A. B‾+ A.B = B( A‾ + A) + A. B‾ =

Illustrate the state diagrams of dynamic modelling, Dynamic modelling: stat...

Dynamic modelling: state diagrams A state diagrams allow you to further explore operations and attributes which need to be defined for an object. They comprises of sets of sta

Define coupling, Define Coupling? Coupling means the measure of interco...

Define Coupling? Coupling means the measure of interconnection between modules in a program structure. It depends on the interface problem between modules.

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

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 betw   #includ

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