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 |
댓글