어셈블리

어셈블리 최소값 추출

파아랑새 2017. 9. 26. 08:51

# include <stdio.h>


int main(void) {

char vData[] = { 10, 2, 9, 12, 15, 20 };

char vSmall = vData[0];

char* prompt = "vSmall => %d\n";

__asm {

mov edi, 1;


Nj:

mov al, [vData + edi];

cmp vSmall, al;

jnl below_;

jl notBelow_;


below_:

mov vSmall, al;

jmp flowJ;


notBelow_:

jmp flowJ;


flowJ:

inc edi;

cmp edi, 6;

jne Nj;

je Sj;


Sj:

push         vSmall;

push         prompt;

call         dword ptr[printf];

pop ebx;

pop ebx;

xor eax, eax;

leave;

retn;

}

}