请教一个问题:关于反转字符串
程序代码:
TITLE Reversin a String INCLUDE irvine32.inc INCLUDElib Irvine32.lib INCLUDELIB KERNEL32.LIB .data aName BYTE "Abraham Lincoln",0 nameSize=($ - aName) - 1 .Code main PROC ;push aName mov ecx,nameSize mov esi,0 L1: movzx eax,aName[esi] push eax inc esi loop L1 ;pop aName mov ecx,nameSize mov esi,0 L2: pop eax mov nameSize[esi],al inc esi loop L2 mov edx,OFFSET aName call WriteString call Crlf exit main endp END main
这段程序运行不了,反汇编之后得到
程序代码:
pop eax mov nameSize[esi],al ;反汇编的代码是 mov BYTE PTR [esi+F],al 主要是加了个F就错了,怎么解决好? inc esi loop L2