简体   繁体   中英

Calculating Base Address of a Segment (Intel 8086)

I know that, Physical Address = Segment Address x 10h + offset

Suppose, physical address of a memory location is 33330 H and the offset is 1111 H. To find the segment address, (33330 - 1111)/10 = 3221.

Now, if do the calculation for the physical address, 3221 x 10h + 1111 = 33321 which is not 33330.

Why is that so? Is my process correct?

Always need possible physical address. Segment physical address must be n%10=0.

Here, 33330h-1111h=32219h

but you have to take 32210h (possible physical address) or Logical Address= 3221:0009

So, (33330h - 1111h)/10h = 3221h

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM