Returns and procedures definitions in 8086, Computer Engineering

Assignment Help:

Q. Returns and Procedures definitions in 8086?

8086 microprocessor supports RET and CALL instructions for procedure call. CALL instruction not only branches to indicate address but also pushes return address onto the stack. Additionally it also initialized IP with address of the procedure. RET instructions basically pops the return address from stack. 8086 supports two types of procedure call. These are NEAR and FAR calls.

NEAR procedure call is also called as Intrasegment call as called procedure is in same segment from that call has been made. Hence only IP is stored as return address. IP can be stored on stack as:

912_Returns and Procedures definitions in 8086.png

Please note that the growth of stack is towards stack segment base. So stack becomes full on an offset 0000h. Also for push operation, we decrement SP by 2 as stack is a word stack (word size in 8086 = 16 bits) whereas memory is byte organised memory.

FAR procedure call which is also known as intersegment call is a call made to separate code segment. So the control will be transferred outside current segment. So both IP and CS need to be stored as return address. These values on stack after the calls looks as below:

597_Returns and Procedures definitions in 80861.png

When 8086 executes FAR call it first stores contents of code segment register followed by contents of IP on to the stack. A RET from NEAR procedure. Pops the 2 bytes in IP. RET from the FAR procedure pops 4 bytes from the stack.


Related Discussions:- Returns and procedures definitions in 8086

Cg, 1. How can you divide the screen into quadrants? Is the process called ...

1. How can you divide the screen into quadrants? Is the process called as ‘viewing transformations’?

Xor gate, The XOR gate. The exclusive OR or XOR gate is similar to a tw...

The XOR gate. The exclusive OR or XOR gate is similar to a two input OR gate. The output of an XOR gate is logic 1 only when one input or the other input is high and is 0 when

Convert decimal number to ocatl number, Convert (177.25) 10 to octal A...

Convert (177.25) 10 to octal Ans. 177.25) 10 = (         ) 8 Firstly we take integer part Hence (177) 10 = (261) 8 Now as 0.25 x 8 = 2.00 and 0.00 x 8 = 0 Therefor

INTERRUPT METHOD, interrupt method in keypad operation coding using PIC16

interrupt method in keypad operation coding using PIC16

Ms access database through menu driven selections, Would you like to easily...

Would you like to easily automate your MS Access database through menu driven selections? This can be accomplished by producing a form with customized buttons that point to macr

Equivalence between vhdl and c, Equivalence between VHDL and C? There i...

Equivalence between VHDL and C? There is concept of understanding in C there is structure.Based upon requirement structure provide facility to store collection of various data

I want a computer science homework tutor, I can send you the lecture notes ...

I can send you the lecture notes and assignments, and you will walk me through (either record a screencast, or kind on the assignments in red colored font) steps on how to do the a

Give example of bus and memory transfer, Give example of bus and memory tra...

Give example of bus and memory transfer For example, the read operation for transfer of a memory unit M from address register AR to another data register DR can be illustrated

Determine the types of software, Determine the types of software There ...

Determine the types of software There are two types of software today: Application and systems. Meaning of the two changes computer to computer. As we concentrate on large c

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