基本的に、2 つの文字列を 1 文字ずつ追加しようとしています。
最後に到達するまで、最初の文字列の各文字を調べます
次に、次の文字列の各文字も調べます
私の問題は、次の文字列の文字を最初の文字列 (0 終端バイトの前) に格納しようとしています。
strcat
ADD R4, R4, #1
LDRB R0, [R1], #1
CMP R0, #0
BNE strcat
SUB R4, R4, #1 ;take byte pointer 1 step back to ignore 0
B stradd
stradd
LDRB R0, [R2], #1 ;otherwise we would include the 0 char
STRB R0, [R1], R4
CMP R0, #0
ADD R4, R4, #1
BNE stradd ;keep adding chars
これまでの私の方法は、R1 + R2を連結しようとしています
質問
R1 の文字列の最後の適切な文字のアドレスでバイトの保存を開始するように、STRB (または他の方法を完全に) を変更する方法
例 R1 の文字が 'h' 'e' 'l' 'l' 'o' 0 のように見え、R2 の文字が 'y' 'u' 'o' のように見える場合
このメソッドは、R1 の文字を 'h' 'e' 'l' 'l' 'o' 'y' 'u' 'o' 0 に変更する必要があります。