어셈블리
2018_05_30_01
파아랑새
2018. 5. 29. 16:24
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=193&sca=1090
# include <stdio.h>
int main(void) {
int numBer[] = { 1,2,3,4,5,6,7,8,9,10 };
int IndAddr = 0x0;
int TempEcx = 0x0;
char* sPrompt = "%d ";
__asm {
MOV ECX, 0XA;
Mov DWORD PTR[TempEcx], ECX;
L:
MOV EBX, IndAddr;
PUSH DWORD PTR[numBer + EBX];
PUSH DWORD PTR[sPrompt];
CALL DWORD PTR[printf];
POP EBX;
POP EBX;
MOV EAX, DWORD PTR[TempEcx];
DEC EAX;
MOV DWORD PTR[TempEcx], EAX;
MOV ECX, DWORD PTR[TempEcx];
MOV EBX, IndAddr;
ADD EBX, 0X4;
MOV DWORD PTR[IndAddr], EBX;
Loop L;
}
}