我正在做一个在汇编中实现函数并在C中调用它们的项目。为此,需要使用EBP和ESP。[EBP + 8]
指向我想要在汇编函数中反转的字符串的开头。我打算这么做:
cmp esi, edi
jge reversed
mov al, [esi]
mov bl, [edi]
mov [esi], bl
mov [edi], al
inc esi
dec edi
jmp reverse_string
如果我可以使用esi和edi指针,我可以很好地找到以null结尾的字符串的结尾。我需要使用不同的方式吗?是否所有内容都必须是索引偏移量?
发布于 2013-04-12 23:06:37
如果[EBP + 8]
持有字符串指针,您只需将其移动到ESI
并从那里继续。
mov esi,[ebp+8]
mov edi,esi
mov al,0
mov ecx,-1
cld
repne scasb ; find the NULL terminator
dec edi
.... your original code follows
https://stackoverflow.com/questions/15974579
复制相似问题