
subs指令是ARM指令集中的减法指令,与SUB指令功能相似但会更新CPSR寄存器的N、Z、C、V条件标志位 。当运算发生借位时C标志位设为0,未发生借位则设为1,该特性与SUB指令的无关标志行为有别,这一设计旨在适配SBC(带进位减法)等指令的操作需求。
该指令语法格式为SUBS后接目标寄存器、第一操作数寄存器和第二操作数,第二操作数可包含移位操作。例如SUBS R0, R1, R2实现R0=R1-R2并更新标志位,SUBS R0, R1, R2, LSL #2则对移位后的值进行减法运算。
在循环控制中,subs指令常配合BNE等条件分支指令使用,通过SUBS R0, R0, #1递减循环计数器并自动更新标志位,从而实现循环次数的自动判断。
想要了解更多“subs(ARM 指令)”的信息,请点击:subs(ARM 指令)百科
