[8] 어셈블리 반복문 연습
C언어 반복문을 어셈블리로 직접 작성해보자
[ C언어 ]
- 문자열의 끝을 파악해서 문자개수를 세고, 문자열의 뒤에서부터 출력한다
str buffer[1024] ; scanf("%s",string); while( string[i] != null ){
for( i=index; i >= 0 ; i-- ){
|
[ 어셈블리 ]
str string[1024]; while( string[i] != null ){ index = i; while( i < 0 ){
section .data section .bss section .text while: jz while_end ; Jump Zero, 두 비교값이 같으면 Jump ! inc dword [len] ; jz가 실행되지 않아 코드가 순서대로 진행 ( +1 ) while_end: ; eax 레지스터에 문자의 뒤에서부터 한글자씩 입력되어진다 push eax cmp dword [len], 0 ; 인덱스와 0 을 비교, 문자의 처음으로 도착했다면 end: |
[ 코드 실행 결과 ]