مدیریت حافظه در زبان اسمبلی – آموزش Assembly

  • پنج شنبه ۲۵ بهمن ۱۳۹۷
  • بازدید ۲۲۸ نفر

assembly memory management 4622 تصویر

مدیریت حافظه در زبان اسمبلی

فراخوان سیستم sys_brk() که توسط هسته ارائه (kernel) می شود، برای تخصیص حافظه پویا استفاده می شود. این فراخوان درست در پشت تصویر برنامه، حافظه را اختصاص می دهد. این تابع سیستمی امکان تنظیم بیشترین آدرس موجود در بخش data را فراهم می کند.

sys_brk() یک پارامتر می گیرد که بالاترین آدرس حافظه مورد نیاز برای تنظیم شدن را مشخص می کند. این مقدار در ثبات EBX ذخیره می شود. sys_brk() در صورت بروز خطا، مقدار یا یک عدد منفی که نشان دهنده کد خطا است را باز می گرداند. مثال زیر نحوه تخصیص حافظه پویا در اسمبلی را نشان می دهد:

مثال

برنامه زیر، ۱۶ کیلوبایت حافظه را با استفاده از sys_brk() تخصیص می دهد:

امتحان کنید

زمانی که کد بالا توسط کامپایلر اسمبلی اجرا شود، نتیجه زیر را تولید خواهد کرد:

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است