.386
.model flat, stdcall
.stack 4096
ExitProcess proto dwExitWord : DWORD
.data
aName BYTE "Hello world!", 0
nameSize = ($ - aName) - 1
.code
main proc
;// 字符串压栈
mov ecx, nameSize ;// 循环次数
mov esi, 0 ;// 下标
L1:
movzx eax, aName[esi] ;// 为什么要借助eax呢,因为 aName[esi] 是8位变址操作数,栈是32位的
push eax
inc esi
loop L1
;// 字符串出栈
mov ecx, nameSize;// 循环次数
mov esi, 0;// 下标
L2:
pop eax
mov aName[esi], al
inc esi
loop L2
invoke ExitProcess, 0
main endp
end main
【Win32汇编】字符串逆序
最新推荐文章于 2023-10-29 16:22:58 发布