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 are the four linq providers that .net framework ships, 1. LINQ to Obje...

1. LINQ to Objects - Implements a LINQ query against a collection of objects 2. LINQ to XML - Implements an XPATH query against XML documents 3. LINQ to SQL - Implements LINQ

Disadvantages of mpi, Disadvantages of MPI  Performance is restric...

Disadvantages of MPI  Performance is restricted by communication network between the nodes It can be harder to debug Needs more programming changes to go from seri

Returns information about present virtual machine, Q. Returns information a...

Q. Returns information about present virtual machine? int pvm_parent( void ) Returns the tid of process which spawned the calling process.  int pvm_tidtohost(

Give regular expression for real number, Develop a regular expression for R...

Develop a regular expression for Real number and Real number with optional fraction (i) A regular expression for real number is [+ | -] (d)+. (d)+ (ii) A regular expression

Binary tree can be converted in to its mirror image, A binary tree can be c...

A binary tree can be converted in to its mirror image By traversing it in Preorder

Use of intrinsic functions in fortran, Q. Use of Intrinsic Functions in FOR...

Q. Use of Intrinsic Functions in FORTRAN? HPF initiates some new intrinsic functions also to those defined in F90. The two mainly often used in parallel programming are system

Short notes on model primitives in director mx 2004, Question: (a) Prep...

Question: (a) Prepare short notes on the model primitives in Director MX 2004. (b) Therefore using the box primitive write codes to prepare a new model resource of length 50

Explain naming convention in arrays, Explanation Arrays in many programm...

Explanation Arrays in many programming-languages generally show a fixed list of values (e.g. a list of lastnames). Though within SQABasic the size for an array can either be fix

Telecommunication, name the switching schemes used in a digital exchange. h...

name the switching schemes used in a digital exchange. ho call processing takes place?

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