برنامه نویسی به زبان اسمبلی در emulator 8086
اسلاید 1: مشهد ، دانشگاه علمی کاربردی جهاد دانشگاهیآذر ماه 1393برنامه نویسی به زبان اسمبلیدر emulator 8086زیر نظر استاد : محمد عبدالهی کاری از : ضیایی و عبدالهیبخش اول :معادل سازی دستورات
اسلاید 2: data segmentmessage db welcome to assembly$ends…code segmentstart:lea dx, messagemov ah, 9int 21hendsاز دستور Cout برای چاپ یک پیغام استفاده می شود ، در زبان C++ از این دستور به این صورت می توان استفاده کرد : cout << “Welcome To C++”;و در زبان اسمبلی برای چاپ یک عبارت در دو مرحله این کار انجام می شود ؛تعریف مقدار مورد نظر در سگمنت dataاستفاده از مقدار تعریف شده در سگمنت codeمثال :12بخش اول معادل سازی دستوراتمعادل دستور CoutFullCode.ir2
اسلاید 3: data segmentStar db “*$endscode segmentstart:mov cx , 10for: lea dx , Star mov ah , 9 int 21hloop forendsبخش اول معادل سازی دستوراتمعادل حلقه forبه کمک حلقه تکرار for می توان دستور یا دستوراتی را به تعداد دفعات معینی انجام داد.برای مثال در زبان C++ می توانیم برای چاپ 10 کاراکتر * به این صورت عمل کنیم :for (int a = 1 ; i<= 10 ; i++)cout << “*” ;حال برای پیاده سازی حلقه for دراسمبلی می توانیم مراحل زیر را پیاده سازی کنیم:نکته : حلقه تکرار بر روی ثبات CX تأثیر می گذرد و در هر دفعه تکرار به صورت خودکار 1 مقدار از CX کم می کند تا به 0 برسد.ایجاد یک متغییر با نام دلخواهمقدار دهی به CX با عملگر movایجاد حلقه تکرار به کمک برچسبچاپ ستاره1423FullCode.ir3
اسلاید 4: data segmentStar db “*$endscode segmentstart:mov cx , 0for: lea dx , Star mov ah , 9 int 21h mov AH, 02h mov DL, 0Dh INT 21h mov DL, 0ah INT 21hloop forendsبخش اول معادل سازی دستوراترفتن به خط بعددر C++ به منظور رفتن به خط بعد می توان از n استفاده کرد.مثال : چاپ 10 ستاره زیر هم به این صورت می باشد :for (int a = 1 ; i<= 10 ; i++)cout << “* n ” ;به این ترتیب مرحله 5 (رفتن به خط بعد)در این قسمت اضافه می شود.ایجاد یک متغییر با نام دلخواهمقدار دهی به CX با عملگر movایجاد حلقه تکرار به کمک برچسبچاپ ستارهرفتن به خط بعد14235FullCode.ir4
اسلاید 5: code segmentstart: mov ah, 1 int 21hendsبخش اول معادل سازی دستوراتتابع getchar()از این تابع برای دریافت کلید Enter از کاربر توسط صفحه کلید استفاده می شود. در این حالت برنامه تا زمانی که کاربر کلید Enter را نزده است متوقف می شود.getchar();معادل این دستور در اسمبلی دو خط زیر می باشد که می توانید در هر قسمت از برنامه با توجه به نیاز استفاده کنید.FullCode.ir5
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.