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

Define both fork and vfork, How and when race conditions happen in process ...

How and when race conditions happen in process control? How can it be avoided? b. Differentiate among following functions giving related syntax: (i) fork and vfork (ii) w

is risc always fast, It is fast because it has got separate program and da...

It is fast because it has got separate program and data memory(highly pipelined architecture)

Mip method for the problem solving, 1. Solve the following grouping problem...

1. Solve the following grouping problem using the DCA method. 2.  Use the ROC methodfor the previous problem. 3. Use the MIP method for the problem above assuming a tota

What is master slave kernel, Q. What is Master slave kernel? Master sl...

Q. What is Master slave kernel? Master slave kernel: In this model just one of processors is assigned as Master.  The master is in charge for subsequent activities:  i)

What are the types of operations required for instructions, What are the va...

What are the various types of operations required for instructions?  Data transfers among the main memory and the CPU registers Arithmetic and logic operation on data

Rhythm, Rhythm Rhythm in art refers to the way that your eye moves thr...

Rhythm Rhythm in art refers to the way that your eye moves through a picture and can be thought of in a similar way to rhythm in music. Your eye will move through some picture

Explain about quarter inch cartridge tapes, Q. Explain about Quarter Inch C...

Q. Explain about Quarter Inch Cartridge Tapes? Quarter Inch Cartridge Tapes (QIC Standard): These tape cartridges record information sequentially in a track with one head. Wh

Show the format text in document window, Q. Show the format text in Documen...

Q. Show the format text in Document window? You can format text in Document window by setting properties in Property inspector. First, select the text you want to format and th

Differentiate between http and ftp, Differentiate between http and ftp. ...

Differentiate between http and ftp. HTTP and FTP were developed to make Internet transmission better. FTP is utilized to exchange files among computer accounts, to transfer

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