<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM匯編程序設計之:匯編語(yǔ)言文件格式

ARM匯編程序設計之:匯編語(yǔ)言文件格式

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

本文引用地址:http://dyxdggzs.com/article/257046.htm

3.浮點(diǎn)數字量表達式

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

·{-}digitsE{-}digits。

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

·0xhexdigits。

·hexdigits。

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

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

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

DCFD1E308,-4E-100

DCFS1.0

DCFD3.725e15

LDFS0x7FC00000;

LDFDFFF0000000000000;

4.邏輯表達式

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

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

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

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

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

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

;code

MOVpc,lr

dataDCDvalue0

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

DCDvaluen ;data+4*n指向此

;更多DCD偽操作

6.匯編中的操作符

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

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

①優(yōu)先級相同的雙目運算符的運算順序為從左到右。

②相鄰的單目運算符的運算順序為從右到左,單目運算符的優(yōu)先級高于其他運算符。

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

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

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

注意

為了保證表達式運算結果的正確,建議使用“()”來(lái)避免異義。

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

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

匯編操作符

C語(yǔ)言運算符

單目運算

單目運算

*/:MOD:

*/%

字符串操作

n/a

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

>>

+-:AND::OR::EOR:

+-$|

=>>==/=>

==>>==!=

:LAND::LOR::LEOR:

||

說(shuō)明

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

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

·單目運算

·*/%

·+-(asbinaryoperators)

·>>

·=>>=

·==!=

·

·^

·|

·

·||

(2)單目運算

最高優(yōu)先級的單目運算在表達式中最先被計算。單目操作符寫(xiě)在操作數的前面。運算順序為從右到左。

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

表10.5 匯編中單目運算操作符及其返回值。

操作符

使用

描述

:CHR:

:CHR:A

返回字母A的ASCII碼

:LOWERCASE

:LOWERCASE:string

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

REVERSE_CC

:REVERSE_CC:cond_code

對條件碼取反

:STR:

:STR:A

將一個(gè)數字量或邏輯表達式轉換成串

:UPPERCASE:

:UPPERCASE:string

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

?

?A

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

續表

操作符

使用

描述

+和-

+A和-A

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

:BASE:

:BASE:A

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

:CC_ENCODING:

:CC_ENCODING:cond_code

返回條件碼中的數字值

:DEF:

:DEF:A

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

:INDEX:

:INDEX:A

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

:LEN:

:LEN:A

字符串A的長(cháng)

:LNOT:

:LNOT:A

邏輯表達式A的值取反

:NOT:

:NOT:A

~A

A的值按位取反

:RCONT:

:RCONT:Rn

返回寄存器編號,0~15對應寄存器r0~r15



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>