複製鏈接
請複製以下鏈接發送給好友

subs

(ARM 指令)

鎖定
subs指令是ARM 指令集中的減法指令,與SUB 指令類似,需要注意的是,在SUBS 指令中,如果發生了借位操作,CPSR 寄存器中的 C 標誌位設置為 0;如果沒有發生借位操作,CPSR 寄存器中的 C 標誌位設置成 1 。這與 ADDS 指令中的進位指令正好相反。這主要是為了適應 SBC 等指令的操作需要。
外文名
subs
所屬學科
計算機

subs指令的語法格式

SUBS { } , ,
指令執行的條件碼。當忽略時為無條件執行。
目標寄存器
第一個操作數所在的寄存器
第二個操作數

subs指令的使用舉例

SUBS R0, R1, R2;R0 = R1 - R2 並設置 CPSR 寄存器的 C 標誌位
SUBS R0, R1, R2, LSL #2 ;R0 = R1 - (R2<<2)並設置 CPSR 寄存器的 C 標誌位

subs指令的其它用法

MOV R0, #loopcount; 初始化循環次數
loop ; loop body
... ;
SUBS R0, R0, #1 ; 循環計數減1, 同時設置條件標誌位
BNE loop ; 如果循環計數器值不為 0, 跳轉到 loop 處繼續執行
... ; 如果循環計數器值為 0, 程序順序執行