PDA

View Full Version : سوال در مورد CMP و JNZ



aryasoft2872
شنبه 01 بهمن 1390, 13:34 عصر
عرض سلام و روز بخیر

امروز داشتم یک آموزش درباره کرک می دیدم که یک قسمتش رو هر کاری می کنم نمی فهمم.ممنون میشم دوستان راهنمایی کنند.

توی خط قبل از JNZ در تصویر -1 با EAX مقایسه شده که چون مقدار EAX در اینجا FFFFFFF یا همون -1 نتیجه شرط صحیحه و Z Flag مقدارش 1 میشه حالا توی شرط JNZ بررسی می کنه که آیا صفر هست یا نه و منطقا چون صفر نیست باید Jump رو انجام بده و از روی دستور نمایش پیغام عبور کنه در حالی که اینکارو نمی کنه...چرا اینجوری میشه البته توی آموزش فلگ زد رو صفر کرد و در نهایت هم شرط رو تبدیل به JMP کرد ولی نمی فهمم زد که مقدارش 1 و در شرط صدق می کنه چرا شرط انجام نمیشه.

پیشاپیش ممنونم

r00tkit
شنبه 01 بهمن 1390, 14:15 عصر
Z Flag مقدارش 1 میشه


????

cmp
عدد ها رو sub می کنه اگه برابر بودن ZF باید 0 بشه در این جا چون برابر هستن باید ZE=0 باشه و شرط پرش هم JNZ هستش یعنی اگه 0 نبود پرش کن و نباید هم پرش کنه

The zero flag is set whenever the result of the subtraction is equal to zero. This, of course, only occurs when the operands are equal

jjhacker
شنبه 20 اسفند 1390, 16:32 عصر
من متوجه نشدم ، دقیق تر بگید.
چه کار کردید؟؟؟ ، چی توقع داشتید بشه و نشده؟؟؟