ARM base instruction -- adc

Add with Carry adds two register values and the Carry flag value, and writes the result to the destination register.

带进位加法将两个寄存器值和进位标志值相加,并将结果写入目标寄存器。

32-bit variant

Applies when sf == 0.

ADC <Wd>, <Wn>, <Wm>

64-bit variant

Applies when sf == 1.

ADC <Xd>, <Xn>, <Xm>

Decode for all variants of this encoding

integer d = UInt(Rd);

integer n = UInt(Rn);

integer m = UInt(Rm);

integer datasize = if sf == '1' then 64 else 32;

Operation

bits(datasize) result;

bits(datasize) operand1 = X[n];

bits(datasize) operand2 = X[m];

(result, -) = AddWithCarry(operand1, operand2, PSTATE.C);

X[d] = result;

做比 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 ; 加高端的字,带进位

相关推荐
切糕师学AI13 小时前
ARM 汇编指令:ORRS
汇编·arm开发
缘友一世16 小时前
计算系统安全速成之链接:理解程序的构建过程【7】
汇编·计算机系统
38242782720 小时前
汇编:宏汇编、宏库
汇编
38242782721 小时前
汇编:条件汇编、
前端·汇编·数据库
white-persist1 天前
【攻防世界】reverse | simple-check-100 详细题解 WP
c语言·开发语言·汇编·数据结构·c++·python·算法
时空自由民.1 天前
stm32FXX系列MCU汇编启动文件分析
汇编·stm32·单片机
切糕师学AI1 天前
ARM 汇编指令:STR
汇编·arm开发
3824278271 天前
IA-32汇编:MOV r/m16,sreg指令、LAHF指令、ALIGN指令、LABEL 指令、TYPEDEF指令解析
汇编
3824278271 天前
汇编:字符串的输入
汇编
3824278271 天前
8086 CPU汇编伪操作汇总
汇编