我在字符串(内存中)中有一组数字,如下所示:
numbers DCB "012345"
如何访问第一个数字并将其插入寄存器?
我会加载它,但我不确定如何加载该特定数字。
答案 0 :(得分:4)
以下是如何将第一个数字加载到寄存器中:
ldrb r0, numbers
r0现在包含值48(ASCII' 0')
要将numbers
的地址加载到寄存器中,然后从中加载,请执行以下操作:
ldr r0, =numbers // r0 now contains the address of numbers
ldrb r1, [r0]
r1现在也包含值48
您可以加载特定的数字(例如第3位数字),如下所示:
ldr r0, =numbers
add r0, #2
ldrb r1, [r0]
或者像这样:
ldr r0, =numbers
ldrb r1, [r0, #2]
或者像这样:
ldr r0, =numbers
mov r1, #2
ldrb r2, [r0, r1]
P.S。如果你想让字符串以空值终止,你需要像这样声明它:
numbers DCB "012345", 0
或者,取决于您的汇编程序,如下:
numbers:
.asciz "012345"