while 문

while 문 코드

int main(int argc, char *argv())
{
	int i = 0;
    
    while (i<8)
    {
    	printf("%d",i);
        i ++;
    }
    return 0;
}

어셈블리 언어의 while 문

00401000 55 누르다 EBP
00401001 8b 등 움직임 EBP, ESP
00401003 51 누르다 ECX
00401004 c7 45fc 움직임 dword ptr(EBP+local_8), 0x0
0040100b 83 7d FC 08 CMP dword ptr (EBP+local_8), 0x8: “비교”
0040100f 7일 1시 JGE 0040102d: “보다 크거나 같으면 점프”
00401011 8b 45fc 움직임 EAX, dword ptr(EBP + local_8)
00401014 50 누르다 EAX
00401015 68 00 90 누르다 DAT_00419000
0040101a e8 61 00 경제적 지원 “호출 인쇄 기능”
0040101f 83 c4 08 추가 ESP, 0x8
00401022 8b 4d FC 움직임 ECX, dword ptr(EBP + local_8)
00401025 83 c1 01 추가 ECX, 0x1
00401028 89 4d FC 움직임 dword ptr(EBP+local_8), ECX
0040102b 엡 데 JMP 0040100b: “비교문으로 이동”
0040102d 33c0 XOR EAX, EAX
0040102f 8b e5 움직임 ESP, EBP
00401031 5d EBP
00401032 c3 RET