如何修复我的手臂装配代码中的此错误?

How to fix this error in my arm assembly code?

提问人:user21233867 提问时间:2/17/2023 最后编辑:fuzuser21233867 更新时间:2/17/2023 访问量:124

问:

请帮帮我..

有一个错误,如下所示:

test2.s(37): 错误: A1647E: 错误的寄存器名称符号,预期的整数寄存器 注意:此错误出现在具有相同方法或语法(ldrb、strb、..)的所有指令中。

我不知道问题是什么,我该如何解决它!

代码为:

Reset_Handler
;code

    mov r0, #0     ; Initialize counter
    mov r1, #0

convert_small_letters
    ldrb r2, [str1, r0]  ; Load the character in the string
    cmp r2, #65          ; Check if it is a capital letter
    blt not_capital      ; If it is not a capital letter go to not_capital
    add r2, #32          ; Convert the capital letter to a small letter
    strb r2, [TXT1, r1]  ; Store the small letter in the new array
    add r1, #1           ; Increment the counter for the new array
    add r4, #1           ; Increment the counter for the number of converted letters

not_capital
    strb r2, [TXT1, r1]  ; Store the character in the new array
    add r1, #1           ; Increment the counter for the new array
    add r0, #1           ; Increment the counter for the string
.
.
.

这是唯一的错误

程序集 错误处理 ARM 语法错误 CPU-寄存器

评论

0赞 fuz 2/17/2023
请检查 ARM 寻址模式。 不是有效的寻址模式。您必须先将 的地址加载到寄存器中,然后使用双索引寻址模式。[str1, r0]str1

答: 暂无答案