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

Including the titles, Your company is planning a party for employees, and y...

Your company is planning a party for employees, and you have been asked to set up a spreadsheet to track the attendees and to measure the associated cost. Every employee is permitt

Discuss in detail the subscriber loop systems, Discuss in detail the subscr...

Discuss in detail the subscriber loop systems. Subscriber Loop System: Every subscriber in a telephone network is linked usually to the nearest switching office by means of w

Computer based accounting systems, For the purposes of this assignment, you...

For the purposes of this assignment, you are the accountant for an industrial property development company, Devprop Leasing Co., that typically develops warehouse and industrial co

Programming, how can compare alphabates of two words in c programming ?????...

how can compare alphabates of two words in c programming ?????

C-programing, c-program for the minimum total number of shelves

c-program for the minimum total number of shelves

Floating point format, consider the 8 bit floating point format including s...

consider the 8 bit floating point format including support for normalised nimbers and nonnumeric values.it included 3 bits for mantissa and 4 bitys for excess 7 exponent

Target_parent, TARGET = "_parent" "_parent" is used in a situation whe...

TARGET = "_parent" "_parent" is used in a situation where a frameset file is nested inside another frameset file. A link in one of the inner frameset documents that uses "_par

Direct isp service through leased line, The most expensive method of access...

The most expensive method of accessing Internet is to use leased lines which connect directly to the ISP. This will increase access rate to anywhere between 64 K and 1.5 Mbps, rely

How to attain 180 degree precise phase shift, How to attain 180 degree prec...

How to attain 180 degree precise phase shift? Never tell using inverter: a. DCM an inbuilt resource into most of FPGA can be arranged to get 180 degree phase shift. b. BU

Difference between visual basic, Visual basic is useful if you are planning...

Visual basic is useful if you are planning to make the programs from scratch. This language helps you in producing Active x controls, exe files, etc. Visual script is a powerful t

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