我最近开始学习汇编语言。我一直在看一段代码,我不确定它是做什么的。
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将是什么(只是第一个循环)。
非常感谢您