微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 第1天-ARM汇编指令ADD/SUB/MUL

第1天-ARM汇编指令ADD/SUB/MUL

时间:11-26 来源:互联网 点击:
ADD : 加法

(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 < 1)

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

ps:带进位的加法ADC

SUB : 减法

(Subtraction)

SUB{条件}{S} , , dest = op_1 - op_2

SUB 用操作数 one 减去操作数 two,把结果放置到目的寄存器中。操作数 1 是一个寄存器,操作数 2 可以是一个寄存器,被移位的寄存器,或一个立即值:

SUB R0, R1, R2 ; R0 = R1 - R2 SUB R0, R1, #256 ; R0 = R1 - 256 SUB R0, R2, R3,LSL#1 ; R0 = R2 - (R3 < 1)

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

ps:带进位的减法SBC

MUL : 乘法

这两个指令与普通算术指令在对操作数的限制上有所不同:

给出的所有操作数、和目的寄存器必须为简单的寄存器。

你不能对操作数 2 使用立即值或被移位的寄存器。

目的寄存器和操作数 1 必须是不同的寄存器。

最后,你不能指定 R15 为目的寄存器

(Multiplication)

ps:带累加的乘法MLA

MUL{条件}{S} , , dest = op_1 * op_2

MUL 提供 32 位整数乘法。如果操作数是有符号的,可以假定结果也是有符号的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top