어셈블리
jz ==> zero flag
파아랑새
2017. 9. 23. 22:49
// jz ==> zero flag
# include <stdio.h>
int main(void) {
int v1 = 10;
int v2 = 20;
char* zeroPrompt = "zero flag is zero \n";
char* zeroNPrompt = "zero flag is not zero \n";
__asm {
mov eax, v1; // eax = v1
mov ebx, v2; // ebx = v2
sub eax, ebx; // eax -= ebx
jz zeroJump; // if eax == 0 then zf == 0
zeroNPrompt:
push zeroNPrompt;
call dword ptr[printf];
pop ebx;
jmp End_;
zeroJump:
push zeroPrompt;
call dword ptr[printf];
pop ebx;
jmp End_;
End_:
xor eax, eax;
leave;
retn;
}
}