پاورپوینت زبان اسمبلی

نویسنده
تاریخ انتشار
13 تیر 1396
دسته بندی
تعداد بازدید
778 بازدید
رایگان

قسمتی از فهرست عناوین اسلایدها:

 

  • روش نوشتن برنامه :
  • Compile برنامه:
  • گروه بندی ثباتها:
  • نکات
  • ثباتهای ناحیه
  • ثباتهای شاخص
  • ثبات پرچم
  • وقفه Interrupt
  • وقفه های نرم افزاری:
  • نکته بسیار مهم:
  • مثال
  • برنامه اشکال زدایی Debug
  • دستورات مربوط به Debug
  • کدهای ثبات وضعیت
  • تمرین
  • شبه دستورات
  • شبه دستور تعریف نماد
  • شبه دستور Call
  • شبه دستور Endp
  • دستور Ret:
  • انواع آدرس دهي حافظه در زبان اسمبلي :
  • 2-  دسترسي بلافصل:
  • 3- دسترسي توسط ثبات:
  • 4- دسترسي غير مستقيم توسط ثبات شاخص يا پايه:
  • 5- دسترسي غير مستقيم نسبي نسبت به ثبات پايه :
  • 6- دسترسي نسبي نسبت به ثبات شاخص :
  • 7- دسترسي نسبي نسبت به ثبات پايه وشاخص:
  • تمرین
  • ساختار يك برنامه در زبان اسمبلي :
  • الگوهاي فايل :
  • ساختار فايل هاي .com
  • تعريف PSP (programs segment prefix) ( قطعه پيشوند برنامه):
  • تمرین
  • ساختار فايل  :.Exe
  • مفهوم دستور ptr (pointer):
  • دستورadd  :
  • دستورadc  (add with carry):
  • دستورsub :
  • دستور sbb (sub with barron):
  • دستور Mul , Imul:
  • مثال:
  • نمونه سوال امتحان :
  • تمرين :
  • دستور Div, Idiv:
  • مثال:
  • جواب:
  • نمونه سؤال امتحان :
  • جواب:
  • دستور inc:
  • مثال:
  • دستور neg :
  • دستور xchg (xchang):
  • دستور jmp:
  • دستور Loop:
  • مثال:
  • جواب:
  • نمونه سوال امتحان:
  • جواب:
  • دستورcmp (compare) :
  • دستورانتقال شرطي:
  • جدول حالات JX :
  • معادل دستورات پاسكال زيررا به زبان اسمبلي شبيه سازي كنيد .
  • دريافت اطلاعات از صفحه كليد:
  • SHIFT منطقي :
  • SHIFT حسابي :
  • دستورچرخشي بيتي :
  • تمرین:
  • عملگرهاي منطقي :(Test,And,Or,Not,Xor)
  • نحوه ي عملكرد هريك از عملگرها :
  • نکته:
  • تمرين 1 :
  • تمرين 2 :
  • پورت هاي PC :
  • برخي از شماره پورتها به Hexa decimal :
  • مثال:
  • تمرين 1 :
  • دستورات PUSH  و POP :
  • انواع چاپ برروي صفحه نمايش :
  • ماکرو (درشت دستور):
  • دستورات رشته ای:
  • دستور STD (Set Direction Flag):
  • دستورات MOVSB , MOVSW :
  • دستورات LODSB , LODSW :
  • دستورات STOSB , STOSW :
  • دستور REPE یا REPZ :
  • دستورات CMPSB , CMPSW :
  • دستورات SCASB , SCASW :
  • برنامه های مقیم در حافظه:
  • مقیم کردن یک برنامه در حافظه:(سرویس 27H از وقفه 21H )
  • تغییر بردار وقفه:( سرویس 35Hاز وقفه 21H )
  • تغییر آدرس بردار وقفه:سرویس 25H از وقفه 21H
  • وقفه 16H :
  • سرویس 02H از وقفه 16H :

بخشهایی از متن پاورپوینت:

 

  • نکته: پسوند اغلب برنامه ها در windows، .com است. چون فایلها با پسوند .com ، فقط 64 KB از حافظه را اشغال می کنند و باعث می شوند بقیه حافظه در اختیار سیستم عامل قرار گیرد تا برنامه های دیگر، بتوانند اجرا شوند.

