ورود

View Full Version : سوال: درخواست 2 برنامه نمایش مقدار عددی در اسمبلی



persianboy1993
سه شنبه 27 آبان 1393, 21:08 عصر
اگه کسی از دوستان میتونه راهنمایی کنه ممنون میشم.
1.برنامه ای که دو عدد حداکثر 4 رقمی (زمان خواندن عدد تا 4 رقم و با فشردن enter خواندن را ادامه می دهید) را خوانده و حاصل جمع آنها را بر روی مانیتور نشان دهد.
2.برنامه ای که عدد موجود در ax را بر روی مانیتور نشان دهد

masoud.8086
سه شنبه 27 آبان 1393, 21:48 عصر
سلام
نكته: چون اسمبلي همه چيزو به عنوان رشته ميشناسه بايد رشته عددي رو به عدد تبديل كرده و بعد عمليات مورد نظر رو انجام داد
ابتدا با وقفه int 21 /ah,0ah و يا ah,1 رشته رو از ورودي ميگيري(بايد بريزي تو ارايه) بعد مياي چك ميكني كه كاربر چه تعداد كاركتر وارد كرده
فرضا ميكنيم كاربر "589" رو وارد كرده خوب پس تعدادش ميشه 3 كاركتر. حالا مياي كاركتر به كاركتر ارزش گذاري ميكني مثلا
1 10 100
9 8 5

خوب چون كاربر سه كاركتر وارد كرده پس برزگترين عدد توليد شده از هزار كوچكتره پس نهايتا صدگان داره

589=(1*9)+(10*8)+(100*5)
خوب رشته ورودي دوما رو هم به اين روش تبديل به عدد ميكني و عمليات مورد نظر رو روش انجام ميدي
================================================== ========================
سوال دومت: برعكس اينه
يعني وقتي ميخواي عددو نمايش بدي بايد به رشته تبديل كني و بعد چاپ كني
براي اين كار ابتدا عددو به 10 تقسيم ميكني و باقيمانده رو داخل ارايه ذخيره ميكني (از اخر ارايه) و بعد دوباره تقسيم تا جايي كه باقيمانده يا همون al / ax كوچكتر از ده بشه اونوقت خوده خارج قسمتو مياري داخل ارايه و بعد چاپش ميكني
موفق باشي ..

persianboy1993
سه شنبه 27 آبان 1393, 22:31 عصر
خیلی ممنونم ولی ما هنوز آرایه رو نخوندیم و نمدونم چه طور مقدار رو بریزم تو ارایه؟!:متفکر:

masoud.8086
سه شنبه 27 آبان 1393, 22:46 عصر
ميتوني همون جا كه عددو تقسيم ميكني باقيماندشو با وقفه int21h/ ah,02 چاپ كني نيازم به ارايه نيست
مثلا
عدد 235 رو ميخواي چاپ كني مياي تقسم بر 10 ميكني al=23 ,ah=5 خوب مياي مقدار ah ميبري به خروجي با وقفه



mov ah,02
mov dl,a ;a=al/ah
int 21h
اين قعطه كد داخل حقله بايد باشه تا زماني كه خارج قسمت كمتر از 10 شد وبعد بيرون از حلقه خارج قسمتم به خروجي ببر.
موفق باشي.

persianboy1993
چهارشنبه 28 آبان 1393, 12:00 عصر
خدایی اگه من میتونستم برنامه رو بنویسم اینجا چی میکردم!

masoud.8086
چهارشنبه 28 آبان 1393, 20:41 عصر
اينجا خيلي كسا هستن كه ميتونن اين برنامرو ببنويسن اما اگه قرار باشه برنامتو كسي بنويسه كه ديگه پيشرفتي برات نداره بايد خود ادم تلاش كنه تا ياد بگيره..شما شروع كن به نوشتن هرجاشو موندي بگو تا كمكت كنم...
موفق باشي.

persianboy1993
چهارشنبه 28 آبان 1393, 21:33 عصر
حق با شماست اشتباه از من بود دارم روش کار میکنم ممنون