[英]How can two different far pointers contain two different addresses but refer to the same memory location?
我在一本書中遇到了這個問題 - 兩個不同的Far指針可以包含兩個不同的地址,但是指的是內存中相同的物理位置。 答案是' 是 '。 但是,對於涉及近距離和巨大指針的相同問題,答案是“ 不 ”。
PS不要拋棄這個問題因為遠,近和巨大的指針現在已經過時了。
要使用far
指針,您必須使用原始的80x86芯片,或者在兼容模式下使用現代芯片。 far
指針由段號和偏移量組成,但不同的段號指向重疊的地址,因此段號和偏移量的不同組合可以指向相同的物理地址。
段號乘以16並添加偏移量以生成物理地址。 因此:
segment offset address
0x100 0x0030 0x1030
0x101 0x0020 0x1030
等等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.