LDRB在ARM Keil中-到底发生了什么

时间:2018-11-29 13:39:03

标签: assembly arm keil

我最近开始学习汇编语言。我一直在看一段代码,我不确定它是做什么的。

    LDR r0, =str
    MOV r1, #0
loop 
    LDRB r2, [r0], #1
    ADD r1, r1, #1
    CMP r2, #0
    BNE loop
    SUB r1, r1, #1
Data Segment Little Endian Format
    str DCB "mCQ5Gtq",0

据我了解,DCB将字符串加载到一个32位的字中,并且每个字符都有其自己的字节。小尾数格式表示最低有效字节存储在较低的存储器地址中。 LDR使r0 =字符串。 LDRB将r0中保留的最低有效字节加载到r2中,偏移量为1位。

1)最低有效字节是否以m或q开头?即是
 <-0000 0017(q的ascii)或<-0000 006D(m的ascii)。

2)LDRB运算符是否将从r0偏移1位的最低有效字节加载到r2。如果是这样,r2将是什么(只是第一个循环)。

非常感谢您

0 个答案:

没有答案