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

그냥 말 그대로 문자열 거꾸로
Posted by 정훈승