《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 解決方案 > ARM匯編語(yǔ)言設(shè)置條件碼續(xù)

ARM匯編語(yǔ)言設(shè)置條件碼續(xù)

2017-06-22
關(guān)鍵詞: 匯編語(yǔ)言

2)條件轉(zhuǎn)移

在程序中可通過(guò)條件碼的使用讓微處理器決定是否進(jìn)行轉(zhuǎn)移,。例如,,為了實(shí)現(xiàn)循環(huán)操作,往往需要轉(zhuǎn)移回到循環(huán)的開(kāi)始,,但是這種轉(zhuǎn)移應(yīng)該僅發(fā)生在執(zhí)行到所需的循環(huán)次數(shù)之前,,這以后轉(zhuǎn)移應(yīng)被跳過(guò)。這時(shí),,在轉(zhuǎn)移指令后加上合適的條件,,就可恨容易地實(shí)現(xiàn)該功能。

條件轉(zhuǎn)移還可用來(lái)控制循環(huán)的退出,。這時(shí),,轉(zhuǎn)移與條件碼緊密相連,只有當(dāng)條件碼的值滿足條件時(shí),,相應(yīng)的轉(zhuǎn)移才被執(zhí)行,。一種典型的循環(huán)控制指令序如下所示:

       MOV             R0,#0                 ,;計(jì)數(shù)器初始化

LOOP     …

       ADD              R0,,R0,,#1          ,;循環(huán)計(jì)數(shù)器加1

       CMP              R0,#10               ,;與循環(huán)的限制比較

       BNE              LOOP                   ,;如果不相等則返回

              …                                       ;否則循環(huán)中止

例中給出了條件轉(zhuǎn)移是BNE,,即“不等則轉(zhuǎn)移”條件轉(zhuǎn)移的形式共有十幾種,,表中同一欄內(nèi)的一對(duì)條件的涵義相同,二進(jìn)制代碼也相同,,但兩者都是有用的,,因?yàn)樵谔囟ǖ沫h(huán)境中每一種條件都可能使得匯編語(yǔ)言源代碼的編譯更加容易。在表中提到有符號(hào)數(shù)和無(wú)符號(hào)數(shù)的比較時(shí),,并不是說(shuō)指令可區(qū)分有符號(hào)數(shù)和無(wú)符號(hào)數(shù),,知識(shí)說(shuō)明本條指令可對(duì)有符號(hào)數(shù)進(jìn)行大小比較,比較的結(jié)果是正確的,;當(dāng)操作數(shù)是有符號(hào)數(shù)時(shí),,結(jié)果不一定正確,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。