資料介紹
6.11 CMP比較指令
1.指令的編碼格式
CMP(Compare)比較指令使用寄存器Rn的值減去operand2的值,根據(jù)操作的結(jié)果更新CPSR中相應(yīng)的條件標(biāo)志位,以便后面的指令根據(jù)相應(yīng)的條件標(biāo)志來(lái)判斷是否執(zhí)行。
指令的編碼格式如圖6.12所示。

圖6.12 CMP指令編碼格式
2.指令的語(yǔ)法格式
CMP{《cond》} 《Rn》,《shifter_operand》
① 《cond》
為指令編碼中的條件域。它指示指令在什么條件下執(zhí)行。當(dāng)《cond》忽略時(shí),指令為無(wú)條件執(zhí)行(cond=AL(Alway))。
?、?《Rn》
指定第一個(gè)源操作數(shù)寄存器。
?、?《shifter_operand》
詳見TST指令。
3.指令操作的偽代碼
指令操作的偽代碼如下面程序段所示。
If ConditionPassed{cond} then
ALU_out = Rn - shifter_operand
N Flag = ALU_out[31]
Z Flag = if ALU_out==0 then 1 else 0
C Flag =NOT BorrowFrom{Rn-shifter_operand}
V Falg=OverflowFrom{Rn-shifter_operand}
4.指令舉例
【例6.11】CMP指令舉例。
CMP允許把一個(gè)寄存器的內(nèi)容與另一個(gè)寄存器的內(nèi)容或立即值進(jìn)行比較,更改狀態(tài)標(biāo)志來(lái)允許進(jìn)行條件執(zhí)行。它進(jìn)行一次減法,但不存儲(chǔ)結(jié)果,而是正確地更改標(biāo)志位。標(biāo)志位表示的是操作數(shù)1與操作數(shù)2比較的結(jié)果(其可能為大、小、相等)。如果操作數(shù)1大于操作操作數(shù)2,則此后的有GT后綴的指令將可以執(zhí)行。
顯然,CMP不需要顯式的指定S后綴來(lái)更改狀態(tài)標(biāo)志。
?。?)下面的指令比較R1和立即數(shù)10并設(shè)置相關(guān)的標(biāo)志位。
CMP R1,#10
?。?)下面指令比較寄存器R1和R2中的值并設(shè)置相關(guān)的標(biāo)志位。
CMP R1,R2
通過(guò)上面的例子可以看出,CMP指令與SUBS指令的區(qū)別在于CMP指令不保存運(yùn)算結(jié)果,在進(jìn)行兩個(gè)數(shù)據(jù)大小判斷時(shí),常用CMP指令及相應(yīng)的條件碼來(lái)操作。
?
1.指令的編碼格式
CMP(Compare)比較指令使用寄存器Rn的值減去operand2的值,根據(jù)操作的結(jié)果更新CPSR中相應(yīng)的條件標(biāo)志位,以便后面的指令根據(jù)相應(yīng)的條件標(biāo)志來(lái)判斷是否執(zhí)行。
指令的編碼格式如圖6.12所示。

