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

Computer grphics, Advantages of DDa algorithms for line drawimg

Advantages of DDa algorithms for line drawimg

Describe the instruction set architecture, Q. Describe the instruction set ...

Q. Describe the instruction set architecture? The significant role of the Central Processing Unit (CPU) is to perform calculations, to coordinate all other hardware components,

What is the difference between wire and register, What is the difference be...

What is the difference between wire and reg Wire Wire is used for designing combinational logic, as we all know that this type of logic cannot store a value.  As  you  can

Security, We now consider the relation between passwords and key size. For ...

We now consider the relation between passwords and key size. For this purpose consider a cryptosystem where the user enters a key in the form of a password. Assume a password consi

Explain how a node can be inserted into an avl tree, Explain how a node can...

Explain how a node can be inserted into an AVL tree. We can insert a node into an AVL tree through the insertion algorithm for binary search trees in which we compare the key o

Example of processor arrangements, Q. Example of processor arrangements? ...

Q. Example of processor arrangements? !HPF$ PROCESSORS P (10) This initiates a group of 10 abstract processors assigning them combined name P. !HPF$ PROCESSORS Q (4, 4)

Explain magnetic read and write mechanisms, Q. Explain Magnetic Read and Wr...

Q. Explain Magnetic Read and Write Mechanisms? Data are recorded on and then retrieved from disk via a conducting coil called the head. In numerous systems there are two heads,

Determine the decimal equivalent of octal number, The number 140 in octal i...

The number 140 in octal is equivalent to decimal number ? Ans. (140) 8 = (96) 10 As 1 x 8 2 + 4 x 8 + 0x 1 = 64 + 32 = 96

Find the responses when a computer broadcast an arp reqqest, How many respo...

How many responses does a computer expect to receive when it broadcast an ARP request? Why? An ARP (Address Resolution Protocol) request message is put in a hardware frame and

De multiplexer, design a gray to bcd code converter using 16:1 de multiplex...

design a gray to bcd code converter using 16:1 de multiplexe

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