ある文字列の内容を別の文字列にコピーする方法がわかりません。これが私が取り組んでいるものです: register 内の文字列のアドレスが与えられた場合、文字列rbx
のそのアドレスの内容を別の register(argument 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
問題は、rdx に8qword
文字しか格納できないのに対し、実際の最大値は 80 (プログラムの開始時に定義した任意の最大値) であることです。もちろん、変更することもできますが、8 文字から 16 文字になるため、これで問題が解決するわけではありません。上記の関数に文字列を渡すと、コピーの代入は 8 文字しか処理しないため、 が返されます。qword
dqword
Arguments
Argument
これはおそらく非常に単純な解決策であるため、前もってお詫び申し上げますが、私は組み立てに非常に慣れていません。ある文字列の内容を別の文字列に移動するにはどうすればよいですか?