10 بهمن 1389, 06:35 ب.ظ
11 بهمن 1389, 02:14 ق.ظ
اون موقع که خوندم سرم درد میکرد واسه همین نفهمیدم.
فقط اینو نفهمیدم:
address+1 -->address
فقط اینو نفهمیدم:
address+1 -->address
11 بهمن 1389, 08:25 ق.ظ
این دو دستور برای فراخوانی زیر روال و بازگشت از آن بکار میرن.
فرمت BSA معمولا اینجوریه مثلا
فرض کنید دستور bsa ما در آدرس 20 حافظه قرار داره و فرمت دستور هم اینطوریه:
بنابرین ما محتوای pc (که آدرس دستور بعدی هست یا همون 21)رو توی آدرس 135 قرار میدیم (آدرس بازگشت) و AR رو یکی اضافه میکنیم و اونو توی PC میذاریم تا اولین دستور زیر روال را اجرا کنیم.(در آدرس 136)
برای بازگشت هم از آدرس دهی غیر مستقیم با AR =135 و دستور BUN استفاده می کنیم تا از خانه 135 آدرسِ آدرس عملوند را که همان 21 است را برداریم و در pc بگذاریم و ادامه دستورات بعد از فراخوانی زیر برنامه را اجرا کنیم.
امیدوارم توضیحاتم مفید بوده باشه و منظورمو گرفته باشی.
اینایی که گفتم شکلش توی کتاب موریس مانو هست.
فرمت BSA معمولا اینجوریه مثلا
فرض کنید دستور bsa ما در آدرس 20 حافظه قرار داره و فرمت دستور هم اینطوریه:
0 BSA 135
که اینجا 0 نوع آدرس دهی و 135 آدرس عملوند(AR) یا همون زیر برنامه مونه (که از آدرس 136 شروع میشه)بنابرین ما محتوای pc (که آدرس دستور بعدی هست یا همون 21)رو توی آدرس 135 قرار میدیم (آدرس بازگشت) و AR رو یکی اضافه میکنیم و اونو توی PC میذاریم تا اولین دستور زیر روال را اجرا کنیم.(در آدرس 136)
برای بازگشت هم از آدرس دهی غیر مستقیم با AR =135 و دستور BUN استفاده می کنیم تا از خانه 135 آدرسِ آدرس عملوند را که همان 21 است را برداریم و در pc بگذاریم و ادامه دستورات بعد از فراخوانی زیر برنامه را اجرا کنیم.
امیدوارم توضیحاتم مفید بوده باشه و منظورمو گرفته باشی.
اینایی که گفتم شکلش توی کتاب موریس مانو هست.
11 بهمن 1389, 08:56 ق.ظ
خیلی ممنون
یعنی این روش همونه که میگه آدرس بازگشت در اولین خانه زیر روال است و فراخوانی تو در تو نمیتونیم داشته باشیم؟!
آخه من با خودم میگفتم اگه اولین خونه باشه که همون موقع اجرا برگشت میکنه!! پس یعنی اولین خونه هست ولی ما از بعدیش اجرا میکنیم؟!
یعنی این روش همونه که میگه آدرس بازگشت در اولین خانه زیر روال است و فراخوانی تو در تو نمیتونیم داشته باشیم؟!
آخه من با خودم میگفتم اگه اولین خونه باشه که همون موقع اجرا برگشت میکنه!! پس یعنی اولین خونه هست ولی ما از بعدیش اجرا میکنیم؟!
11 بهمن 1389, 09:03 ق.ظ
بله درواقع زیر روال از آدرس 136 شروع میشه و ما آدرس بازگشت را توی خونه 135 ذخیره می کنیم. دستور باز گشت هم دقیقا بعد از زیر روال است. یعنی بعد از اجرای کامل زیر روال برگشت می کنیم.