将字符串存储在寄存器中

时间:2016-08-09 10:49:38

标签: string assembly x86 nasm

我试图用汇编语言连接两个字符串。

mov esi, str1
mov eax, str1
mov edx, [str2]
call slen
mov [esi+eax-1], edx

image

除了第二个字符串中只有4个字符被追加外,一切正常。我知道它发生的原因,但我似乎无法找到任何解决方案。

1 个答案:

答案 0 :(得分:3)

您不能将任何字符串存储在寄存器中。它必须等于或小于寄存器大小(假设我们正在谈论ASCII编码的字符串),因为寄存器具有固定的大小。