重要指令讲解带例子分析

重要指令讲解带例子分析,主要分析了常见的arm指令集

算术和逻辑指令

ADC : 带进位的加法

(Addition with Carry)

ADC{条件}{S} <dest>, <op 1>, <op 2>

dest = op_1 + op_2 + carry

ADC 将把两个操作数加起来,并把结果放置到目的寄存器中。它使用一个进位标志位,这样就可以做比 32 位大的加法。下列例子将加两个 128 位的数。 128 位结果: 寄存器 0、1、2、和 3

第一个 128 位数: 寄存器 4、5、6、和 7

第二个 128 位数: 寄存器 8、9、10、和 11。

ADDS R0, R4, R8 ; 加低端的字

ADCS R1, R5, R9 ; 加下一个字,带进位

ADCS R2, R6, R10 ; 加第三个字,带进位

ADCS R3, R7, R11 ; 加高端的字,带进位

如果如果要做这样的加法,不要忘记设置 S 后缀来更改进位标志。

ADD : 加法

(Addition)

ADD{条件}{S} <dest>, <op 1>, <op 2>

dest = op_1 + op_2

ADD 将把两个操作数加起来,把结果放置到目的寄存器中。操作数 1 是一个寄存器,操作数 2 可以是一个寄存器,被移位的寄存器,或一个立即值: ADD R0, R1, R2 ; R0 = R1 + R2

ADD R0, R1, #256 ; R0 = R1 + 256

ADD R0, R2, R3,LSL#1 ; R0 = R2 + (R3 << 1)

加法可以在有符号和无符号数上进行。

AND : 逻辑与

(logical AND)

AND{条件}{S} <dest>, <op 1>, <op 2>

dest = op_1 AND op_2

重要指令讲解带例子分析相关文档

最新文档

返回顶部