برنامه ای که می نویسیم از کجا تشخیص می دهد که کدام دستور بعد از ret قرار گرفته است که اون رو اجرا کنه در حالیکه دستورات در مکان های متوالی حافظه قرار ندارند
اطلاعیه
Collapse
No announcement yet.
در مورد زیر برنامه ها ( دستور ret )
Collapse
X
-
پاسخ : در مورد زیر برنامه ها ( دستور ret )
نوشته اصلی توسط r4minبرنامه ای که می نویسیم از کجا تشخیص می دهد که کدام دستور بعد از ret قرار گرفته است که اون رو اجرا کنه در حالیکه دستورات در مکان های متوالی حافظه قرار ندارند
وقتی شما سابروتین یا وقفه ای را فراخوانی می کنید ، مقدار Program counter در فضایی به نام پشته ( STACK) ذخیره میشود . هنگام برگشت یعنی دستور ret i یا ret این مقدار از stack خوانده شده و به program counter میریزد.
به همین دلیل تنظیم محل stack در اول برنامه بسیار مهم است .
موفق باشید
دیدگاه