정올_문제_

어셈블리2018. 6. 22. 17:15

http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=155&sca=1030


# include <stdio.h>


int main(void)

{

int v1, v2, v3;

char* sPrompt = "%d %d %d";

char* mPrompt = "sum : %d\navg : %d\n";

int sum_ = 0x0;

int div_ = 0x0;

__asm

{

// scanf("%d %d %d", &v1, &v2, &v3)

lea edi, dword ptr[v3];

push edi;


lea edi, dword ptr[v2];

push edi;


lea edi, dword ptr[v1];

push edi;


push dword ptr[sPrompt];

call dword ptr[scanf];

pop ebx;

pop ebx;

pop ebx;

pop ebx;


mov eax, dword ptr[v1];

add eax, dword ptr[v2];

add eax, dword ptr[v3];

mov dword ptr[sum_], eax;

xor edx, edx; // edx = 0

mov ebx, 0x3;

div ebx;

mov dword ptr[div_], eax;


push dword ptr[div_];

push dword ptr[sum_];

push dword ptr[mPrompt];

call dword ptr[printf];

pop ebx;

pop ebx;

pop ebx;

}

return 0;

}

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

정올 어셈블 문제 - 배열관련 - 아직 완변하지 않음  (0) 2018.06.14
xor  (0) 2018.06.14
어셈블리 (push / pop)  (0) 2018.06.14
2018_05_30_키트리_침해대응  (0) 2018.05.29
2018_05_30_01  (0) 2018.05.29