簡體   English   中英

英特爾匯編命令“sgdt”返回哪個段描述符

[英]Which segment descriptor does Intel assembly command "sgdt" returns

我想為應用程序實現 32 位 4Gb 平面內存映射,為此我必須獲取和更新數據段描述符和代碼段描述符。 通過使用匯編命令“sgdt”,我可以獲得全局描述符表,但我不確定它的 CS 或 DS 或任何其他描述符。 如果有人能幫助我解決這種困惑,我將不勝感激。

我依靠 GRUB 來設置 GDT,這就是為什么我不知道它放置所有段描述符的確切位置。 通過查看 GDT 表條目,我可以看到 5 個相同的代碼段條目和 6 個相同的數據段條目,每個條目的基址設置為“0”,每個設置的限制為“0xfffff”。 你能告訴我這些重復條目的原因嗎? 從這些查看中,您能否確認 GRUB 已經設置了 Flat Memory 模式?

在評論部分得到很好的回應后回答我自己的問題。 GDT 表包含保護模式下段描述符的條目,代碼段和數據段通過讀取代碼段寄存器/數據段寄存器的值來標識,其中包含 GDT 表中特定段(也稱為段選擇器)的索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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