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

Combinatorial and scheduling problems, Combinatorial and Scheduling Proble...

Combinatorial and Scheduling Problems: One class of problems is concerned with specifying optimal scheduled. A classical example is the Travelling Salesperson Problem where

Algorithms, Data array A has data series from 1,000,000 to 1 with step size...

Data array A has data series from 1,000,000 to 1 with step size 1, which is in perfect decreasing order. Data array B has data series from 1 to 1,000,000, which is in random order.

Explain 100 line exchange with two-motion line finders, Explain 100 line ex...

Explain 100 line exchange with two-motion line finders. Design: In such design, here are 24 line finders. When any of the 100 subscribers has to find access to any of the 24

Design odd-even transposition algorithm, Q. Design Odd-Even Transposition A...

Q. Design Odd-Even Transposition Algorithm? Algorithm: Odd-Even Transposition for I=1 to N     {            If (I%2 != 0) //i.e. Odd phase            {

Explain concept of temporal parallelism, Concept of Temporal Parallelism  ...

Concept of Temporal Parallelism  In order to make clear what is meant by parallelism inherent in solution of a problem, let's discuss an example of submission of electricity b

A digital signature, A digital signature is   encrypting information

A digital signature is   encrypting information

DLD, Construction of j-k using 4-bit shift register

Construction of j-k using 4-bit shift register

How do we call one script-fu script from another, he trick to calling scrip...

he trick to calling script-fu-scripts from any more script is to just reference the main define for the script and not to try to use the pdb call. All the scripts in script-fu shar

Microprocessor 8086, i want to know complete detail of 8086 microprocessor ...

i want to know complete detail of 8086 microprocessor such as memory segment ,interface with ram rom ect

C++ program, A palindrome is a string that reads the same from both the end...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

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