6,142 views

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 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

by

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.
Why is segment multiplied by 10h?
How the above calculation is done?

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

1
668 views