新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ARM狀態(tài)和編譯器狀態(tài)統(tǒng)一

ARM狀態(tài)和編譯器狀態(tài)統(tǒng)一

作者: 時間:2016-11-11 來源:網(wǎng)絡 收藏
整個預編譯段就是為了說明要ARM的當前狀態(tài)和編譯器的狀態(tài)要統(tǒng)一。這是個標準的例子,實際大多數(shù)情況不需要。但是上面的config==16只說明你編譯器當前在使用的TASM.EXE 但你現(xiàn)在 Thumb-capable ARM processors start in ARM state(注意是MCU的狀態(tài)和編譯器無關)。所以要使兩者一致編譯出來的代碼才能被運行,使用CODE32 使編譯器也處于ARMASM.EXE狀態(tài),CODE16/32只會影響編譯器,只有BX會改變processors state.只要兩者一致就好

;Check if tasm.exe(armasm -16@ADS1.0) is used.
GBLL THUMBCODE
[ {CONFIG} = 16
THUMBCODE SETL {TRUE}
CODE32
|
THUMBCODE SETL {FALSE}
]

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

MACRO
MOV_PC_LR
[ THUMBCODE
bx lr
|
mov pc,lr
]
MEND

MACRO
MOVEQ_PC_LR
[ THUMBCODE
bxeq lr
|
moveq pc,lr
]
MEND



評論


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

關閉