

위는 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 |