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

Dbms, aggregation in dbms?

aggregation in dbms?

How a direct inward dialling is utilized, Direct inward dialling is used as...

Direct inward dialling is used as a feature in? Direct inward dialling is utilized as a feature in EPABX.

Data warehouse, 1) Define a job scheduling strategy that will meet business...

1) Define a job scheduling strategy that will meet business requirement of reporting availability by 6am CST for the following cubes? Show the job scheduling dependencies in a pict

Subtraction 11011-11001 using 2's complement, Subtraction 11011-11001 using...

Subtraction 11011-11001 using 2's complement. Ans. 11011 - 11001 = A - B 2's complement of B = 00111 1 1 0 1 1 + 0 0 1 1 1 1 0 0 0 1 0 Ignore carry to get answer as 00010 = 2.

Define the unified modelling language, Define the Unified Modelling Languag...

Define the Unified Modelling Language  (UML) is used to express construct and relationships of complex systems. This was created in response to a request for proposal (RFP) fro

Determine the advantages of bcd adder, Determine the advantages of BCD Adde...

Determine the advantages of BCD Adder Now let us see the arithmetic addition of two decimal digits in the BCD, with a possible carry from previous stage. As each input digit do

Two ethernet switches sw1 and sw2 , Six machines H1, H2, ..., H6 are linked...

Six machines H1, H2, ..., H6 are linked by two Ethernet switches SW1 and SW2 as given below. Both switches have four ports drawn. The port numbers are as indicated. Suppose the two

Explain the significance ipv6 over ipv4, Explain the significance IPV6 over...

Explain the significance IPV6 over IPV4. The maximum size of an Ipv6 datagram is 65575 bytes, with the 0 bytes Ipv6 header. Ipv6 also describe a minimum reassembly buffer size:

Explain about mainframes computer, Q. Explain about Mainframes computer? ...

Q. Explain about Mainframes computer? Mainframes, capable of executing in excess of 53 MIPS, are high-performance, general- purpose computers supporting very large databases, r

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