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

How can you pass a struct by reference in e, How can you pass a struct by r...

How can you pass a struct by reference in e?   The question is phrased in a tricky way because passing by reference is the default and only possible way to pass structs in e. I

Transportation model, advantages and disadvantages of northwest corner meth...

advantages and disadvantages of northwest corner method and least cost method

Definition of lists, Q. Definition of Lists? Another type of list is a ...

Q. Definition of Lists? Another type of list is a definition list. Definition lists have a heading and text appears below that. EXPERTSMI

Handshake control of data transfer - computer architecture, Handshake contr...

Handshake control of data transfer during an input operation:   . Handshake control of data transfer during an output operation o   Interface to CPU and Memory o

Answering systems- database query, Answering Systems / Database Query T...

Answering Systems / Database Query There are a large number of opportunities for get faster through parallelizing a Database Management System (DBMS). However, the actual purpo

Explain advantageand disadvantages of a dynamic document, Explain advantage...

Explain advantageand disadvantages of a dynamic document.   The chief advantages of a dynamic document lie in its capability to report current information. For illustratio

What controls the screen flow, What controls the screen flow? The SET ...

What controls the screen flow? The SET SCREEN and LEAVE SCREEN statements controls screen flow.

Back propagation learning routine, Back propagation Learning Routine - Aart...

Back propagation Learning Routine - Aartificial intelligence As with perceptrons, the information in the network is stored in the weights, so the learning problem comes down to

Explain the edge-triggered j-k flip-flop, Explain the Edge-triggered J-K fl...

Explain the Edge-triggered J-K flip-flop? The J-K flip-flop works extremely similar to S-R flip-flop. The merely difference is that this flip-flop has NO invalid state.

Explain HLL program & execution of machine language program, Give the Schem...

Give the Schematic of Interpretation of HLL program and execution of a machine language program by the CPU. The CPU utilizes a program counter (PC) to notice the address of nex

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