[英]Find Segment address from given physical and effective address
如何從給定的數據中找到段地址?
物理地址= 0x119B,有效地址= 0x10AB
公式是什么?
x86 16位實模式下的有效地址只是20位segment:offset address的偏移部分。 您得到的問題是,確定與有效地址0x10AB組合產生的物理(線性)地址0x119B時的段值。
可以使用公式physaddr=(segment<<4)+offset
或physaddr=(segment*0x10)+offset
從segment:offset對計算物理地址。 重新修改公式:
physaddr = (segment*0x10)+offset physaddr-offset = segment*0x10 (physaddr-offset)/0x10 = segment segment = (physaddr-offset)/0x10
現在我們知道segment的公式是segment = (physaddr-offset)/0x10
我們可以執行計算來找到您問題的答案:
segment = (0x119B-0x10AB)/0x10 segment = 0xF0/0x10 segment = 0xF
我們可以通過將其插入物理地址的原始公式中來檢查此結果,並獲得:
physaddr = (0xF*0x10)+0x10AB = 0x119B.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.