思路大概是先取出字符串压入栈中 再从栈中取出到数组 根据栈先入后出的特性 取出的字符串顺序完成调转了
.386
.model flat,stdcall
option casemap:none
include msvcrt.inc
includelib msvcrt.lib
.data
szStr byte "Hello World",0
szBuf db 11 dup(?)
.code
start:
lea esi,[szStr]
mov ecx,0
@a1:
cmp ecx,11
jz @end1
mov ebx,0
mov bl,byte ptr[esi+ecx]
push ebx
inc ecx
jmp @a1
@end1:
lea edi,[szBuf]
@a2:
cmp ecx,0
jz @end2
pop eax
dec ecx
cld
stosb
jmp @a2
@end2:
invoke crt_printf,addr szBuf
ret
end start
end