تغييرات در ماشين حساب به زبان اسمبلي

jamjid

New Member
يه برنامه اسمبلي است كه مي خواهم كمكم كنيد چون به كمك شما احتياج دارم البته مشكل من براي شما سخت نيست
در برنامه اي )يه ماشين حساب ساده(كه مي توانيد آنرا از اينجا دانلود كنيد به مشكل برخوردم

http://hosseindn.persiangig.com/calc.rar
مي خواهم هنگام تعريف متغير براي گرفتن ورودي از كاربر به جاي دستورات زير




کد:
DIGIT1   DB 3,?,3 DUP(?)
از دستور زير استفاده كرد(همان دستورات گرفتن رشته از كاربر)

کد:
Strlist lable byte
max db 3
len  db ?
Buffer  db 3 dup(' ')
اين دستورات آرايه اي تعريف مي كند و با استفاده از شماره سرويس
0h
Ah از شماره وقفه 21
‌ از كاربر ورودي را گرفت


کد:
mov ah, 0ah
lea dx, strlist
int 21
من مي خواهم بدانم اگر بخواهم از روشي كه گفتم استفاده كنم بايد در كدام قسمت برنامه تغييرات اعمال كرد تا برنامه به همان روال قبل جواب بدهد
در برنامه از متغیرهایی مانند Digit1+2 استفاده شده من اگه بخواهم به روشي كه گفتم عمل كنم بايد تغييراتي اعمال كنم چون متغير Digit1 تغيير مي يابد

مشكل دوم اين اينست كه چطوري مي تونم از كاربر تا 8 رقم ورودي بگيرم و برنامه جواب درست بدهد
)برنامه تا 2 كاراكتر بيشتر ورودي نميگيرد (
لازم به ذكر است كه من به جاي اعداد 3 در Data segment ‌عدد 9 گذاشتم . كاربر ميتوانست تا 8 رقم عدد ورودي بدهد ولي برنامه جواب درست به كاربر نمي داد

اگه لطف كنيد اين تغييرات را به من بگيد ممنون ميشم
با تشكر از همه دوستان
 

جدیدترین ارسال ها

بالا