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

Determine the purpose of GDTR, Elucidate the purpose of GDTR. If the microp...

Elucidate the purpose of GDTR. If the microprocessor sends linear address 00200000H to paging mechanism, which paging directory entry and which page table entry is accessed? GD

Explain jk flip-flop using sr flip-flop, Q. Explain 4 bit Ripple counter wi...

Q. Explain 4 bit Ripple counter with necessary diagram. Q. Explain JK Master-slave Flip-flop with block diagram and logic design. Q. Explain JK flip-flop using SR flip-flop

What are the advantages of using uml, Benefits of using UML breaks the comp...

Benefits of using UML breaks the complex system into discrete pieces that can be understood simply. Handover the system to new team becomes simpler. Complex system can be un

Difference between char a[] = "string", What is the difference between char...

What is the difference between char a[] = "string"; and char *p = "string";? Ans) In the first case 6 bytes are assigned to the variable a which is fixed, where as in the secon

Illustrate about fifth generation electronic computers, Fifth Generation (1...

Fifth Generation (1984-1990) The advancement of the next generation of computer systems is characterized majorly by the acceptance of parallel processing.  Until this time para

Why a function cannot call a task, Why a function can n ot call a task ...

Why a function can n ot call a task As functions doesn't consume time,it can do any operation which doesn't consume time. Mostly tasks are written that consumes time. So a ta

What is system prompt, Q. What is System Prompt? On loading (or Switchi...

Q. What is System Prompt? On loading (or Switching to) DOS, the screen displays C :\>, C>, A :\> or a similar message. The message displayed by DOS is called DOS Prompt or Sys

Cache simulater, Requirements You are required to program (in a high l...

Requirements You are required to program (in a high level language such as C, C++, Java) and implement a cache simulator which will have the following inputs and outputs:-

Subscript and an index in a table definition, What is the difference betwee...

What is the difference between a subscript and an index in a table definition? Ans) A subscript is a working storage data definition item, typically a PIC (999) where a value mu

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