ورود

View Full Version : در خواست کمک



ماری کوری
جمعه 02 مرداد 1394, 23:06 عصر
سلام
من این کد رو برای بدست آوردن ب م م دو عدد به زبان اسمبلی نوشتم به نظر دوستان درسته ؟لطفا هر کی می دونه زودتر راهنمایی کنه ؟ برای نوشتن یه برنامه با استفاده از روال باید از پشته استفاده کنیم ؟مثلا همین برنامه
.DATA
M DWORD 17
N DWORD 7
.CODE.
main PROC
mov eax,M
mov ebx,N
:while1
cdq
div ebx
cmp edx,0
je end1
mov eax,ebx
mov ebx,edx
jmp while1
:end1
ret
main ENDP
END

masoud.8086
شنبه 03 مرداد 1394, 08:57 صبح
سلام
خیر برنامه اشتباه هست برای بدست ارودن ب م م باید ابتدا مقسوم علیه های دو عددو بدست بیارید و بعد برگردید بزرگترین عدد یا همون مقسوم مشترکو بینشون پیدا کنید برای این کار ابتدا میای با وقفه int 21/ah,0ah از وردی دریافت میکنی بعد میای رشته دریافتی رو به عدد تبدیل میکنی( همچنین برای عدد دیگه) اگرم قراره عدد از داخل برنامه وارد بشه نیازی به این کار نیستو حوب بعد اعدادو از یک تا نصفه عدد یا ریشه عدد به خود عدد تقسیم میکنی و اگر باقیماندش صفر شده اونو داخل ی ارایه میزی برای عدد دوم هم همین طور .بعد میای داخل دوتا ارایت بزرگترین عدد مشترکو بدست میاری..موفق باشی.

ماری کوری
شنبه 03 مرداد 1394, 10:48 صبح
سلام
ممنون از جوابتون
می تونیم از روال استفاده کنیم و ودو عدد رو از طریق پشته وارد کنیم ؟ من هنوز دستورات اسمبل رو به طور کامل بلد نیستم . آخه من تازه کارم .

masoud.8086
شنبه 03 مرداد 1394, 10:57 صبح
بله میتونید ..هر قسمت از کدو بخواید میتونید داخل روال بنویسید..برای وارد کردن عدد میتونید داخل دیتا سگمنت تعریف کنید..