INCLUDE Irvine32.inc
.data
aName BYTE "Hoonseung Jeong", 0
nameSize = ($ - aName) - 1 ;마지막에 0은 빼줌
.code
main PROC
mov ecx, nameSize ;문자열 길이만큼 루프 돌린다
mov esi, 0 ;스택에 문자열 삽입
L1:
movzx eax, aName[esi] ;문자열 얻는다
push eax ;스택을 민다
inc esi ;esi + 1
loop L1
mov ecx, nameSize ;다시 루프횟수 설정
mov esi, 0
L2:
pop eax ;문자열 얻는다
mov aName[esi], al
inc esi
loop L2
mov edx, OFFSET aName
call WriteString ;문자열출력
call Crlf ;c++의 \n과 같음
exit
main ENDP
END main
.data
aName BYTE "Hoonseung Jeong", 0
nameSize = ($ - aName) - 1 ;마지막에 0은 빼줌
.code
main PROC
mov ecx, nameSize ;문자열 길이만큼 루프 돌린다
mov esi, 0 ;스택에 문자열 삽입
L1:
movzx eax, aName[esi] ;문자열 얻는다
push eax ;스택을 민다
inc esi ;esi + 1
loop L1
mov ecx, nameSize ;다시 루프횟수 설정
mov esi, 0
L2:
pop eax ;문자열 얻는다
mov aName[esi], al
inc esi
loop L2
mov edx, OFFSET aName
call WriteString ;문자열출력
call Crlf ;c++의 \n과 같음
exit
main ENDP
END main
그냥 말 그대로 문자열 거꾸로