반응형

1부터 100까지 더하고 최종값을 EAX에 저장하는 코드를 작성

반복문(LOOP 코드라인지정), 반복 횟수(CX레지스터) 사용

 

#include <stdio.h>

int main(){

	int sum = 0;
	i = 0;
	
	for(int i = 1; i<101; i++){
		sum = sum + i;
	}

	printf("%d", sum);

return 0;
}

 

MOV EAX, 0
MOV EBX, 0 //0으로 초기화 
MOV ECX, 64 //16진수 64는 100과 같음 
INC EBX //i++
ADD EAX, EBX //sum = sum + i;
LOOP 0040128F //INC EBX로 돌아감. for 반복문

 

 

실행 시작

 

중간

 

 

마지막

16진수 13BA = 5050

반응형

'Study > 윈도우즈 보안과 운영 실습' 카테고리의 다른 글

쉘코드 작성 - calc  (0) 2024.03.19
쉘코드 작성 - Notepad  (0) 2024.03.19
윈도우 실행 파일 구조 분석  (0) 2024.03.19
디셈블러와 디버거 실습  (0) 2024.03.19
sum.exe 분석  (0) 2024.03.19