从字符串值中获取字符?

Get a character from a string value?

我有一组字符串中的数字(在内存中)如下:

numbers     DCB "012345"

如何访问第一个数字并将其插入寄存器?

我会正确加载它,但我不确定如何加载该特定数字。

以下是将第一个数字加载到寄存器中的方法:

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。如果您希望字符串以 null 结尾,您需要这样声明它:

numbers     DCB "012345", 0

或者,根据您的汇编程序,像这样:

numbers:
    .asciz "012345"