PDA

View Full Version : تبدیل مبنا ها در اسمبلی



kazy afa
شنبه 05 خرداد 1386, 00:26 صبح
با سلام
کد برنامه ای اسمبلی رو میخوام که یک عدد مبنای 10را از ورودی دریافت و مبناهای 2و8و16 ان راچاپ کند
خواهش میکنم یکی به من کمک کنه (فقط تا دو شنبه)

kazy afa
شنبه 05 خرداد 1386, 00:28 صبح
لطفا کمک کنید

kazy afa
شنبه 05 خرداد 1386, 00:40 صبح
لطفا کمک کنید

mahdi_akhavan
چهارشنبه 09 خرداد 1386, 00:15 صبح
شما میتوانید به کمک وقفه 21hو تابع 01h یک عدد از ورودی گرفته و در رجیستری قرار دهید و سپس آن عدد را با 30h جمع کنید به کمک دستور add و عدد حاصله معادل مبنای 16 آن کاراکتر خواهد بود.

kazy afa
پنج شنبه 10 خرداد 1386, 00:03 صبح
khili mamnonam
vali nemidonam che jori kodesho benevisam

mahdi_akhavan
جمعه 11 خرداد 1386, 00:50 صبح
mov ah,01h
int 21h
این وقفه مقداری رو از ورودی گرفته و در al قرار میدهد پس ما al رو با 30h جمع مکنیم
add al,30h
بعد از این دستور عدد گرفته شده به مبنای 16 اون عدد تبدیل و در al ذخیره میشه.

Younes
شنبه 12 خرداد 1386, 14:22 عصر
با سلام
جناب مهدی اخوان اگر این عدد گرفته شده کمتر از 10 هم باشد بازهم این کاررا انجام می دهید؟ در ضمن این برنامه و توصیه شما فقط برای اعداد یک رقمی است اما اگر عدد بیش از یک رقم باشد کار سخت تر است . یعنی اول باید ارزش عددی ورودی محاسبه شود (زیرا ورودی character است نه عدد) بعد با تقسیمهای متوالی به 16 و نگه داشت باقیمانده ها در یک رشته و سپس تبدیل آنها به کاراکتر ( برای اعداد کمتر از 10 اضافه کردن 48 و اعدادبالای 10 اضافه کردن 55 ) رشته خروجی ساخته شود.

mehdi5106
شنبه 12 خرداد 1386, 14:51 عصر
به این فایل یک نگاه بنداز
تبدیل عدد دهدهی به باینری: