Возможно, вопрос глупый, но всё же... Подскажите, пожалуйста, следующие инструкции будут выполняться с одинаковой скоростью? 1) .if eax == ebx inc ecx .endif ... 2) cmp eax, ebx je inc_ecx jmp next inc_ecx: inc ecx next: ...
.if - не инструкция а макрос. в даном конкретном случае он,наверное, скомпилится в такой код cmp eax,ebx jne @f inc ecx @@:
все, что начинается с точки, в масме - макросы. .if, .while и прочие прочие прочие... invoke, кстати, тоже не команда. Реальные команды ассемблера можно посмотреть в справочнике.
Код (Text): cmp eax, ebx je inc_ecx jmp next inc_ecx: inc ecx next: ... Это не совсем дзенно... а вот так дзенно: Код (Text): cmp eax, ebx jne next inc ecx next: ...
nitrotoluol зато код Код (Text): jne dword ptr [eax] получить нельзя, а код Код (Text): je @f jmp dword ptr [eax] @@: можно
Mikl__ А еще обнулить регистр еах вот так нельзя: jnz eax А вот так можно: xor eax,eax При чем тут обнуление регистров? Я тоже не знаю причем... и jmp dword ptr [eax] я тоже не понял при чем тут....