《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > ARM匯編語言設置條件碼

ARM匯編語言設置條件碼

2017-06-22
關鍵詞: 匯編語言

如果需要,ARM的任何數據處理指令都能通過增加S操作碼來設置條件碼。對于比較、測試指令操作,其主要作用就是設置條件碼,因此可不用增加S操作碼,但對所有其他數據處理指令必須通過增加S操作碼來指明。例如,下面代碼完成2個數的64位加法,一個數存于[R1,R0],另一個數存于[R3,R2],用C條件碼標志位存立即數進位:

ADDS            R2,R2,R0                ;32位進位輸出到C

ADC              R3,R3,R1                ;再加到高位字中

由于操作碼的S擴展能控制指令是都修改條件碼,所以適合的時候,需要在指令序列中把條件碼保護起來,如在中斷的情況下。

數據處理指令加了S后,算數操作根據算術運算的結果設置所有標志位。邏輯“或”傳送操作不產生有意義的C或V值,他們根據結果設置N和Z,保留V。

1)條件執行

ARM指令集不同尋常的特征是每條指令都可以是條件執行的。條件轉移是絕大多數指令集的標準特征,但ARM將條件執行擴展到所有指令,包括監控調用和協處理器指令。條件域cond占據32位指令域的高四位,如圖所示。

條件域共有16個值,每個值都根據CPSR中的N、Z、C和V的標志位的值來確定指令執行還是跳過。

一條指令本來是用于跳過其后的幾條指令,但如果利用ARM指令集所有ARM指令都可執行這一特點,則給予指令后的ARM指令以相反的條件,轉移將被忽略。

例如:

       CMP       R0,#5

       BEQ       BYPASS                      ;如果R0≠5

       ADD       R1,R1,R0                ;則R1=R1+R0-R2

       SUB              R1,R1,R2                ;

BYPASS

這可替代為:

       CMP       R0,#5                        ;如果R0≠5

       ADDNE  R1,R1,R0                ;則R1=R1+R0-R2

       SUBNE   R1,R1,R2                ;

              …   

新的指令序列比原先的既短小又快速。如果被跳過的指令序列并不進行復雜的操作,使用條件執行都要比使用轉移好。因為ARM轉移指令一般要用3個周期來執行,所以上面例子中采用3條指令的方法。如果代碼充分優化,那么是使用條件執行還是轉移,需要根據代碼動態行為的測量來決定。

有時巧妙地使用條件,可寫出非常簡練的代碼。例如:

;if((a==b)&&(c==d))e++

CMP       R0,R1

CMPEQ  R2,R3

ADDEQ  R4,R4,#4

注意:如果第一個比較發現操作數不同,則第二個比較指令和后面加1指令也將跳過。由于第二個比較指令使用了條件執行,從而實現了if語句的邏輯“與”。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 韩国免费高清一级毛片性色| jizz国产精品jizz中国| 91蜜桃传媒一二三区| 欧美日在线观看| 国产大尺度吃奶无遮无挡网| 一二三四视频在线观看韩国电视剧| 浪荡女天天不停挨cao日常视频| 国产精品对白刺激久久久| 东京道一本热中文字幕| 果冻传媒视频在线观看| 免费无遮挡无码永久在线观看视频 | 久久久久亚洲av成人网人人软件| 精品国产欧美一区二区| 国产清纯91天堂在线观看| 中文字幕在线一区二区三区| 波多野结衣系列痴女| 四虎永久精品免费网址大全| 99精品众筹模特自拍视频| 日批免费观看视频| 亚洲精品高清国产麻豆专区| 亚洲xxxx18| 在线观看国产精品日韩AV| 中文字幕在线影院| 日韩精品一区二区三区在线观看| 亚洲欧美在线观看一区二区| 麻豆精品密在线观看| 性做久久久久久免费观看| 亚洲毛片av日韩av无码| 高清国产精品久久| 好紧好爽好大好深在快点视频| 久久婷婷五月综合成人D啪| 欧美日韩一本大道香蕉欧美| 国产av无码专区亚洲av毛片搜| jizz国产视频| 在现免费看的www视频的软件 | 国产精品理论片| 久久99亚洲网美利坚合众国| 激情综合婷婷色五月蜜桃| 四虎国产精品永久在线| 3d玉蒲团之极乐宝鉴| 无码中文字幕av免费放|