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

What are the disadvantages of a smart card, What are the disadvantages of a...

What are the disadvantages of a Smart Card? Disadvantages of Smart Cards are as follows: a. The value of money can be depleted and recharged. b. Customers should keep

Running time - metrics for performance evaluation, Running Time - Metrics f...

Running Time - Metrics for performance evaluation: Running time is amount of time consumed in execution of an algorithm for a provided input on N-processor based parallel comp

Difference between blocking and non-blocking, Difference between blocking a...

Difference between blocking and non-blocking Verilog  language  has  two  forms  of  the  procedural  assignment  statement:  blocking  and  nonblocking. The two are distinguis

DBMS SQL Queries, How to fetch random ID from table by SQL query Select ...

How to fetch random ID from table by SQL query Select * from Table_Name order by NewID()

Deductive inferences - artificial intelligence, Deductive Inferences - Arti...

Deductive Inferences - Artificial intelligence: We have described how knowledge can be represented in first-order logic, and how in logic rule-based expert systems expressed ca

Cryptography, Basically I need implement program using LC3 assembly languag...

Basically I need implement program using LC3 assembly language where I can type any message using ASCII code (this will my input). Then read the output in cipher text. It has to be

Java, differentiate between multitasking and multithreading in java

differentiate between multitasking and multithreading in java

What are the 3 segments of the default route, What are the 3 segments of th...

What are the 3 segments of the default route, that is there in an ASP.NET MVC application? Ans)  Segment 1st - Controller Name Segment 2nd - Action Method Name Segment 3r

When a network uses a star topology, A Network uses a star topology if? ...

A Network uses a star topology if? A Network utilizes a star topology if all computers attach to a single central point.

Show the importance of risc processors, Q. Show the Importance of RISC Proc...

Q. Show the Importance of RISC Processors? Reduced Instruction Set Computers recognize a comparatively limited number of instructions. One benefit of a reduced instruction set

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