; : درهنگام استفاده از tasm، فقط فایل Compile می شود و حق استفاده از هیچ سوئیچی را نداریم و ……..

  • تغییر آدرس بردار وقفه:سرویس 25H از وقفه 21H

; : درهنگام استفاده از tasm، فقط فایل Compile می شود و حق استفاده از هیچ سوئیچی را نداریم و ……..

/? : استفاده ازین سوئیچ، باعث می شود فایلی با پسوند .bat ساخته شود که شامل: برنامه بصورت قبل ازobj بطوری که درصورت وجود خطا، خط ها در زیر هر دستور مشخص می باشد. با فهمیدن خطا در فایل اصلی با پسوند .asm خطا زا زفع کرده و دوباره tasm را اجرا می نمائیم.

شماره سرویس ( 25H ) AH=

شماره وقفهAL=

آدرس جدید روتین وقفهDS:DX=

Int 21

تابع 25H از وقفه 21H آدرس یک برنامه جدید را در بردار وقفــه قرار می دهد. برای این منظور در ثبات AL شماره وقفـــه و در ثبـــات AH شماره 25H را قــرار داده و در ثبـــات DX آدرس تـــفاوت مکان برنامه را قرار می دهیم. با اجرای این وقفه مقدار CS و DX در بردار وقفه می نشینند.

وقفه 27H برای مقیم کردن یک برنامه در حافظه استفاده می شود. برای استـــفاده از این وقـــفه در ثبات DX آدرس تـــفاوت مکان انتهای برنامه را قرار می دهیم.

این برنامه از آدرس CS:DX تا CS:0000 را در حافظه مقیم می کند. برای مقیم کردن یک برنامه در حافظه ابتدا یکی از برنـامه ها را انتخاب می نماییم.( انتخاب شماره یکی از وقفه ها بستـگی به نیاز ما دارد. به عنوان مثال اگر بخواهیم کلید Print Screen را تغییر دهیم باید وقــــفه 5 را انتـــخاب کنیم و اگـــر بخواهیـــم وقـــفه Timer را تغییر دهیم بایستی وقفه 8 را انتخاب نماییم.)

پس از انتخاب وقفه باید آدرس برنامه اصلی آن را بـــــدست آوریم. این کار توسط تابع 35H از وقفه 21H امکان پذیر مـــــی باشد. سپس باید آدرس برنامه خود را به جای برنامه اصـلی وقفه قرار دهیم . که این کار توسط تابع 25H از وقفه 21H امـــــکان پذیر

است. پـــس از آن بایــد برنامه را با استفاده از تابع 27H بصورت مقــــیم در حافظه درآوریم. در برنامه مقیم شده باید دقت کنیم که عمـل ذخیره و بازیابی ثباتها در ابتدا و انتهای برنامه و همچنـین فــــراخوانی برنامه اصلی وقفه انجام می شود. ضمنا در برنـامه مقیم شده هز دستور iret برای اتمام برنامه استفاده می کنیم.

نکته1:

درموقع تغییربرداروقفه ابتدا از دستور CLI (Clear Interrupt) برای از کار انداختن وقفه و پس از پایان عمل تنظیم, از دستـور STI (Set Interrupt ) برای فعال کردن وقفه استفاده می کنــیم. انجام این کار به این دلیل است که:در موقع تنظیم بــردار وقــــفه, ممکن است شرایط برای اجرای وقفه فراهم شود و به دلیـــل عـدم تنظیم کامل بردار وقفه, کامپیوتر قفل کند.

نکته2:

بهتر است در برنامه های مقیم در حافظه به جای استـفاده از وقـــفه Dos برای چاپ از Video Ram استفاده شود.

مثال:

برنامه ای بصورت مقیم در حافظه بنویسید که کاراکتر ‘*’ همیشه گوشه بالای صفحه نمایش نشان داده شود؟

  • سرویس 02H از وقفه 16H :

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

مشخصات تحقیق

رشته: کامپیوتر

نوع فایل: pptx – پاورپوینت

تعداد اسلایدها: 198

 

 

 

 

راهنمای خرید:
  • لینک دانلود فایل بلافاصله بعد از پرداخت وجه به نمایش در خواهد آمد.
  • همچنین لینک دانلود به ایمیل شما ارسال خواهد شد به همین دلیل ایمیل خود را به دقت وارد نمایید.
  • ممکن است ایمیل ارسالی به پوشه اسپم یا Bulk ایمیل شما ارسال شده باشد.
  • در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *