我在汇编程序中有程序,我想添加String strV的每个字母,这是字节指针的一些值,在这种情况下它将是+3。我尝试仅为第一个字母添加3,但proc返回奇怪的符号或没有,所以我请求帮助。 (返回的指针将在C ++中分配给char * string。)
start proc strV: PTR BYTE
mov eax, [strV]
ret
start endp
答案 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