ورود

نسخه کامل مشاهده نسخه کامل : یه همفکری یه کمک



yas7
27-11-2007, 21:53
من یه زیر برنامه دارم به شکل زیر:

multi proc
push dx
move dx,0
L1:add dx,bx
dec al
jne L1
move ax,dx
pop dx
et
multi endp

که dx شمارنده.,alورودی 8بیتی, ورودی 16 بیتی,bx
و ax حاصل ضرب توش میره
حالا سوال من اینه کسی میتونه کمکم کنه یه زیر برنامه دیگه بنویسم که با کمک همین زیر برنامه یه زیر برنامه بازگشتی به اسم fact بنویسم که factعدد موجود در ثبات alرا حساب و در ax برگردونه

_H2_
28-11-2007, 15:21
سلام
اولاً یاد آور میشوم که تابع فاکتوریل به شدت سعودی است، به طوری که
فاکتوریل 9 از گنجایش AX فراتر میرورد. (16 بیت)
فاکتوریل 13 از گنجایش EAX فراتر میرورد. (32 بیت)
فاکتوریل 21 از گنجایش EDX:EAX هم فراتر میرود. (64 بیت)

این نمونه ها در محدوده 16 بیتی کار میکند وعدد را در AL میگیرد و فاکتوریل را در AX پس میدهد.
هیچ یک از ثباتها غیر از AX متاثر نخواهند شد.
اگر عدد از محدود مجاز بیشتر یا کمتر باشد صفر پس میدهد، که شما میتوانید در صورت عدم نیاز، دستورات چک کردن محدوده مجاز را حذف کنید.

نمونه غیر بازگشتی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

نمونه بازگشتی

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

yas7
28-11-2007, 19:00
ye donya mamnoon az komaketoon