# برنامه نویسی سطح پایین > برنامه نویسی اسمبلی خانواده x86 > سوال: برنامه اسمبلی گرفتن رشته وتبدیل تک تک کاراکترهای آن به کد اسکی

## sattardears

سلام 

برنامه اسمبلی گرفتن رشته وتبدیل تک تک کاراکترهای آن به کد اسکی 

لطفا به بنده در نوشتن  این برنامه کمک کنید.

----------


## MostafaMohammadi

من متوجه سوالتون نشدم،



> برنامه اسمبلی گرفتن رشته وتبدیل تک تک کاراکترهای آن به کد اسکی


وقتی یک روشته رو از ورودی می گیریم، ابتدا به ساکن، کد اسکی اونها رو گرفته ایم و نیازی نیست این کد اسکی رو دوباره به کد اسکی تبدیل کنیم.
وقتی از کاربر درخواست ورودی می کنیم و کاربر به طور مثال کلید "3" رو فشار می ده، کد اسکی این کلید یعنی 051 به بافر فرستاده میشه و ... نه مقدار عدد 3.

----------


## sattardears

از شما آقای محمدی تشکر دارم  برای جوابتون .
در اصل من تو نوشتن  صورت مساله اشباه کردم  و  باید مینوشتم  رشته به کد باینری

----------


## MostafaMohammadi

حالا بهتر شد، ولی هنوز یه مشکلی وجود داره. اگه کاربر در رشته ای که داره وارد می کنه از کاراکترهای حرفی هم استفاده کرد چی؟ اون وقت برای اون کاراکتر ها، معادلی در دستگاه باینری وجود نداره که!
باید سوال رو این طور مطرح کنید:



> به زبان اسمبلی برنامه ای بنویسید که یک رشته عددی از ورودی دریافت کند و تک تک اعداد آن رشته را به معادل باینری آنها تبدیل نموده و ذخیره نماید.


این فوچارت برنامه ای‌ه که می خواهید بنویسید:

Numeric_String_to_Binary_String.jpg

 برنامه Microsoft Macro Assembler 5.10 و Microsoft Segmented-Executable Linker 5.05 رو برای کامپایل کردن و ساخت فایل اجرایی برنامه احتیاج دارید که می تونی از آدرس زیر دانلود کنید:
http://lajevardi.persiangig.com/app/asm/Masm.v.6.11.rar
(با تشکر از کاربر عزیز *lajevardi*)
منبع:   تاپیک  نحوه اجرای اسمبلی
این کد بدنه برنامه ایه که می خواهید بنویسید:

 TITLE   'NSTRING.ASM' Gets a numeric string from keyboard
SSEG    SEGMENT STACK
        DW 32H DUP(0)
SSEG    ENDS
DSEG    SEGMENT
        ;متغیر ها اینجا تعریف می شود.
DSEG    ENDS
CSEG    SEGMENT
        ASSUME CS:CSEG, DS:DSEG, SS:SSEG
START   PROC FAR
        MOV AX,DSEG
        MOV DS,AX
        ;کدهای اصلی برنامه اینجا نوشته می شود.
        MOV AH,01H
        INT 21H
FINISH: MOV AX,4c00h                            
        INT 21H  
START   ENDP
CSEG    ENDS     
END START
END
 
شما شروع کنید به برنامه نویسی اش. هرجا به مشکل برخوردید، مشکل تون رو اینجا مطرح کنید.

----------

