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;

}

}

'어셈블리' 카테고리의 다른 글

어셈블리 배열 출력  (0) 2017.09.26
곱하기 어셈 문제  (0) 2017.09.24
대소관계  (0) 2017.09.23
어셈블리 계산기(더하기, 빼기, 나누기, 곱하기)  (0) 2017.07.30
hello world  (0) 2017.07.20