AND指令将表示的数值与寄存器的值按位(bitwise)做逻辑与操作,并将结果保存到目标寄存器中,同时根据操作的结果更新CPSR寄存器。
逻辑异或EOR(Exclusive OR)指令将寄存器中的值和的值执行按位“异或”操作,并将执行结果存储到目的寄存器中,同时根据指令的执行结果更新CPSR中相应的条件标志位。
SUB(Subtract)减操作指令,从寄存器中减去表示的数值,并将结果保存到目标寄存器中,并根据指令的执行结果设置CPSR中相应的标志位。
RSB(Reverse Subtract)减操作指令,从寄存器中减去表示的数值,并将结果保存到目标寄存器中,并根据指令的执行结果设置CPSR中相应的标志位。
ADD加操作指令,将寄存器的值加上表示的数值,并将结果保存到目标寄存器中,并根据指令的执行结果设置CPSR中相应的标志位。
ADC加操作指令,将寄存器的值加上表示的数值,再加上CPSR中的C条件标志位的值,将结果保存到目标寄存器中,并根据指令的执行结果设置CPSR中相应的标志位。
SBC(Subtract with Carry)带进位的减操作指令,用于执行操作数大于32位时的减法操作。该指令从寄存器中减去表示的数值,再减去寄存器CPSR中C条件标志位的反码(NOT(Carry flag))。并将结果保存到目标寄存器中,并根据指令的执行结果设置CPSR中相应的标志位。
RSC(Reverse Subtract with Carry)带进位的翻转减操作指令,从寄存器中减去表示的数值,再减去寄存器CPSR中C条件标志位的反码(NOT(Carry Flag)),并将结果保存到目标寄存器中,并根据指令的执行结果设置CPSR中相应的标志位。
RSC(Reverse Subtract with Carry)带进位的翻转减操作指令,从寄存器中减去表示的数值,再减去寄存器CPSR中C条件标志位的反码(NOT(Carry Flag)),并将结果保存到目标寄存器中,并根据指令的执行结果设置CPSR中相应的标志位。
TEQ(Test Equivalence)测试指令用于将一个寄存器的值和一个算术值做比较。条件标志位根据两个操作数做“逻辑或”后的结果设置。以便后面的指令根据相应的条件标志来判断是否执行。
CMP(Compare)比较指令使用寄存器Rn的值减去operand2的值,根据操作的结果更新CPSR中相应的条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。
CMN(Compare Negative)比较指令使用寄存器Rn的值减去operand2的负数值(加上operand2),根据操作的结果更新CPSR中相应的条件标志位,以便后面的指令根据相应的条件标志来判断是否执行。
ORR(Logical OR)为逻辑或操作指令,将第二个源操作数的值与寄存器Rn的值按位做逻辑或操作,结果保存到Rd中。
BIC(Bit Clear)位清零指令,将寄存器Rn的值与第二源操作数的值的反码按位做“逻辑与”操作,结果保存到Rd中。
MLA(Multiply Accumulate)32位乘累加指令将Rm和Rs中的值相乘,再将乘积加上第3个操作数,结果的最低32位保存到Rd中。
UMULL(Unsigned Multiply Long)为64位无符号乘法指令。指令将Rm和Rs中的值做无符号数相乘,结果的低32位保存到RsLo中,而高32位保存到RdHi中。
MLA(Multiply Accumulate)32位乘累加指令将Rm和Rs中的值相乘,再将乘积加上第3个操作数,结果的最低32位保存到Rd中。
UMLAL(Unsigned Multiply Accumulate Long)为64位无符号长乘-累加指令。指令将Rm和Rs中的值做无符号数相乘,64位乘积与RdHi,RdLo相加,结果的低32位保存到RsLo中,而高32位保存到RdHi中。
SMULL(Signed Multiply Long)64位有符号长乘法指令。指令将Rm和Rs中的值做有符号数相乘,结果的低32位保存到RsLo中,而高32位保存到RdHi中。
SMLAL(Signed Multiply Accumulate Long)为64位有符号长乘法指令。指令将Rm和Rs中的值做有符号数相乘,64位乘积与RdHi,RdLo相加,结果的低32位保存到RsLo中,而高32位保存到RdHi中。