ورود

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال (اسمبلی)



T.Toosi
December 24th, 2015, 17:46
از اساتید تقاضا داشتم کد زیرو چک بکنند، قرار اگر کاربر 2 وارد کرد وارد ref بشه ، حالا اگر غیر 2 وارد کنند وارد noy نمیشه میخواستم ببینم دلیلش چیه و کجاش مشکل داره. تشکر


Str db 'OK $'
Ctr db 'NO $'


mov ah,01H
int 21h


sub al,48
cmp al,2
jnz ref

ref :
Mov dx,offset Str ; or Lea dx,Message
Mov ah,9h
Int 21h

jz noy

noy :
Mov dx,offset Ctr ; or Lea dx,Message
Mov ah,9h
Int 21h

pakradm
December 24th, 2015, 18:25
با عرض سلام و احترام

شما شرایط را طوری در نظر بگیرید که اگر کاربر عددی غیر 2 وارد نمود به قسمت noy برود و در غیر اینصورت(کاربر عدد 2 را وارد نمود) برنامه خط به خط ادامه یابد.
همچنین در آخرین خط برنامه می بایست عبارت END قرار گیرد.
یعنی کد شما به صورت زیر اصلاح می گردد.




Str db 'OK $'
Ctr db 'NO $'


mov ah,01H
int 21h

sub al,48
cmp al,2
jnz noy
ref :
Mov dx,offset Str ; or Lea dx,Message
Mov ah,9h
Int 21h
end

noy :
Mov dx,offset Ctr ; or Lea dx,Message
Mov ah,9h
Int 21h

T.Toosi
December 24th, 2015, 18:38
با عرض سلام و احترام

شما شرایط را طوری در نظر بگیرید که اگر کاربر عددی غیر 2 وارد نمود به قسمت noy برود و در غیر اینصورت(کاربر عدد 2 را وارد نمود) برنامه خط به خط ادامه یابد.
همچنین در آخرین خط برنامه می بایست عبارت END قرار گیرد.
یعنی کد شما به صورت زیر اصلاح می گردد.




Str db 'OK $'
Ctr db 'NO $'


mov ah,01H
int 21h

sub al,48
cmp al,2
jnz noy
ref :
Mov dx,offset Str ; or Lea dx,Message
Mov ah,9h
Int 21h
end

noy :
Mov dx,offset Ctr ; or Lea dx,Message
Mov ah,9h
Int 21h



تشکر 2 تا سوال داشتم.

jnz یعنی زیرو فلگ صفر باشه ؟
ویک مشکل دیگه دارم توی رشته ها کارکتر O چاپ نمیکنه (در ok کد بالا)

با Emu8086 هم مینویسم.

pakradm
December 24th, 2015, 19:40
تشکر 2 تا سوال داشتم.

jnz یعنی زیرو فلگ صفر باشه ؟
ویک مشکل دیگه دارم توی رشته ها کارکتر O چاپ نمیکنه (در ok کد بالا)

با Emu8086 هم مینویسم.

سلام مجدد

1- یعنی اگر مقدار Zero Flag برابر غیر صفر بود به جایی JUMP انجام بده
2- این مورد را متاسفانه فراموش کرده ام... یادش بخیر... آخه مال 3 سال پیش است... شرمنده!!!:d