今天刚刚接触到ARM指令,对于adc指令的理解,用adc指令实现64位的加法运算。
(1)adc指令:带进位的加法
(2)基本思路:(r0,r1) = (r0,r1) + (r2, r3)
即高位与高位运算r0 = r0 + r2
即低位与低位运算r1 = r1 + r3
r0和r2 分别代表高位
r1和r3分别代表低位
(3)实现代码
mov r0,#1
mov r1,#0xffffffff
mov r2,#1
mov r3,#0x2
adds r1,r1,r3 ;r1+r3溢出 adds进位 c标志位置1
adc r0,r0,r2 ;高位相加,因为adc是带进位的加 所以高位 r0 = r0 + r2 运算结果再加 1(进位的1)
(4)用keil软件进行代码测试