ARM采用的是32位架构

       ARM指令集(32-bit)         Thumb指令集(16-bit)

ARM instruction set encoding         指令的机器码(如指令 moveq r0,r1     机器码  0x01A00001)

 

0000(EQ)                       Z = 1                         Equal                                       相等

0001(NE)                  Z = 0                          Not Equal                                不相等

0010(CS/HS)                C = 1                          Carry Set                                 有进位,无符号数大于等于

0011(CC/LO)                C = 0                          Carry Clear                               无进位,无符号数小于

0100(MI)                       N = 1                          Minus, negative                        减,负数

0101(PL)                      N = 0                           Plus, porsitive or zero              加,正数或零

0110(VS)                      V = 1                           Overflow Set                            溢出

0111(VC)                      V = 0                           Overfow Clear                         无溢出

1000(HI)                       C == 1 and Z == 0     Unsigned Higher                       无符号数大于

1001(LS)                      C == 0 or Z == 1        Unsigned lower or same           无符号数小于等于

1010(GE)                     N == V                        Signed greater  than or same

1011(LT)                      N != V                         Signed Less Than                      有符号数小于

1100(GT)                     Z = 0 and N == V       Signed Greater Than                  有符号数大于

1101(LE)                      Z == 1 or N != V        Signed less than or equal            有符号数小于等于

1110(none)                  不启用条件判断

 

立即数合法性

           用伪指令 

ldr r0,=0x445501    @用伪指令  替换

ARM指令包含条件判断