簡體   English   中英

兩個不同的遠指針如何包含兩個不同的地址但引用相同的內存位置?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM