تالار گفتمان مانشت
اشکال در BUN , BSA - نسخه‌ی قابل چاپ

اشکال در BUN , BSA - ف.ش - ۱۰ بهمن ۱۳۸۹ ۰۶:۳۵ ب.ظ

سلام دوستان من بحث انشعاب رو از روی کتاب پوران خوندم اما خیلی خوب متوجه نشدم میشه بگین از روی چه کتابی بخونم یا خودتون زحمت توضیحش رو بکشیدBlush
ممنون

اشکال در BUN , BSA - ف.ش - ۱۱ بهمن ۱۳۸۹ ۰۲:۱۴ ق.ظ

اون موقع که خوندم سرم درد میکرد واسه همین نفهمیدم.

فقط اینو نفهمیدم:
address+1 -->address

RE: اشکال در BUN , BSA - zr2358 - 11 بهمن ۱۳۸۹ ۰۸:۲۵ ق.ظ

این دو دستور برای فراخوانی زیر روال و بازگشت از آن بکار میرن.
فرمت BSA معمولا اینجوریه مثلا
فرض کنید دستور bsa ما در آدرس ۲۰ حافظه قرار داره و فرمت دستور هم اینطوریه:
۰ BSA 135
که اینجا ۰ نوع آدرس دهی و ۱۳۵ آدرس عملوند(AR) یا همون زیر برنامه مونه (که از آدرس ۱۳۶ شروع میشه)
بنابرین ما محتوای pc (که آدرس دستور بعدی هست یا همون ۲۱)رو توی آدرس ۱۳۵ قرار میدیم (آدرس بازگشت) و AR رو یکی اضافه میکنیم و اونو توی PC میذاریم تا اولین دستور زیر روال را اجرا کنیم.(در آدرس ۱۳۶)
برای بازگشت هم از آدرس دهی غیر مستقیم با AR =135 و دستور BUN استفاده می کنیم تا از خانه ۱۳۵ آدرسِ آدرس عملوند را که همان ۲۱ است را برداریم و در pc بگذاریم و ادامه دستورات بعد از فراخوانی زیر برنامه را اجرا کنیم.

امیدوارم توضیحاتم مفید بوده باشه و منظورمو گرفته باشی.
اینایی که گفتم شکلش توی کتاب موریس مانو هست.

اشکال در BUN , BSA - ف.ش - ۱۱ بهمن ۱۳۸۹ ۰۸:۵۶ ق.ظ

خیلی ممنون Smile
یعنی این روش همونه که میگه آدرس بازگشت در اولین خانه زیر روال است و فراخوانی تو در تو نمیتونیم داشته باشیم؟!

آخه من با خودم میگفتم اگه اولین خونه باشه که همون موقع اجرا برگشت میکنه!! پس یعنی اولین خونه هست ولی ما از بعدیش اجرا میکنیم؟!

اشکال در BUN , BSA - zr2358 - 11 بهمن ۱۳۸۹ ۰۹:۰۳ ق.ظ

بله درواقع زیر روال از آدرس ۱۳۶ شروع میشه و ما آدرس بازگشت را توی خونه ۱۳۵ ذخیره می کنیم. دستور باز گشت هم دقیقا بعد از زیر روال است. یعنی بعد از اجرای کامل زیر روال برگشت می کنیم.