View Full Version : far ؟
mohsenk
پنج شنبه 19 خرداد 1384, 09:03 صبح
با سلام
اگر ممکن است در مورد far در c توضیحی بدهید؟
محمد میرمصطفی
جمعه 20 خرداد 1384, 01:47 صبح
در زبان اسمبلی ما سه سگمنت اصلی برای هریک از قطعات برنامه داریم: کد سگمنت، دیتا سگمنت، و استک سگمنت که هر کدوم در دارای رجیستر منحصر بفرد (به ترتیب CS و DS و SS) ممکنه DS برای آدرس دهی کل دیتاسگمنت کافی نباشه یا دیتا از یه ماجول دیگه وارد بشه. در این صورت از ادرس کامل برای آدرسدهی حافظه استفاده میشه. تو حالت عادی کد و دیتاسگمنت یکی هستن یعنی آدرس دهی فقط رو یه سگمنت صورت میگیره ولی از ایندوتا هر کدوم رو یه سگمنت باشن، باید آدرسدهی کامل باشه. در c متغییرهای pointerی که far باشن، کامپایلر از آدرسدهی کامل استفاده میکنه.
Inprise
جمعه 20 خرداد 1384, 02:18 صبح
لازمه اضافه کنم محیطهای امروزی توسعه نرم افزار که 32 بیتی و مبتنی بر Protected Mode هستند به این مفهوم نیازی ندارند و استفاده از far محدود به نرم افزارهای قدیمی مانند نرم افزارهای مبتنی بر داس است .
mohsenk
جمعه 20 خرداد 1384, 07:44 صبح
خیلی ممنون دوستان :wink:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.