arm 汇编 指令看不太懂,

问题描述:

arm 汇编 指令看不太懂,
举例说明一下:
LDR r0,=|Image $ $ RO $ $ Limit|
LDR r1,=|Image $ $ RW $ $ Base|
LDR r3,=|Image $ $ ZI $ $ Base|
CMP r0,r1
BEQ %F1
CMP r1,r3
LDRCC r2,[r0],#4
STRCC r2,[r1],#4
BCC %B0
LDR r1,|Image $ $ ZI $ $Limit|
MOV r2,#0
CMP r3,r1
STRCC r2,[r3],#4
BCC %B2
才刚学,这些代码看不大懂,
BEQ %F1
LDRCC r2,[r0],#4
STRCC r2,[r1],#4
BCC %B0
要是都能说说那就更好了.

的确,书本上都有!
BEQ 相等则跳转,B跳转,EQ相等(,前面有CMP)
LDRCC 小于则装载内存数据到寄存器,LDR装载,CC小于
STRCC BCC类似
{}{S} ,{,第2操作数}
有S则表示影响CPSR寄存器的值
条件码助记符:
EQ 相等
NE 不相等
CS/HS 无符号数大于或等于
CC/LO 无符号数小于
MI 负数
PL 正数或零
VS 溢出
VC 没有溢出
HI 无符号数大于
LS 无符号数小于或等于
GE 有符号数大于或等于
LT 有符号数小于
GT 有符号数大于
LE 有符号数小于或等于
AL 无条件执行,跟不写一样
|Image$$RO$$Limit|:表示RO区末地址后面的地址,即RW数据源的起始地址
|Image$$RW$$Base|:RW区在RAM里的执行区起始地址,也就是编译器选项RW_Base指定的地址.
|Image$$ZI$$Base|:ZI区在RAM里面的起始地址
|Image$$ZI$$Limit|:ZI区在RAM里面的结束地址后面的一个地址