(1)例一:TST與BNE搭配
TST r0,#02
BNE sleep
LDR r1,#0
解釋:位比較,先進行and運算,如果r0第2位不為1,則與的結果為0,設置標志位zero=1,繼續下面的ldr指令。反之,zero=0,跳轉到sleep執行。
bne指令: 非零則跳轉
個人總結:TST 和BNE 連用: 先是用TST 進行位與運算,然后將位與的結果與0比較,如果不為0,則跳到bne緊跟著的標記(如bne sleep,則跳到sleep處)。
TST 和BEQ連用: 先是用tst進行位與運算,然后將位與的結果與0比較,如果為0,則跳到beq緊跟著的標記(如bne AAAA,則跳到AAAA處)。
(2)例二:CMP同BNE搭配
CMP r1,r2
BNE copy_loop
這個CMP搭配下邊的BNE指令構成了如果r1≠r2則執行BNE指令,跳轉到copy_loop函數處執行。否則,就跳過下邊,bne指令向下執行。
(3)例三:CMP同BEQ搭配
CMP r0,r1
BEQ clean_bss
如果r0=r1,就執行BEQ,跳轉到clean_bss函數處執行,否則跳過BEQ向下執行。
總結:其實上邊兩句都是跳轉指令,跳轉到相關函數處執行。區別在于執行跳轉的條件不同。
上一篇:各種ARM仿真器接口圖
下一篇:ARM匯編:偽指令DATA和EQU的區別
推薦閱讀
史海拾趣
隨著全球電子市場的不斷擴大,APSA公司開始實施全球化戰略。公司先后在多個國家設立分支機構,拓展國際業務。通過與全球客戶的合作,公司的產品線不斷豐富,市場份額也逐漸提升。
隨著全球電子市場的不斷擴大,APSA公司開始實施全球化戰略。公司先后在多個國家設立分支機構,拓展國際業務。通過與全球客戶的合作,公司的產品線不斷豐富,市場份額也逐漸提升。
Arcolectric公司成立于1932年,作為Elektron PLC Group的一個著名品牌,它從一開始就專注于開關、指示燈及保險絲座的生產。在創立初期,Arcolectric就展現出了對技術的深厚積累和獨特見解,成功研發出了一系列高質量、高性能的產品,為公司的長遠發展奠定了堅實的基礎。
在環保日益受到重視的今天,BCD Semi公司積極響應國家環保政策,將環保理念融入公司的生產和經營中。公司采用環保材料和工藝,減少生產過程中的污染排放,提高資源利用效率。同時,BCD Semi還加強了對員工的環保培訓和教育,提高員工的環保意識,共同推動公司的可持續發展。
恒連電子一直將品質管理和客戶服務作為公司發展的生命線。公司建立了嚴格的質量管理體系和完善的售后服務體系,確保產品的品質和服務的質量。在品質管理方面,公司從原材料采購到產品生產的每一個環節都進行嚴格把控,確保產品的穩定性和可靠性。在客戶服務方面,公司秉承“客戶至上”的服務理念,為客戶提供全方位、個性化的服務支持。通過優質的服務贏得了客戶的信任和好評。
為了滿足全球客戶的需求,Eska公司實施了市場拓展和國際化戰略。公司在歐洲各大主要城市及美國設立了服務中心,以便為當地客戶提供快速可靠的服務。此外,Eska還利用先進的分切設備,為當地客戶集中快速地提供載切大小格式灰板的服務。同時,Eska的產品也通過全球代理商、經銷商及存貨商網絡,覆蓋到更廣泛的市場。
目前,FPGA程序對外部多個串口的信號進行解析和數據處理,目前遇到問題,解析的數據總有端口出現隨機錯誤。正常情況我們設計的是,對輸入FPGA的多個串口信號進行并行的解析,然后把解析的數據進行處理。但現在由于資源緊張,多個串口信號進行輪流解 ...… 查看全部問答∨ |
|
請問bsp生成后怎樣變成可以下載的形式然后下載到目標板上。ppc860+vxworks5.4+tornado2.0 請問bsp生成后怎樣變成可以下載的形式然后下載到目標板上。ppc860+vxworks5.4+tornado2.0 能說下詳細過程么。謝謝!… 查看全部問答∨ |
源碼請教,關于Tab Ctrl 的多對話框共享從串口采集的數據,怎么實現啊? 現在有個項目,28號就要,很急,沒實現Tab Ctrl 的多對話框共享從串口采集的數據,有四個對話框,每個對話框分別有很多的控件,要顯示從串口采集來的數據,怎么樣才能實現共享啊,請大家幫幫忙!!! 其中Tab Ctrl 的多對話框主要使用下面的方案5實 ...… 查看全部問答∨ |
請教各位大俠,為什么在下面的程序中有for(i=0; i < 128; i++) *Dest++ = *Source++;這個語句呢?它的作用是什么呢? void InitPieVectTable(void){ int16 i; Uint32 *Source = (void *) &PieVectTableInit; Uint32 *Dest ...… 查看全部問答∨ |
#include #include void main(void) { InitSysCtrl(); //系統控制初始化 //InitGpio(); DINT; //禁止全局中斷 InitPieCtrl(); IER = 0x00 ...… 查看全部問答∨ |