본문 바로가기

CS

[어셈블리] 반복문

 

위는 Hello World를 10번 반복해서 출력하는 반복문이다. 반복문이지만 사실상 이전 분기문과 다름없다. msg 변수를 출력하면서 ecx를 초기에 10으로 설정하고 (사진에서 짤림) 1씩 ecx를 감소시킨다. 그리고 0과 비교해서 0이 아니라면 다시 LABEL_LOOP를 돌린다. 따로 반복문을 위한 문법도 있다.

 

 

loop를 사용하면 자동으로 루프마다 ecx를 1씩 줄여나가면서 반복실행한다. 위 코드는 1부터 100까지 합을 구하는 코드이며 xor ebx, ebx는 mov ebx, 0 과 같은 의미이다. (자기자신과 xor하면 0이 나오는 것을 활용)

'CS' 카테고리의 다른 글

[어셈블리] 스택 메모리  (0) 2022.06.18
[어셈블리] 배열  (0) 2022.06.18
[어셈블리] 분기문  (0) 2022.06.18
[어셈블리] 쉬프트 연산  (0) 2022.06.18
[어셈블리] 입출력, 사칙 연산  (0) 2022.06.18