PDA

View Full Version : جزر گرفتن در اسمبلی



kiuhnmgtrdcv
پنج شنبه 21 خرداد 1388, 18:28 عصر
سلام به همه دوستان گرامی
میخواهم از یه مقدار جزر بگیرم مثل تابع sqrt در ++c
چطور اینکارو انجام بدهم

tdkhakpur
پنج شنبه 21 خرداد 1388, 22:02 عصر
سلام
راه پیشنهادی
شما با شیفت دادن متغییر ها یا یک رجیستر به راست میتونید کار جذر رو انجام بدید
به این ترتیب که نتیجه شیفت به راست را در خودش ضرب کرده با عدد مقایسه کنید اگر بزرگتر از عدد شد این عمل را تکرار کنید.
موفق باشید.

kiuhnmgtrdcv
جمعه 22 خرداد 1388, 01:51 صبح
ممنون از پاسختون
لطفا ایراد این کد بگیرید بجای ؟ چی بذارم اگر ایراد دیگری هم داره خوشحال میشم اصلاح کنید


shr bx,?
mov dx,0
mov ax,bx
mul ax
l1:
cmp ax,bx
ja l1

tdkhakpur
جمعه 22 خرداد 1388, 12:47 عصر
سلام


num dw 64
mov bx, num
l1:
shr bx, 1
mov dx,0
mov ax,bx
mul ax
cmp bx, 0
je exit
cmp ax, num
ja l1
exit:

خروجی شما در bx خواهد شد.
در فوق رجیستر های استفاده شده توسط mul رو فراموش کردم فکر کمنم ax*ax میکند.
موفق باشید.

kiuhnmgtrdcv
جمعه 22 خرداد 1388, 19:52 عصر
، ممنون از بابت اصلاح کد
بله mul میره اونی رو که تو ax هست توی مقدار جلوییش ضرب میکنه مثلا اینجا mul bx ،
bx در ax ضرب میکنه