본문 바로가기
reversing/어셈블리어

while 문

by 코끼리_땃쥐 2023. 3. 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  

 

 

 

반응형

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

조건부 점프  (0) 2023.04.17
어셈블리어 명령어 (2)  (0) 2023.03.12
함수의 사용  (0) 2023.03.06
루프  (0) 2023.03.06
어셈블리어 명령어 (1)  (0) 2023.03.04

댓글