برنامه بنویسید با زبان ماشین واسمبلی
در شروع برنامه صفحه پاک شود و نام ونام خانوادگی را در وسط صفحه نمایش دهد
با زدن کلیدی صفحه مجددا پاک شودودو عددسه رقمی را از ورودی گرفته و حاصل جمع آنها را نمایش دهد
خواهش میکنم این دو برنامه را برام تهیه کنید
ویرایش توسط کامپیوتر : 1st June 2012 در ساعت 03:46 PM
برنامه بنویسید با زبان ماشین واسمبلی
در شروع برنامه صفحه پاک شود و نام ونام خانوادگی را در وسط صفحه نمایش دهد
با زدن کلیدی صفحه مجددا پاک شودودو عددسه رقمی را از ورودی گرفته و حاصل جمع آنها را نمایش دهد
خواهش میکنم این دو برنامه را برام تهیه کنید
شما تنها به به سه تا وقفه نیاز دارید برای این کار .
پاک کردن صفحه در اسمبلی :
وقفه 10H برای پاک کردن صفحه میشه ازش استفاده کرد . بصورت زیر در قالب یک ماکرو میتونید استفاده کنید ازش :
ClearScreen Macro color
MOV AX , 0600H
MOV BH , color
MOV CX , 0000H
MOV DX , 204fh
INT 10H
ENDM
نحوه فراخونی این ماکرو هم بصورت زیر هست .
ClearScreen 6
که عدد 0 تا 15 رو میتونید استفاده کنید . اگر 6 رو استفاده کنید از رنگ سیاه استفاده میشه .
اگر نمیخوایید از ماکرو استفاده کنید میتونید خیلی راحت هرجایی بخوایید صفحه پاک بشه کدهای زیر رو عینا کپی در سورس کدتون قرار بدید :
برای دریافت کردن یا خوندن یک رشته از کاربر در اسمبلی شما هم میتونید از ماکرو Inputs که در هدر IO.h هست هم استفاده کنید .
و هم اینکه خودتون تابع یا ماکرویی براش بنویسید :
چاپ کردن یک رشته در اسمبلی :
برای چاپ کردن یک رشته هم میتونید از ماکرو Outputs که در هدر IO.h هست هم استفاده کنید .
یا اینکه خودتون با استفاده از وقفه 21H اون رو بصورت تابع یا ماکرو بنویسید . : مثلا اینطور :
برای دیدن نمونه کامل برنامه ها و اینکه چطور میتونید از ماکرو ها استفاده کنید یا جواب بقیه سوالاتتون رو بگیرید پیشنهاد میکنم به سورسکدها و تاپیکهای موجود در بخش هاو زیر بخش های اونها ( مثل سوالهای پاسخ داده شده ) زیر سر بزنید و اونها رو مطالعه کنید . تقریبا تمامی مطالبی که پرسیدید قبلا تو اون تاپیکها بحثش شده و به تفصیل توضیح داده شده . : Assembly زبان ماشین و اسمبلی
دیگه کامل کردن نمیخواد! همه چیز هست کافیه شما بدنه اصلی رو بنویسید و این ماکرو ها رو فقط توش فراخونی کنید ! من از قصد بدنه رو ننوشتم تا این کار رو خودتون انجام بدید . از صد در صد کار 99 درصدش اینجاست اگه این یک درصد رو نتونید انجام بدید مثل اینه که اصلا این درس رو پاس نکردید چون هیچی نداره!
سلام نام ونام خانوادگی وسط صفحه باشه (فاطمه موسوی )کدام قسمت بنویسم
و اگه میشه این دو تا برنامه را برام انجام بدی جون دو روز دیگه امتحان دارم خواهش میکنم
برنامه بنویسیدکه اعدادفرد 1تا 100را چاپ کند
برنامه ای بنویسید که 3عددتک رقمی را گرفته بزرگترین آنها را چاب کند
برای چاپ نامتون کافیه یک متفییر بصورت زیر در دیتا سگمنت تعریف کنید و بعد چاپش کنید !
MYNAME DB 'FATEME MOUSAVI',0
برای اینکه وسط صفحه قرار بگیره قبلش میتونید از دستور gotoxy که بالا ماکروش رو نوشتم استفاده کنید و بعد از دستور OUTPUT برای چاپ اسمتون استفاده کنید .
یا اینکه میتونید اسمتون رو اینطوری وسط صفحه تنظیم کنید . !
MYNAME DB ' FATEME MOUSAVI ',0
یعنی قبلش انقدر اسپیس بزنید که وقتی بصورت معمولی چاپ کردید اسمتون خودکار بره وسط صفحه!
برای اینکه بفهمید یک عدد فرده یا زوجه میتونید اون رو با 1 اندش کنید اگه جواب نهایی صفر بود عدد زوج و اگر صفر نبود عدد شما فرده . میتونید بجای استفاده از دستور AND از دستور TEST استفاده کنید اینجا تا مقدار عددتون تغییری درش حاصل نشه . ( دستور TEST همون کار AND رو انجام میده منتها نتیجه رو در ثبات مورد استفاده تغییر نمیده - یعنی مثلا اگه عدد شما 18 باشه و با یک AND ش کنید عدد 18 تبدیل میشه به صفر! اما اگه از TEST استفاده کنید 18 تغییری نمیکنه اما میتونید از فلگها استفاده کنید انگار که از دستور AND استفاده کردید . )
برای پیدا کردن بزرگترین عدد بین سه رقم هم که کاری نداره . شما اول سه تا عدد از کاربر دریافت میکنید . بعد دوتا عدد اول رو با هم مقایسه میکنید ( از CMP استفاده کنید ) بعد اونی که بزرگتر هست رو بزارید مثلا تو یه متغییر دیگه مثلا ماکس بعد ماکس رو با عدد سوم مقایسه کنید اینطور میفهمید که کدوم عدد بزرگتره !
علاقه مندی ها (Bookmarks)