어셈블리

별찍기 어셈블 코드

파아랑새 2017. 10. 30. 21:09

# include <stdio.h>


int main(void) {

int num = 0;

char* prompt = "%d";

char* star = "*";

char* s = "\n";


__asm {

// scanf("%d", &num)

lea edi, num; // edi = &num

push edi;

push prompt;

call dword ptr[scanf];

pop ebx;

pop ebx;

/////////////////////////////////

mov ecx, num;

L1:

push ecx;

L2:

mov edx, ecx;

push edx;

push star;

call dword ptr[printf];

pop ebx;

pop ecx;

loop L2;

/////////////////////////////////

push s;

call dword ptr[printf];

pop ebx;

/////////////////////////////////

pop ecx;

loop L1;

}

return 0;

}