PDA

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



sattardears
شنبه 09 اردیبهشت 1391, 11:08 صبح
سلام

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

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

MostafaMohammadi
شنبه 09 اردیبهشت 1391, 20:26 عصر
من متوجه سوالتون نشدم،


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

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

sattardears
یک شنبه 10 اردیبهشت 1391, 14:22 عصر
از شما آقای محمدی تشکر دارم برای جوابتون .
در اصل من تو نوشتن صورت مساله اشباه کردم و باید مینوشتم رشته به کد باینری

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


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

86508

برنامه Microsoft Macro Assembler 5.10 و Microsoft Segmented-Executable Linker 5.05 رو برای کامپایل کردن و ساخت فایل اجرایی برنامه احتیاج دارید که می تونی از آدرس زیر دانلود کنید:
http://lajevardi.persiangig.com/app/asm/Masm.v.6.11.rar
(با تشکر از کاربر عزیز lajevardi (http://barnamenevis.org/member.php?13251-lajevardi))
منبع: تاپیک نحوه اجرای اسمبلی (http://barnamenevis.org/showthread.php?30576-%D9%86%D8%AD%D9%88%D9%87-%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C-%D8%A7%D8%B3%D9%85%D8%A8%D9%84%DB%8C)
این کد بدنه برنامه ایه که می خواهید بنویسید:



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


شما شروع کنید به برنامه نویسی اش. هرجا به مشکل برخوردید، مشکل تون رو اینجا مطرح کنید.