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

时间:2015-01-07 16:36:18

标签: c++ assembly 32-bit masm

我在汇编程序中有程序,我想添加String strV的每个字母,这是字节指针的一些值,在这种情况下它将是+3。我尝试仅为第一个字母添加3,但proc返回奇怪的符号或没有,所以我请求帮助。 (返回的指针将在C ++中分配给char * string。)

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

1 个答案:

答案 0 :(得分:1)

您想为字符串的每个字母添加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