<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM匯編程序設(shè)計(jì)之:匯編語言文件格式

          ARM匯編程序設(shè)計(jì)之:匯編語言文件格式

          作者: 時(shí)間:2013-09-30 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/257046.htm

          3.浮點(diǎn)數(shù)字量表達(dá)式

          浮點(diǎn)數(shù)字量有以下幾種形式。

          ·{-}digitsE{-}digits。

          ·{-}{digits}.digits{E{-}digits}。

          ·0xhexdigits。

          ·hexdigits。

          其中,digits為十進(jìn)制數(shù),要在其后加上字母E(大寫或小寫)來表示其指數(shù);hexdigits為十六進(jìn)制數(shù)。

          單精度浮點(diǎn)數(shù)的表示范圍為1.17549435e−38~3.40282347e+38;雙精度浮點(diǎn)數(shù)的表示范圍為2.22507385850720138e-308~1.79769313486231571e+308。

          下面的例子說明了浮點(diǎn)數(shù)據(jù)量的基本用法。

          DCFD1E308,-4E-100

          DCFS1.0

          DCFD3.725e15

          LDFS0x7FC00000;

          LDFDFFF0000000000000;

          4.邏輯表達(dá)式

          邏輯表達(dá)式一般由邏輯量、邏輯運(yùn)算符和括號構(gòu)成,其表達(dá)式的運(yùn)算結(jié)果為真或假。與邏輯表達(dá)式相關(guān)的運(yùn)算符有“=”、“>”、“”、“>=”、“=”、“/=”、“>”運(yùn)算符和“LAND”、“LOR”、“LNOT”及“LEOR”運(yùn)算符。

          5.程序或寄存器相關(guān)表達(dá)式

          寄存器相關(guān)表達(dá)式的值等于指定寄存器的值加上或減去一個(gè)數(shù)字表達(dá)式。

          程序相關(guān)表達(dá)式的值等于程序計(jì)數(shù)器PC的值加上或減去一個(gè)數(shù)字表達(dá)式的值。此種表達(dá)式通常由程序中的標(biāo)號與一個(gè)數(shù)字表達(dá)式組成。

          下面的例子說明了程序或寄存器相關(guān)表達(dá)式的基本使用方法。

          LDRr4,=data+4*n ;n是匯編時(shí)取值變量

          ;code

          MOVpc,lr

          dataDCDvalue0

          ;n-1個(gè)DCD偽操作

          DCDvaluen ;data+4*n指向此

          ;更多DCD偽操作

          6.匯編中的操作符

          (1)操作符的優(yōu)先級

          在匯編語言程序設(shè)計(jì)中,表達(dá)式包含一個(gè)擴(kuò)展的操作符集,這些操作符和高級語言中的運(yùn)算符十分接近。其運(yùn)算次序遵循如下的優(yōu)先級。

          ①優(yōu)先級相同的雙目運(yùn)算符的運(yùn)算順序?yàn)閺淖蟮接摇?/p>

          ②相鄰的單目運(yùn)算符的運(yùn)算順序?yàn)閺挠业阶?,單目運(yùn)算符的優(yōu)先級高于其他運(yùn)算符。

          ③括號運(yùn)算符的優(yōu)先級最高。

          匯編語法的操作符優(yōu)先級和C語言中的不完全相同。例如在匯編中,下面的匯編語言

          (1+2∶SHR∶3)相當(dāng)于(1+(2∶SHR∶3)),而在C語言中,運(yùn)算則變?yōu)椋ǎ?+2)>>3)=0。類似于這樣的操作,在使用時(shí)要特別注意。

          注意

          為了保證表達(dá)式運(yùn)算結(jié)果的正確,建議使用“()”來避免異義。

          表10.4列出了匯編操作符的優(yōu)先級以及對應(yīng)的C語言運(yùn)算符。

          表10.4 匯編操作符優(yōu)先級

          匯編操作符

          C語言運(yùn)算符

          單目運(yùn)算

          單目運(yùn)算

          */:MOD:

          */%

          字符串操作

          n/a

          :SHL::SHR::ROR::ROL:

          >>

          +-:AND::OR::EOR:

          +-$|

          =>>==/=>

          ==>>==!=

          :LAND::LOR::LEOR:

          ||

          說明

          表10.3是按操作符的優(yōu)先級從上到下排列的。

          C語言運(yùn)算符優(yōu)先級從高到低排列如下。

          ·單目運(yùn)算

          ·*/%

          ·+-(asbinaryoperators)

          ·>>

          ·=>>=

          ·==!=

          ·

          ·^

          ·|

          ·

          ·||

          (2)單目運(yùn)算

          最高優(yōu)先級的單目運(yùn)算在表達(dá)式中最先被計(jì)算。單目操作符寫在操作數(shù)的前面。運(yùn)算順序?yàn)閺挠业阶蟆?/p>

          表10.5列出了匯編中單目運(yùn)算操作符及其返回值。

          表10.5 匯編中單目運(yùn)算操作符及其返回值。

          操作符

          使用

          描述

          :CHR:

          :CHR:A

          返回字母A的ASCII碼

          :LOWERCASE

          :LOWERCASE:string

          將給定字符串中的所有大寫字母變成小寫

          REVERSE_CC

          :REVERSE_CC:cond_code

          對條件碼取反

          :STR:

          :STR:A

          將一個(gè)數(shù)字量或邏輯表達(dá)式轉(zhuǎn)換成串

          :UPPERCASE:

          :UPPERCASE:string

          將給定字符串中的所有小寫字母變成大寫

          ?

          ?A

          返回定義符號A的代碼行所生產(chǎn)代碼行的字節(jié)數(shù)

          續(xù)表

          操作符

          使用

          描述

          +和-

          +A和-A

          單目加和單目減,操作數(shù)為數(shù)學(xué)或程序相關(guān)表達(dá)式

          :BASE:

          :BASE:A

          如果A是程序或寄存器相關(guān)表達(dá)式,:BASE:返回基址寄存器的編號

          :CC_ENCODING:

          :CC_ENCODING:cond_code

          返回條件碼中的數(shù)字值

          :DEF:

          :DEF:A

          判斷A是否被定義,如果被定義返回{TRUE};如果沒有定義返回{FALSE}

          :INDEX:

          :INDEX:A

          如果A是寄存器相關(guān)表達(dá)式,:INDEX:返回A相對于寄存器的偏移量,常用在宏操作中

          :LEN:

          :LEN:A

          字符串A的長

          :LNOT:

          :LNOT:A

          邏輯表達(dá)式A的值取反

          :NOT:

          :NOT:A

          ~A

          A的值按位取反

          :RCONT:

          :RCONT:Rn

          返回寄存器編號,0~15對應(yīng)寄存器r0~r15



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();