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

Show the layout of dvorak-dealey keyboard, Q. Show the layout of Dvorak-Dea...

Q. Show the layout of Dvorak-Dealey keyboard? This was one keyboard layout designed to be a challenger to QWERTY layout. This was designed by August Dvorak and William Dealey a

What is insertion point, A vertical flashing line that permits the user whe...

A vertical flashing line that permits the user where text will be inserted.

C LANGUAGE, 4) A positive integer is entered through the keyboard;write a ...

4) A positive integer is entered through the keyboard;write a function to find the binary equivalent of this number using recursion.

Interpolation algorithm, Design two matlab algorithms for enlarging the 256...

Design two matlab algorithms for enlarging the 256x256 images into 512x512 images by using bilinear and bicubic interpolations   a)  Evaluate the interpolated images with the

Explain conditions for the critical section problem solution, What are the ...

What are the properties which a data item should possess to implement a critical section? The Critical Section Problem Solution should satisfy the following conditions: 1.

Illustrate diffrent types of modems, Q. Illustrate Diffrent types of modems...

Q. Illustrate Diffrent types of modems? There are four different types of modems: half-duplex, full-duplex, synchronous, and asynchronous.With half-duplex modems data can be tr

what is ecc memory, Error-correcting code memory (ECC memory) is a type of...

Error-correcting code memory (ECC memory) is a type of computer data storage that can notice and correct the more general kinds of internal data corruption. ECC memory is used in m

Explain sample instruction format of mips instruction, Q. Explain Sample In...

Q. Explain Sample Instruction Format of MIPS instruction? All MIPS instructions are of same size and are 32 bits long. MIPS designers chose to keep all instructions of same len

Describe the concepts of information systems delivery cycle, Write a 2-3 pa...

Write a 2-3 page paper (excluding title, abstract, introduction, and references) describing the concepts of the Information Systems Delivery Cycle (SDLC) and how the Project Manage

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