코끼리_땃쥐 2023. 3. 24. 15:24
반응형

while문 코드

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

 

어셈블리어 에서의 while문

 

       
00401000 55 PUSH EBP
00401001 8b ec MOV EBP, ESP
00401003 51 PUSH ECX
00401004 c7 45 fc MOV dword ptr [EBP + local_8], 0x0
0040100b 83 7d fc 08 CMP dword ptr [EBP + local_8], 0x8 : " 비교 "
0040100f 7d 1c JGE 0040102d : " 크거나 같으면 점프 "
00401011 8b 45 fc MOV EAX, dword ptr [EBP + local_8]
00401014 50 PUSH EAX
00401015 68 00 90 PUSH DAT_00419000
0040101a e8 61 00 CALL "print 함수 호출"
0040101f 83 c4 08 ADD ESP, 0x8
00401022 8b 4d fc MOV ECX, dword ptr [EBP + local_8]
00401025 83 c1 01 ADD ECX, 0x1
00401028 89 4d fc MOV dword ptr [EBP + local_8], ECX
0040102b eb de JMP 0040100b : " 비교문으로 점프 "
0040102d 33 c0 XOR EAX, EAX
0040102f 8b e5 MOV ESP, EBP
00401031 5d POP EBP
00401032 c3 RET  

 

 

 

반응형