سورس تبدیل عدد از مبنای 2 به 10 به زبان اسمبلی
در این بخش سورس تبدیل عدد از مبنای 2 به 10 به زبان اسمبلی را برای شما آماده کرده ایم که با استفاده از زبان برنامه نویسی Assembly نوشته شده است. در ادامه می توانید توضیحات و تصاویر مربوط به این پروژه را مشاهده کنید.
توضیحات پروژه
در این پروژه بعد از اجرا شدن برنامه، کاربر یک عدد در مبنای 2 (مثلا: 10001101) را وارد کرده و کلید Enter را فشار می دهد، سپس برنامه عدد وارد شده را به معادل decimal یا همان مبنای 10 تبدیل کرده و در خروجی نمایش می دهد. شما با مشاهده سورس کد این پروژه می توانید نحوه کار با اعداد و تبدیل مبنا در زبان اسمبلی را یاد گرفته و دانش خود در زمینه برنامه نویسی Assembly را ارتقا دهید.
در دستگاه اعداد دو دویی (Binary) همه مقادیر با استفاده از اعداد 0 و 1 نمایش داده می شوند. کامپیوترها فقط می توانند زبان باینری را پردازش کنند و برنامه هایی که با زبان های سطح بالا مانند C#، Java و غیره نوشته شده باشند، در نهایت برای اجرا شدن به 0 و 1 تبدیل می شوند. این برنامه با استفاده از برنامه 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 | getstr macro buf1 mov ah,0ah lea dx,buf1 int 21h endm ;====================== init1 macro mov ax,@data mov ds,ax endm ;======================= PointToEndStr macro buf3,cnt local for1,skip1 lea si,buf3 mov cl,cnt mov ch,0 dec cx for1:inc si loop for1 mov cl,cnt mov count,cl endm ;====================== .model small .stack 64 .data s db 1 n db 1 f db 0 count db 0,'$' bufer2 db 5 dup(' '),'$' msg1 db "Enter Binary String:$" msg2 db 10,13,"Number:$" strbuf label byte max db 9 len db ? bufer1 db 8 dup('$'),'$' .code main proc far init1 putstr msg1 getstr strbuf PointToEndStr bufer1,len ;si point to end ===>bufer1 ConvertBinToDec PointToEndStr bufer2,5 ;si point to end ===>bufer2 StrToInt ;f convert to str and store to bufer2 putstr msg2 putstr bufer2 getch exit main endp end main |
هیچ نظری ثبت نشده است