ورود

View Full Version : سوال: نحوه محاسبه ب م م با استفاده از ماکرو



p30_code
یک شنبه 21 خرداد 1391, 20:06 عصر
با سلام خدمت دوستان برنامه نویس ، تابع ماکرو به چه صورت می باشد لطفا راهنمایی کنید.؟ این یک نمونه از کد از ب م م اشکال کارم کجا هست.
include 'emu8086.inc'

org 100h

bmm 90,24

call print_num

bmm MACRO a,b


mov dl,a
mov dh,b
l2:mov al,dl
mov bl,dh
div bl
cmp ah,0
je l1
mov dl,bl
mov dh,ah
jmp l2
l1:
putc bl

endm



define_print_uns
end

ssbostan
یک شنبه 21 خرداد 1391, 21:29 عصر
با سلام؛
اين يك نمونه كد براي محاسبه بزرگترين مقسوم عليه مشترك دو عدد:



bmm macro a, b
local repeat, bmm_end

mov ax, a
mov bx, b
div bx
cmp dx, 0
je bmm_end
repeat:
mov ax, bx
mov bx, dx
mov dx, 0
div bx
cmp dx, 0
je bmm_end
jmp repeat

bmm_end:

endm


موفق باشيد.

p30_code
یک شنبه 21 خرداد 1391, 23:08 عصر
دوست عزیز من از شما نخواست که یک کد دیگه بنویسید فقط خواستم اشکال کارم رو بدونم.بابت کد ممنون.

ssbostan
یک شنبه 21 خرداد 1391, 23:42 عصر
دوست عزيز، من كد رو براتون مينويسم كه با چيزي كه خودتون نوشتيد مقايسه كنيد و بعد مشكلتون رو رفع كنيد.!!!

كد خودتون:
به دو خطي كه اضافه كردم توجه كنيد.


include 'emu8086.inc'

org 100h

bmm MACRO a,b


mov dl,a
mov dh,b
l2:mov al,dl
mov bl,dh
//mov dx, 0
div bl
cmp ah,0
je l1
mov dl,bl
mov dh,ah
//mov ah, 0
jmp l2
l1:
putc bl

endm



bmm 90,24


موفق باشيد.