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 is sap luw or update transaction, What is SAP LUW or Update Transactio...

What is SAP LUW or Update Transaction? Update transaction (or "SAP LUW") This is a set of updates terminated by an ABAP/4 commit.  A SAP LUW may last much longer than a data

Distributed network architecture, Problem a) Distributed network archi...

Problem a) Distributed network architecture is whereby services are executed and distributed  among various computers. Give two advantages and two disadvantages of the distrib

what is code for adding two integers in java?, import java.util.Scanner;  ...

import java.util.Scanner;   class AddNumbers {    public static void main(String args[])    {       int x, y, z;       System.out.println("Enter two integers to calculate their sum

Visibility, hidden edge/surface removal

hidden edge/surface removal

Robotics artificial intelligence, what is robot?explain different types of ...

what is robot?explain different types of robots with respect to joints.

What interface is extended by awt event listeners, All AWT event listeners ...

All AWT event listeners expand the java.util.EventListener interface.

Determine the term- files, Determine the term- Files File maintenance i...

Determine the term- Files File maintenance is significant. Updating of files generally involves inserting, amending and deleting data. Example: A bank would amend data

Make a generalized program that accepts a number and base, Q. Make a gener...

Q. Make a generalized program that accepts a number & base, convert it into the given base. Perform necessary validations.

Explain collaboration on task and event management, What is difference betw...

What is difference between collaboration on task and event management? Web-based task management application let the user handle the multiple pieces and parts of large projects

Assembly language programming, write an assembly language program for fibon...

write an assembly language program for fibonacci series?

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