好的,所以基本上我正在尝试将两个字符串逐个字符地添加在一起。
我遍历第一个字符串的每个字符,直到我到达结尾
然后我也遍历下一个字符串的每个字符
我的问题是尝试将下一个字符串的字符存储到第一个字符串(在 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
问题
如何更改 STRB(或完全更改其他方法)以确保它开始在 R1 中字符串的最后一个正确字符的地址处保存字节
示例 如果 R1 中的字符看起来像 'h' 'e' 'l' 'l' 'o' 0 而 R2 中的字符看起来像 'y' 'u' 'o'
该方法应将 R1 中的字符更改为 'h' 'e' 'l' 'l' 'o' 'y' 'u' 'o' 0