鱼C论坛

 找回密码
 立即注册
查看: 2494|回复: 7

[已解决]Win32匯編基礎知識03, 關於GDTR的問題

[复制链接]
发表于 2019-10-17 16:16:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 kikiatw 于 2019-10-18 09:23 编辑

我剛剛看了小甲魚的這份教學, 最後甲魚哥用圖解的方式說明如何尋求GDTR與LDTR
那麼在這個過程中, GDTR的48bit裡面(感謝人造人更正)
bit 48:16 共32bit放的是GDTR在記憶體中的偏移
bit 15:0 共16bit放的是GDTR的SIZE,
問題一: 所以可以理解GDTR這個表最大是64Kbyte?

那麼一個段最大還是16bit. 只有高位的13個bit是指向GDTR的偏移,
問題二: 段寄存器址有13個bit作GDTR的偏移, 可是GDTR有64kbyte, 後面一點的不就索引不到了??

以上兩個問題求解, 謝謝.
最佳答案
2019-10-18 11:12:34

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-17 18:13:45 | 显示全部楼层
我正在看保护模式,后面再来回答你的问题。推荐你看大陆人写的这本书《x86汇编语言-从实模式到保护模式》,里面保护模式讲的比较清楚,有完整代码可以调试。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-17 21:16:54 | 显示全部楼层
哈哈, 這不是正在學小甲魚的彙編32教程嗎, 我先翻翻課本看看啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-17 21:30:38 | 显示全部楼层
gdtr是48位的

0~15 全局描述符表边界
16~47 全局描述符表线性基地址
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-18 09:21:10 From FishC Mobile | 显示全部楼层
本帖最后由 kikiatw 于 2019-10-18 09:24 编辑

關於這個問題,我剛剛忽然有了領悟,16bit size, 但是每個GDT的內容是64bit, 所以,只需要2^10就可以索引到64k的size,所以是夠用的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-18 11:12:34 | 显示全部楼层    本楼为最佳答案   

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-18 12:27:20 | 显示全部楼层
原來是BYTE
64KB = 8092個描述符 (8082*64bit = 64Kbyte)
所以剛好 2^13 就是 8192 個
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-10-18 12:29:41 | 显示全部楼层
SB兄最近看匯編也看得很勤勞啊~~ 感謝幫忙答覆!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-27 20:13

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表