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

C Programming, Program about railway reservation system using structure . G...

Program about railway reservation system using structure . Get 10 names,their gender ,address , seats availability according to trains and some extra datas

Describe about the protection features present in ms access, If a programme...

If a programmer doesn't wish to make modifies to the document he can lock the document data and its code from more changes by changing the extension of the file system to .MDE. Cha

Evaluate the damping coefficient, A certain car has suspension modes which ...

A certain car has suspension modes which are uncoupled front to back.  When a person with a mass of 60 kg sits in the rear of a car, in the centre of the seat which is directly ove

Write a perl script, Write a PERL script which takes a file named input.txt...

Write a PERL script which takes a file named input.txt as an input and processes it. The input file has the following format: firstname lastname: pass/fail score%. A sample input f

Finest way to get a reference to the viewport, What is finest way to get a ...

What is finest way to get a reference to the viewport from anywhere in the code? Ans) You can use refs config to set a reference on the Application/Controllers

Example on cyclic distribution of data, Q. Example on Cyclic Distribution o...

Q. Example on Cyclic Distribution of data? !HPF$ PROCESSORS P1(4) !HPF$ TEMPLATE T1(18) !HPF$ DISTRIBUTE T1(CYCLIC) ONTO P1 The result of these instructions is display

Operating-systems/Linux, sir, please give me an source code program for Hie...

sir, please give me an source code program for Hierarchial-Directory-system using any Unix/Linux

Difference between the testing and verification, Difference between the tes...

Difference between the testing and verification. Verification proves conformance with a specification. Testing tries to find cases where the system does not meet its specifi

Paging, specification of paging ram size is 12 frames

specification of paging ram size is 12 frames

.master-slave flip flop, JK, SR, D master FF 1)draw block diagram 2) combin...

JK, SR, D master FF 1)draw block diagram 2) combinational circuits using NOR & NAND gate thank you

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