如何在汇编程序中增加指针字母?

How to increment letters of pointer in assembler?

我在汇编程序中有程序,我想向字符串 strV 的每个字母添加一些值,这是字节指针,在这种情况下它将是 +3。我尝试只为第一个字母添加 3,但是 proc returns 奇怪的符号或什么都没有,所以我寻求帮助。 (返回的指针在C++中会被赋值给char * string)。

start proc strV: PTR BYTE
    mov eax, [strV]
    ret
start endp

您想给字符串的每个字母加 3 吗?

以下代码 测试,但它应该可以工作。当然,假设您的字符串是以 NUL 结尾的字符串。

我只是在检查我们是否在字符串的末尾, 如果不是,它会加 3 并继续。

start proc strV: PTR BYTE
    mov eax, strV
next:
    cmp byte ptr [eax], 0
    je done
    add byte ptr [eax], 3
    inc eax
    jmp next
done:
    ret
start endp