圖6.12 CMP指令編碼格式
2.指令的語(yǔ)法格式
CMP{《cond》} 《Rn》,《shifter_operand》
① 《cond》
為指令編碼中的條件域。它指示指令在什么條件下執(zhí)行。當(dāng)《cond》忽略時(shí),指令為無(wú)條件執(zhí)行(cond=AL(Alway))。
?、?《Rn》
指定第一個(gè)源操作數(shù)寄存器。
?、?《shifter_operand》
詳見TST指令。
3.指令操作的偽代碼
指令操作的偽代碼如下面程序段所示。
If ConditionPassed{cond} then
ALU_out = Rn - shifter_operand
N Flag = ALU_out[31]
Z Flag = if ALU_out==0 then 1 else 0
C Flag =NOT BorrowFrom{Rn-shifter_operand}
V Falg=OverflowFrom{Rn-shifter_operand}
4.指令舉例
【例6.11】CMP指令舉例。
CMP允許把一個(gè)寄存器的內(nèi)容與另一個(gè)寄存器的內(nèi)容或立即值進(jìn)行比較,更改狀態(tài)標(biāo)志來(lái)允許進(jìn)行條件執(zhí)行。它進(jìn)行一次減法,但不存儲(chǔ)結(jié)果,而是正確地更改標(biāo)志位。標(biāo)志位表示的是操作數(shù)1與操作數(shù)2比較的結(jié)果(其可能為大、小、相等)。如果操作數(shù)1大于操作操作數(shù)2,則此后的有GT后綴的指令將可以執(zhí)行。
顯然,CMP不需要顯式的指定S后綴來(lái)更改狀態(tài)標(biāo)志。
?。?)下面的指令比較R1和立即數(shù)10并設(shè)置相關(guān)的標(biāo)志位。
CMP R1,#10
?。?)下面指令比較寄存器R1和R2中的值并設(shè)置相關(guān)的標(biāo)志位。
CMP R1,R2
通過(guò)上面的例子可以看出,CMP指令與SUBS指令的區(qū)別在于CMP指令不保存運(yùn)算結(jié)果,在進(jìn)行兩個(gè)數(shù)據(jù)大小判斷時(shí),常用CMP指令及相應(yīng)的條件碼來(lái)操作。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 三菱PLC指令分享
- 淺析快速處理導(dǎo)熱油管腐蝕滲漏的方法 2次下載
- 淺析電容倍增器的原理及應(yīng)用 李文元 73次下載
- 淺析碟式離心機(jī)的分離影響因素及模型 3次下載
- 淺析USB3.0定義.xlsx下載 37次下載
- CMP01:FAST Precision比較器過(guò)時(shí)數(shù)據(jù)表
- CMP-02:低輸入電流精密比較器過(guò)時(shí)數(shù)據(jù)表
- CMP-01:快速精密比較器過(guò)時(shí)數(shù)據(jù)表
- CMP04:四路低功耗精密比較器數(shù)據(jù)表
- CMP401/CMP402:23 ns和65 ns低壓比較器數(shù)據(jù)表
- STM32L476 FPU 執(zhí)行效率之比較淺析資料下載
- 數(shù)據(jù)處理指令之TEQ測(cè)試相等指令分析 1次下載
- 數(shù)據(jù)處理指令CMN之負(fù)數(shù)比較指令分析 1次下載
- 比較器(Comparator_CMP)介紹 0次下載
- CMP指令應(yīng)用脈沖定位控制程序
- 如何使用cmp進(jìn)行數(shù)據(jù)庫(kù)管理的技巧 1k次閱讀
- cmp與其他數(shù)據(jù)處理工具的比較 1.2k次閱讀
- 化學(xué)機(jī)械研磨拋光CMP技術(shù)詳解 5.1k次閱讀
- 西門子PLC編程指令詳解 三菱FX系列PLC的基本邏輯指令詳解 3.9k次閱讀
- PLC傳送與比較指令用法 7.9k次閱讀
- SIMATIC S7-1500 PLC小于比較指令與大于等于比較指令簡(jiǎn)述 1.4w次閱讀
- SIMATIC S7-1500 PLC等于比較指令與不等于比較指令簡(jiǎn)述 9.3k次閱讀
- CMP功能介紹及應(yīng)用實(shí)例 7.5k次閱讀
- STEP 7 Safety V17 指令-CMP 3.2k次閱讀
- S7-1200比較操作-變量指令說(shuō)明 6.2k次閱讀
- 三菱PLC的CMP比較指令 5w次閱讀
- PLC的編程方法與應(yīng)用指令的比較 3.4k次閱讀
- PLC的相關(guān)指令詳細(xì)介紹 4.2k次閱讀
- 西門子PLC編程指令大全包括:位邏輯指令,比較指令,轉(zhuǎn)換指令等14個(gè) 3.6w次閱讀
- Cortex-M系列處理器指令集_指令集特性比較總結(jié) 8.9k次閱讀
下載排行
本周
- 1MDD品牌三極管BC807數(shù)據(jù)手冊(cè)
- 3.00 MB | 次下載 | 免費(fèi)
- 2MDD品牌三極管BC817數(shù)據(jù)手冊(cè)
- 2.51 MB | 次下載 | 免費(fèi)
- 3MDD品牌三極管D882數(shù)據(jù)手冊(cè)
- 3.49 MB | 次下載 | 免費(fèi)
- 4MDD品牌三極管MMBT2222A數(shù)據(jù)手冊(cè)
- 3.26 MB | 次下載 | 免費(fèi)
- 5MDD品牌三極管MMBTA56數(shù)據(jù)手冊(cè)
- 3.09 MB | 次下載 | 免費(fèi)
- 6MDD品牌三極管MMBTA92數(shù)據(jù)手冊(cè)
- 2.32 MB | 次下載 | 免費(fèi)
- 7STM32G474 HRTIME PWM 丟波問(wèn)題分析與解決
- 1.00 MB | 次下載 | 3 積分
- 8新能源電動(dòng)汽車高壓線束的銅鋁連接解決方案
- 2.71 MB | 次下載 | 2 積分
本月
- 1愛華AIWA HS-J202維修手冊(cè)
- 3.34 MB | 37次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 23次下載 | 免費(fèi)
- 3NB-IoT芯片廠商的資料說(shuō)明
- 0.31 MB | 22次下載 | 1 積分
- 4H110主板CPU PWM芯片ISL95858HRZ-T核心供電電路圖資料
- 0.63 MB | 6次下載 | 1 積分
- 5UWB653Pro USB口測(cè)距通信定位模塊規(guī)格書
- 838.47 KB | 5次下載 | 免費(fèi)
- 6技嘉H110主板IT8628E_BX IO電路圖資料
- 2.61 MB | 4次下載 | 1 積分
- 7蘇泊爾DCL6907(即CHK-S007)單芯片電磁爐原理圖資料
- 0.04 MB | 4次下載 | 1 積分
- 8蘇泊爾DCL6909(即CHK-S009)單芯片電磁爐原理圖資料
- 0.08 MB | 2次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191439次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183353次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73822次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App





創(chuàng)作
發(fā)文章
發(fā)帖
提問(wèn)
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論