算术和逻辑指令 A D C : 带进位的加法 (Addition with Carry) ADC{条件}{S} , , 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 后缀来更改进位标志
A D D : 加法 (Addition) ADD{条件}{S} , , 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