PDA

View Full Version : حرفه ای: تبدیل نوع رشته به عدد در اسمبلی



oliya24
شنبه 19 آذر 1390, 19:08 عصر
سلام دوستان خسته نباشید
مدت کمی است که دارم زبان اسمیلی رو کار میکنم بنا به دلایلی قبل از اون و هنوز هم ویبی کار هستم

حال یه سوال برام پیش اومدم ببینید ما وقتی متغییری رو در اسمبلی یا هر زبان دیگری برای چاپ میسازیم حتی اگر عدد هم باشد خود زبان برنامه سازی اون رو رشته در نظر میگیره !!!
مثلا فرض کنید من یه متغییر در برنامم تعریف کردم که عدد 1234 رو برام نمایش بده خود اسمبلی این عدد رو به عنوان رشته میپذیره و بعد به صورت عدد نمایش میده به کاربر

خوب من تو زبان ویبی برای تبدیل رشته به عدد از توابع خود ویبی که نامش VAR بود استفاده میکردم
ولی توی اسمبلی نمیدونم باید چکار کنم ؟؟؟؟؟
لطفا دوستان من رو یاری فرمایید ممنون میشم

oliya24
یک شنبه 20 آذر 1390, 14:27 عصر
سلان دوستان من خودم یکمی گشتم و چیزی مشابه پیدا کردم لینک رو میزارم ولی یه مشکلی دارم این برنامه بعد از اینکه رشته رو به عدد تبدیل میکنه اون و 2 برابر میکنه
دوستان من لینک رو میزارم میشه بفرمایید که کدوم قسمت هست که تبدیل رشته به عدد رو انجام میده؟؟؟؟ ممنون میشمhttp://miladshare.blogfa.com/post-3.aspx

امید خطیبی
یک شنبه 20 آذر 1390, 15:25 عصر
با سلام خدمت دوست عزیز
داداش جواب شما اینه

;;;; convert number in ax to string
add count,1
lea bx,string
add bx,count
mov sign,' '
cmp ax,0
jge setup
mov sign1,'-'
neg ax
setup: mov cx,10
اگر مشکلی چیزی داشت بگویید تا حل کنم.

oliya24
یک شنبه 20 آذر 1390, 16:07 عصر
سلام دست شما دوست عزیز درد نکنه ببخشید که یکم زیاده روی میکنم ولی میشه خواهش کنم کدها رو تو یه فایلی ذخیره کنید که ترتیبشون بهم نخوره الان من دارم کد ها رو پشت سر هم میبینم ممنون میشم اگر این کار رو بکنید
ببخشید میشه یه برنامه تست بزارید منظورم همین کده چون واقعا من متوجه نمیشم ممنون میشم اگر این لطف بزرگ رو بکنید

oliya24
یک شنبه 20 آذر 1390, 16:33 عصر
ببخشید لطفا من رو کمک کنید خواهش میکنم این برنامه بد توری داره ذهنم رو در گیر میکنه

IamOverlord
یک شنبه 20 آذر 1390, 16:49 عصر
باید از هر کاراکتر '0' تا کم کنی!
'0' تا یعنی 48 تا.
منظور کم کردن 48 از عدد هر بایت (کاراکتر) هست.

xman_1365_x
یک شنبه 20 آذر 1390, 16:58 عصر
حال یه سوال برام پیش اومدم ببینید ما وقتی متغییری رو در اسمبلی یا هر زبان دیگری برای چاپ میسازیم حتی اگر عدد هم باشد خود زبان برنامه سازی اون رو رشته در نظر میگیره
مثلا فرض کنید من یه متغییر در برنامم تعریف کردم که عدد 1234 رو برام نمایش بده خود اسمبلی این عدد رو به عنوان رشته میپذیره و بعد به صورت عدد نمایش میده به کاربر
!!!
در هیچ زبانی به این شکل نیست! در اسمبلی میشه از توابع آماده استفاده کرد یا خودمان تابعی برای این کار بنویسیم در زبان های دیگه تبدیل نوع ساده شده و شما رو درگیر پیچیدگی کار با داده نمیکنند
مثالی هم که ذکر کردین به این شکل نیست ،تبدیل ها صورت میگیره و عدد به کاراکتر اسکی یا یونی کد تبدیل میشه که قابلیت نمایش پیدا میکنه


خوب من تو زبان ویبی برای تبدیل رشته به عدد از توابع خود ویبی که نامش VAR بود استفاده میکردم
ولی توی اسمبلی نمیدونم باید چکار کنم ؟؟؟؟؟
در ارتباط با تبدیل کاراکتر به عدد و عدد به کاراکتر قبلا بحث شده نمونه کد هم هست فقط کمی جستجو کنید.

کدوم قسمت هست که تبدیل رشته به عدد رو انجام میده؟؟؟؟
در کد کامنت گذاشته تبدیل عدد به رشته!

میشه خواهش کنم کدها رو تو یه فایلی ذخیره کنید که ترتیبشون بهم نخوره الان من دارم کد ها رو پشت سر هم میبینم ممنون میشم اگر این کار رو بکنید
ببخشید میشه یه برنامه تست بزارید منظورم همین کده چون واقعا من متوجه نمیشم ممنون میشم اگر این لطف بزرگ رو بکنید
شما کتاب رو مطالعه کردین ؟ برای اینکه براتون از گنگ بودن در بیاد emu8086 رو نصب کنید و خط به خط برنامه رو اجرا کنید ، کد هایی که در اون صفحه دیدین در فایلی با پسوند asm ذخیره کنید و نحوه اسمبل کردن هم در سایت موجود هست،همینطور برنامه های زیادی

ببخشید لطفا من رو کمک کنید خواهش میکنم این برنامه بد توری داره ذهنم رو در گیر میکنه
این موردم که خوبه!
پست های بی دلیل نزنید!(قوانین رو مطالعه کنید)
موفق باشی

oliya24
یک شنبه 20 آذر 1390, 18:00 عصر
دوستان من این کد رو اینطوری نوشتم ولی به م خطا میده میشه لطف کنید و بفرمایید که چطور میتونم درستش کنم ممنون میشم
http://www.persianupload.com/1061178

xman_1365_x
یک شنبه 20 آذر 1390, 18:07 عصر
دوستان من این کد رو اینطوری نوشتم ولی به م خطا میده میشه لطف کنید و بفرمایید که چطور میتونم درستش کنم ممنون میشم
http://www.persianupload.com/1061178
در خط مذکور lea bx,string باید باشه که آدرس رو قرار بدین اما این کپی کردن کد بدون درکش اشتباه هست چون این برنامه هیچ کاری انجام نمیده
همونطور که گفتم لینکی که اول قرار دادین رو در امولاتور خط به خط دیباگ کنید
موفق باشی

oliya24
دوشنبه 21 آذر 1390, 00:08 صبح
سلام دوستان خسته نباشید من یه کدی پیدا کردم ولی بلد نیستم که کد دقیقا چطوری عمل میکنه و خیلی از جا ها رو معنیش رو نمیدونم میشه خواهش کنم برام کد رو توضیح بدید؟؟ و بگید که اصلا کد صحیح هست یا نه؟؟ ممنون میشم
http://www.persianupload.com/1757573