in CO and Architecture edited by
6,142 views
5 votes
5 votes

Find the memory address of the next instruction executed by the microprocessor $(8086),$ when operated in real mode for $\textsf{CS=1000}$ and $\textsf{IP=E000}$

  1. $\textsf{10E00}$
  2. $\textsf{1E000}$
  3. $\textsf{F000}$
  4. $\textsf{1000E}$
in CO and Architecture edited by
6.1k views

2 Answers

9 votes
9 votes
In 8086 the address bus is 20 bit, The address is generated by using segment base and offset.

i.e. Address = segment*0x10 + Offset (Here segment is multiplied by 10h)

Given : Segment base (CS) = 0x1000 and Offset (IP) = 0xE000

Therefore, Address = CS*0x10 + IP

= 0x1000*0x10 + 0xE000

=0x1E000

Hence answer is 0x1E000 i.e. option B

For reference: https://books.google.co.in/books?id=t9ka7wmt_PQC&pg=RA1-PA20&lpg=RA1-PA20&dq=find+address+of+next+instruction+in+8086&source=bl&ots=NU6tKxh094&sig=vn0J3cafQu8UsBeZtUZYg94FQUE&hl=en&sa=X&ved=0ahUKEwjPjOTo1dHNAhUIRo8KHV-zAxEQ6AEIQTAG#v=onepage&q=find%20address%20of%20next%20instruction%20in%208086&f=false

3 Comments

Find the memory address of the next instruction executed by the microprocessor (8085), when operated in real mode for base segment =800 and offset is=E000.
0
0
Why is segment multiplied by 10h?
0
0
How the above calculation is done?
0
0
1 vote
1 vote

Given:

cs=1000 and Ip=E000

as per the architecture diagram of 8086 ie.,cs+Ip

Ip=E000(ie.,binary code for E=1110) so

=1000+E000

=1000+1110 000

=1111000(ie.,the BCD value of F=1111)

Ans=F000 so option (c) is correct

1 comment

if we convert E000 to binary then answer is 1000+1110 0000 0000 0000

= 1110 0000 0000 1000

=E008 so this is not the option, so F000 is wrong

0
0

Related questions