我无法弄清楚如何将一个字符串的内容复制到另一个字符串中。这是我正在使用的内容:给定一个寄存器中的字符串地址rbx
,我需要将该字符串地址的内容复制到另一个寄存器中(参数 4)rdx
。
这是我目前正在做的事情
mov rbx, qword[rsi+16] ; rbx = some string address
; performs checks on string
; etc..
; string passes tests so
mov rbx, qword[rbx]
mov qword[rdx], rbx
问题是qword
这只允许我将8个字符存储到 rdx 中,而实际最大值是 80(只是我在程序开始时定义的任意最大值)。我当然可以更改qword
为dqword
,但这并不能解决我的问题,因为它会从 8 个字符变为 16 个字符。如果我将字符串传递给Arguments
上面的函数,我将被返回Argument
,因为复制分配只处理 8 个字符。
我提前道歉,因为这可能是一个非常简单的解决方案,但我对组装很陌生。如何将一个字符串的内容移动到另一个字符串?