سورس ساعت دیجیتال به زبان اسمبلی
در این بخش سورس ساعت دیجیتال به زبان اسمبلی را برای شما آماده کرده ایم که با استفاده از زبان برنامه نویسی Assembly نوشته شده است. در ادامه می توانید توضیحات و سورس کد مربوط به این پروژه جالب و کاربردی را مشاهده کنید.
توضیحات پروژه
اسمبلی یک زبان برنامه نویسی سطح پایین برای یک کامپیوتر یا سایر دستگاه های قابل برنامه نویسی است که در مقایسه با سایر زبان های برنامه نویسی سطح بالا که اکثرا در چندین سیستم عامل قابلیت اجرا دارند، زبان اسمبلی، توسط یک برنامه کاربردی به نام اسمبلر (مانند NASM و MASM) به کد ماشین تبدیل می شود.
در این پروژه با اجرا شدن برنامه تاریخ و ساعت فعلی سیستم به صورت دیجتال بر روی صفحه نمایش چاپ می شود و به صورت مرتب به روز می شود. شما با مشاهده سورس کد این پروژه می توانید موارد بسیاری را فراگرفته و دانش برنامه نویسی اسمبلی خودتان را افزایش دهید. از این سورس کد می توانید در سایر برنامه های خود به منظور نمایش تاریخ و ساعت سیستم استفاده کنید. این برنامه با استفاده از برنامه Emu8086 نوشته شده است که می توانید آن را از لینک مورد نظر دانلود کنید.
قسمت های از سورس کد
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | data segment Dot DB 004H,'$' Hour DB ? Minute DB ? Second DB ? HLine DB '--$' VLine DB '|$' Year DW ? Month DB ? Day DB ? Day_of_week DB ? Print_Year DB 4 dup (' '),'$' Print_Day DB 2 dup ('0'),'$' Sunday DB 'Sunday$' Monday DB 'Monday$' Tuesday DB 'Tuesday$' Wednesday DB 'Wednesday$' Thursday DB 'Thursday$' Friday DB 'Friday$' Saturday DB 'Saturday$' January DB 'January$' February DB 'February$' March DB 'March$' April DB 'April$' May DB 'May$' June DB 'June$' July DB 'July$' August DB 'August$' September DB 'September$' October DB 'October$' November DB 'November$' December DB 'December$' ends stack segment dw 128 dup(0) ends ;*********** Main Menu ***********; code segment start: MOV AX, data MOV DS, AX MOV ES, AX MOV AH , 2Ch ; System Time INT 21h MOV Hour , CH MOV Minute , CL MOV Second , DH CALL Draw_Hour CALL Draw_Minute CALL Print_System_Date BLink: ;****** CLEAR SCREEN ****** MOV AH , 6h MOV AL , 3 MOV CH , 12 MOV CL , 39 MOV DH , 14 MOV DL , 39 MOV BH , 7 INT 10H CMP AH , 7 JNE Next10 MOV DH , 11 MOV DL , 35 CALL GotoXY CALL Draw_H_Line MOV DH , 12 MOV DL , 37 CALL GotoXY CALL Draw_V_Line MOV DH , 14 MOV DL , 37 CALL GotoXY CALL Draw_V_Line JMP Fin1 ;*********** Minute **************; Draw_Minute PROC ;****** CLEAR SCREEN ****** MOV AH , 6h MOV AL , 4 MOV CH , 11 MOV CL , 42 MOV DH , 14 MOV DL , 49 MOV BH , 7 INT 10H ;****** CLEAR SCREEN ****** MOV AL , Minute MOV AH , 0 MOV CL , 10 DIV CL PUSH AX MOV DH , 15 MOV DL , 42 CALL GotoXY CALL Draw_H_Line JMP Fin2 RET Draw_Minute ENDP ;*********** Minute **************; end start |
هیچ نظری ثبت نشده است