Я занимаюсь реверс-инжинирингом с помощью простого приложения для взлома и отлаживаю его с помощью OllyDbg.
Я застрял в поведении инструкции AND с операндом 0x0FF. Я имею в виду, что в C++ это эквивалентно if(... = true).
Итак, что смущает:
ECX = CCCCCC01 ZF = 1 AND ECX, 0FF ### After instruction ECX = 00000001 ZF = 0 ZF - Should be active
Я не знаю, почему это результат регистра 1 ECX, а ZF не активен.
И => 1 , 1 = 1 (те же операнды) В противном случае = 0
Кто-нибудь может мне это объяснить?
спасибо за помощь