تعداد فروش | 0 دانشجو |
---|---|
پرسش و پاسخ ها | 0 کاربر |
تاریخ انتشار | 08 خرداد 1402 |
سطح تمرین | متوسط |
در این پست قصد داریم کد نمایش تاریخ و ساعت سیستم در اسمبلی را پیاده سازی و بررسی نماییم.
سوال: برنامه ای بنویسید که تاریخ و ساعت سیستم در به طور جداگانه در متغییر هایی از نوع db ذخیره نماید؟
ویدیو توضیحات را مشاهده نمایید.
در این کد، با فراخوانی سرویس int 0x21 با مقدار AH برابر با 0x2A، تاریخ سیستم استخراج میشود.
یعنی قسمت سال در ثبات cx و قسمت ماه در dh و قسمت روز در dl ذخیره میشوند.
ما با دستور mov این اطلاعات را در متغییر های مربوطه قرار میدهیم.
و با فراخوانی همین سرویس با مقدار AH برابر با 0X2C، ساعت سیستم را استخراج میکنیم.
پس از اجرای دستور اطلاعات ساعت در ثبات ch و دقیقه در cl و در نهایت ثانیه در dl ذخیره میشوند.
بیشتر بخوانید:تمرین نمایش بزرگترین و کوچکترین عدد آرایه
برای پیاده سازی کد نمایش تاریخ و ساعت سیستم ابتدا متغییر های زیر را تعریف میکنیم:
year dw 10 DUP ('$') month db 10 DUP ('$') day db 10 DUP ('$') hour DB 8 DUP ('$') min DB 8 DUP ('$') sec DB 8 DUP ('$')
هر متغییر را به طور جداگانه تعریف میکنیم تا در هرکدام مقدار مربوط به خودشان را ذخیره کنیم.
اما سورس کد کامل به شرح زیر میباشد:
ORG 100h ; start at; define the data segment year dw 10 DUP ('$') month db 10 DUP ('$') day db 10 DUP ('$') hour DB 8 DUP ('$') min DB 8 DUP ('$') sec DB 8 DUP ('$') ; define the code segment MOV AH, 2Ah ; set the value of AH to 0x2A to read the system date INT 21h ; call the system interrupt to read the date MOV year, cx MOV month, dh MOV day, dl ; store the date in the variable "date" MOV AH, 2Ch ; set the value of AH to 0x2C to read the system time INT 21h ; call the system interrupt to read the time MOV hour, CH MOV min, CL MOV sec, DH ; display the date and time to the user ; (here, you would use your preferred method to display the date and time, such as printing to the console) ; end the program MOV AH, 4Ch INT 21h
حالا فرض کنید در ادامه کد نمایش تاریخ و ساعت سیستم در اسمبلی میخواهیم این مقادیر را چاپ هم کنیم.
برای چاپ تاریخ و ساعت در کنسول، در اسمبلی میتوانید از پروسیجر print استفاده نمایید.
این پروسیجر به این صورت کار میکند که مقدار ثبات AX را دریافت و آن را بر روی صفحه کنسول نمایش میدهد.
به قطعه کد زیر دقت کنید:
پس از ثبت نام و یا ورود به حساب کاربری خود میتوانید سورس کد کامل را دانلود نمایید.
برای فراخوانی پروسیجر print کافیه فقط مقادیر متغییر ها را در ثبات AX قرار دهیم.
بیشتر بخوانید:تمرین نمایش برعکس آرایه
پرسش و پاسخ ها
هنوز بررسیای ثبت نشده است.