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

루프

by 코끼리_땃쥐 2023. 3. 6.
반응형

루프에 대한 어셈블리 코드

#include <stdio.h>
int main(void)
{
	int	i, n, num;
    
    sum = 0;
    
    for (i = 1; i <= 9; i++)
    {
    	sum += i;
    }
    
	return 0;
}

 

 

401000    mov dword ptr ss:[esp+48], 0 // sum = 0 

401008    mov dword ptr ss:[esp+4c], 1 // i = 1

401010    jmp 40101f // 점프

401012    mov eax, dword ptr ss:[esp+4c] // i 의 값을 eax레지스터에 저장

401016    add dword ptr ss:[esp+48], eax // eax레지스터의 값을 sum 값에 더함

40101A    add dword ptr ss:[esp+4c], 1 // i 값을 1 증가 시킴 

40101F    cmp dword ptr ss:[esp+4c],9 // i 값이 9와 같은지 비교 (ZF가 설정됨)

401024    jle 401012 // ZF를 보고 해당 주소로 점프

반응형

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

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

댓글