PDA

View Full Version : LGDT چکار می کند ؟



aakh1361
دوشنبه 22 فروردین 1384, 17:46 عصر
سلام دوستان
می خواستم ببینم کسی در مورد این دستور ( LGDT )اسمبلی اطلاعاتی به فارسی دارد کار این دستور رو دقیقا نمی دونم ولی می دونم این دستور رو قبل از اینکه با این کد زیر

Mov Eax,Cr0
Or Eax,1
Mov Cr0,Eax


محیط به 32 بیتی سویچ بشه باید اجرا کرد ولی تا وقتی که دستور LGDT اجرا نشه محیط 32 بیت فعال نمیشه این دستور به یک ساختمان داده ها اشاره میکنه من ساختمان دادها شو هم دارم ولی نمیدونم هر کدوم از اعضای ساختمان چه اعدادی نیاز داره ؟
در ضمن من تا اونجا که تونستم تو بازار انقلاب در کتاب فروشی ها که کتاب اسمبلی دارن جستجو کردم ولی تو هیچ کدوم از این کتابها نتونستم این دستور رو پیدا کنم چند تا سایت انگلیسی و کتاب ریز پردازنده x86 اینتل هم پیدا کردم ولی چون انگلیسی بود باز نتونستم کاملا بفهمم این دستور چیه ؟

لطفا اگر کسی منبع فارسی یا اطلاعی در مورد این دستور داره بگه چون تو برنامه ای که دارم مینویسم بخاطر این دستور گیر کردم

Inprise
دوشنبه 22 فروردین 1384, 19:38 عصر
lgdt یا Load GDT مسئول فراخوانی Global Descriptor Table است ؛ برای انتقال پردازنده از وضعیت Real به Protected باید نحوهء دسترسی به حافظه هم مشخص بشه که اجزاء مختلف اون داخل Global Descriptor Table تعریف میشن . قبل از انتقال به Protected Mode ( که تو به غلط اون رو محیط "32 بیتی" توصیف کردی ) باید وضعیت GDT مشخص بشه . برای مطالعه در مورد ساختار GDT راهنمای توسعه گران اینتل رو دریافت و مطالعه کن .

-

منابع فارسی که تو بازار دانشگاهی ایران منتشر و حتی تدریس میشه فوق العاده قدیمی و غیر کاربردی است ؛ اگر با منابع غیر فارسی مشکل داری ، قید اسمبلی رو بزن ؛

:sorry: