新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM的匯編控制偽操作

ARM的匯編控制偽操作

作者: 時間:2016-11-23 來源:網(wǎng)絡(luò) 收藏
; If assembled with TASM the variable {CONFIG} will be set to 16

; If assembled with ARMASM the variable {CONFIG} will be set to 32

本文引用地址:http://butianyuan.cn/article/201611/320505.htm

; Set the variable THUMB to TRUE or false depending on whether the

; file is being assembled with TASM or ARMASM.

GBLL THUMB

GBLL ARM

[ {CONFIG} = 16

THUMB SETL {TRUE}

ARM SETL {FALSE}

; If assembling with TASM go into 32 bit mode as the Armulator will

; start up the program in ARM state.

CODE32

|

THUMB SETL {FALSE}

ARM SETL {TRUE}

]

===========================================================

其中[=IF , =ELSE ,]= ENDIF, CODE32 表明一下操作都在ARM狀態(tài)。這些都是偽操作

{CONFIG} 是ARM 匯編器的內(nèi)置變量,其不能通過SETA,SETL或SETS等指示符來設(shè)置,只能用表達式或條件來設(shè)置。內(nèi)置變量介紹如下:

內(nèi)置變量 變量含義

{PC}或.

當(dāng)前指令的地址

{VAR}或@

存儲區(qū)位置計數(shù)器的當(dāng)前值

{TRUE}

邏輯常量真

{FALSE}

邏輯常量假

{OPT}

當(dāng)前設(shè)置列表選項值,OPT用來保存當(dāng)前列表選項,改變選項值,恢復(fù)它的原始值

{CONFIG}

如果匯編器匯編ARM代碼,則值為32;如果匯編器匯編Thumb代碼,則值為16

{ENDIAN}

如果匯編器在大端模式下,則值為big;如果匯編器在小端模式下,則值為little

{CODESIZE}

如果匯編器匯編ARM代碼,則值為32;如果匯編器匯編Thumb代碼,則值為16,與{CONFIG}同義

{CPU}

選定的CPU名,缺省時為ARM7TDMI

{FPU}

選定的FPU名,缺省時為SoftVFP

{ARCHITECTURE}

選定的ARM體系結(jié)構(gòu)的值;3,3M,4,4T和4TxM

{PCSTOREOFFSET}

STR pc,[…]或STMRb,[…PC]指令的地址和PC存儲值之間的偏移量

{ARMASM_VERSION}

或| ads $ version |

ARM匯編器的版本號,為整數(shù)



關(guān)鍵詞: ARM匯編控制偽操

評論


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

關(guān)閉