思路大概是先取出字符串压入栈中 再从栈中取出到数组 根据栈先入后出的特性 取出的字符串顺序完成调转了
.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