汇编攻城记-算术运算ADD/SUB/RSB/ADC/SBC/RSC

算术运算-ADD/SUB/RSB/ADC/SBC/RSC

加法、减法和反向减法,均可带进位或不带进位。

语法

复制代码
op{S}{cond} {Rd}, Rn, Operand2
op{cond} {Rd}, Rn, #imm12         ; Thumb-2 only
其中: 
op 是下列项之一: 
    ADD 加法。 
    ADC 带进位加法。 
    SUB 减法。 
    RSB 反向减法。 
    SBC 带进位减法。 
    RSC 带进位反向减法(仅 ARM)。 
S 是一个可选的后缀。如果指定了 S,则将会更新运算结果的条件代 码标记。
cond 是一个可选的条件代码。 
Rd 是目标寄存器。 
Rn 是存放第一个操作数的寄存器。 
Operand2 是一个灵活的第二操作数。有关此选项的详细信息。
imm12 可为 0-4095 范围内的任一值。只可用于 ADD 和 SUB 指令,且只可用 于 Thumb-2 代码中

示例

复制代码
ADD Rd, Rn, Rm     ; Rd = Rn+Rm 
ADD Rd, Rm         ; Rd += Rm 
ADD Rd, #imm       ; Rd += imm ;常规加法imm 的范围是 im8(16 位指令)或 im12(32位指令)

ADC Rd, Rn, Rm     ; Rd = Rn+Rm+C 
ADC Rd, Rm         ; Rd += Rm+C 
ADC Rd, #imm       ; Rd += imm+C ;带进位的加法imm 的范围是 im8(16 位指令)或 im12(32位指令)
ADDW Rd, #imm12    ; Rd += imm12 带 12 位立即数的常规加法

SUB Rd, Rn         ; Rd -= Rn 
SUB Rd, Rn, #imm3  ; Rd = Rn-imm3 
SUB Rd, #imm8      ; Rd -= imm8 
SUB Rd, Rn, Rm     ; Rd = Rm-Rm 常规减法
SBC Rd, Rm         ; Rd -= Rm+C 
SBC.W Rd, Rn, #imm12 ; Rd = Rn-imm12-C 
SBC.W Rd, Rn, Rm     ; Rd = Rn-Rm-C 带借位的减法
RSB.W Rd, Rn, #imm12 ; Rd = imm12-Rn 
RSB.W Rd, Rn, Rm     ; Rd = Rm-Rn 反向减法

MUL Rd, Rm             ; Rd *= Rm 
MUL.W Rd, Rn, Rm       ; Rd = Rn*Rm 常规乘法
MLA Rd, Rm, Rn, Ra     ; Rd = Ra+Rm*Rn 
MLS Rd, Rm, Rn, Ra     ; Rd = Ra-Rm*Rn 乘加与乘减(译者添加)

UDIV Rd, Rn, Rm         ; Rd = Rn/Rm (无符号除法)
SDIV Rd, Rn, Rm         ; Rd = Rn/Rm (带符号除法)硬件支持的除法

SMULL RL, RH, Rm, Rn     ;[RH:RL]= Rm*Rn 
SMLAL RL, RH, Rm, Rn     ;[RH:RL]+= Rm*Rn 带符号的 64 位乘法
UMULL RL, RH, Rm, Rn     ;[RH:RL]= Rm*Rn 
SMLAL RL, RH, Rm, Rn     ;[RH:RL]+= Rm*Rn 无符号的 64 位乘法
相关推荐
2301_789015629 小时前
C++:模板进阶
c语言·开发语言·汇编·c++
Hollis Arthur2 天前
mips栈帧详解
开发语言·汇编·学习·mips
fengye2071612 天前
板凳----------(枯藤 )vs2019+win10(第四章-3)
汇编
white-persist5 天前
【攻防世界】reverse | re1-100 详细题解 WP
c语言·开发语言·网络·汇编·python·算法·网络安全
sulikey5 天前
如何使用 Visual Studio 代替 OllyDbg 完成汇编语言实验
汇编·ide·debug·visual studio·ollydbg
浩浩测试一下6 天前
C&&汇编中的调用约定
大数据·汇编·安全·web安全·网络安全·系统安全
猫猫的小茶馆6 天前
【ARM】BootLoader(Uboot)介绍
linux·汇编·arm开发·单片机·嵌入式硬件·mcu·架构
white-persist6 天前
【攻防世界】reverse | answer_to_everything 详细题解 WP
c语言·开发语言·汇编·python·算法·网络安全·everything
猫猫的小茶馆6 天前
【ARM】eclipse 中创建汇编工程
c语言·汇编·arm开发·stm32·单片机·嵌入式硬件·eclipse
white-persist7 天前
【攻防世界】reverse | Mysterious 详细题解 WP
c语言·开发语言·网络·汇编·c++·python·安全