ورود

View Full Version : سوال: برنامه ای که دو عدد را بدون استفاده از دستور CMP مقایسه کند(فوری)



elham75
جمعه 23 آبان 1393, 18:17 عصر
برنامه ای که دو عدد را بدون استفاده از دستور CMP مقایسه کند

masoud.8086
یک شنبه 25 آبان 1393, 13:11 عصر
سلام
فرضا دو عدد داري x,y
x=10
y=-10
خوب ابتدا مياي اين دو عددو باهم جمع ميكني كه جواب ميشه صفر ____>نتيجه:هر وقت در عمل جمع جواب محاسبات صفر بشه zf ميشه 1 كه اينجا ميايم zf چك ميكنيم اگه 1 بود دو عدد ميشن مساوي x=y


اگر
x=2
y=4
اينجا مياي x-y ميكني(تفريق) بعد مقدار فلگ sf رو چك ميكني اگه sf=1 شد يعني جواب محاسباتت منفي شده يعني عدد x كوچكتر از y
x<y
اگر هيچ كدوم از اين دو شرط برقرار نبود جوابش ميشه x>y
موفق باشي.

xman_1365_x
دوشنبه 26 آبان 1393, 10:00 صبح
دستورالعمل cmp کاری که میکنه اینه op1 رو ازop2 کم میکنه و فلگ هارو تغییر میده و مقدار op رو تغییرنمیده،حالا شما با کد زیر میتونید این عمل رو شبیه سازی کنید


mov ax,2
;cmp ax,1
push ax
sub ax,3
pop ax
jae l1

mov ax,0
jmp end_l1
l1:
mov ax,1
end_l1

موفق باشی