下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、從 ARMASM 匯編到 GNU ARM ASM 匯編以前用 ARM 的 IDE 工具,使用的是 ARM 標(biāo)準(zhǔn)的匯編語言?,F(xiàn)在要使用 GNU 的工具,當(dāng)然要 了解一點(diǎn) GNUARM 匯編的不同之處。ARM 匯編語言源程序語句,一般由指令,偽操作,宏指令和偽指令作成.ARM 匯編語言的設(shè)計(jì)基礎(chǔ) 是匯編偽指令,匯編偽操作和宏指令目前常用的 ARM 編譯環(huán)境有 2 種:ARMASM: ARM 公司的 IDE 中使用了 CodeWarrior的編譯器,絕大多數(shù)windows 下的開發(fā)者都在使用這一環(huán)境,完全按照ARM 的規(guī)定;GNU ARM ASM: GNU 工具的 ARM 版本,與 ARMASM 略
2、有不同;關(guān)于 CodeWarriror ARM匯編的書和文章很多,本文假定你已經(jīng)完全了解ARMASM,這里只說明 GNU ARM 匯編,并針對(duì) ARMASM 給岀說明。本文翻譯自: GNU ARM Assembler Quick Refere nee 。GNU ARM 匯編快速入門任何匯編行都是如下結(jié)構(gòu):: instruction or directive eomment: 注釋GNU ARM 匯編中,任何以冒號(hào)結(jié)尾的都被認(rèn)為是一個(gè)標(biāo)簽,而不一定非要在一行的開始。下 面是一個(gè)簡(jiǎn)單的例子,這段匯編程序定義了一個(gè)add的函數(shù),該函數(shù)返回兩個(gè)參數(shù)的和:.section .text,“ x ”.glo
3、bal add give the symbol add exter nal lin kageadd:ADD r0, r0, r1 add in put argume ntsMOV pc, lr return from subrout ine end of programGNU ARM 匯編偽指令 下面列岀了一些 GNU ARM 匯編偽指令,并給岀了相應(yīng)說明。.ascii“”在匯編中定義字符串并為之分配存儲(chǔ)空間(與 armasm 中的 DCB 功能類似)。.asciz “ ” 和.ascii 類似,但不分配存儲(chǔ)空間。.balign , , 以某種排列方式在內(nèi)存中填充數(shù)值。(該指令與 armasm
4、 中的 ALIGN 類似)。power_of_2表示排列方式,其值可為4,8, 16 或 32,單位是 byte ;fill_value是要填充的值;max_padding最大的填充界限,請(qǐng)求填充的bytes 數(shù)超過該值,將被忽略。.byte , 定義一個(gè)或多個(gè) Byte,并為之分配空間(與 armasm 的DCB 類似)。.code 設(shè)定指令寬度,16 表示 Thumb , 32 表示 ARM assembly(和 armasm 中的 CODE16 , CODE32 相同)。.if.else.endif 預(yù)編譯宏(與 armasm 中的 IF ELSE ENDIF 相同)。.end 匯編文件
5、結(jié)束標(biāo)志,常常省略不用。.en dm 宏結(jié)束標(biāo)志。.exitm宏跳岀。.macro arg_1 , ,定義一段名為 n ame 的宏,arg_xxx 為參數(shù)。必須有對(duì)應(yīng)的.endm 結(jié)尾。可以使用.exitm 從中間跳岀宏。(與armasm 中的 MACRO, MEND, MEXIT 相同)在使用宏參數(shù)時(shí)必須這樣使用:“例如:CODE.macro SHIFTLEFT a, b.if b 0MOV a, a, ASR #-b.exitm.en difMOV a, a, LSL #b.en dm.rept armasm 中的 WEN 相似)循環(huán)執(zhí)行.endr 前的代碼段 number_of_tim
6、es次。(與.irp , ,循環(huán)執(zhí)行.endr 前的代碼段,面給岀的值。在循環(huán)執(zhí)行的代碼段中必須以“”表示參數(shù)。param 依次取后.endr 結(jié)束循環(huán)(與 armasm 中的 WEND 相似).equ vsymbol name, 為一個(gè)標(biāo)號(hào)賦值,類似C 中的 #define的 EQU 相同)(與 armasm 中.err 編譯錯(cuò)誤報(bào)告,將引起編譯的終止.global 全局聲明標(biāo)志,這樣聲明的標(biāo)號(hào)將可以被外部使用。EXPORT 相同)。.hword ,插入一個(gè) 16-bit 的數(shù)據(jù)隊(duì)列。(與相同)(與 armasm 中的armasm 中的 DCW.ifdef 如果 被定義,該快代碼將被編譯。以
7、.endif 結(jié)束.ifndef 如果 未被定義,該快代碼將被編譯。以.endif 結(jié)束.include一樣),段;.data, 初始化數(shù)據(jù)段;.bss,未初始化數(shù)據(jù)段。以識(shí)別這些標(biāo)志。(與 armasm 中的F 面是 ELF 格式允許的段標(biāo)志 含義允許段可寫段執(zhí)行段分配 number_of_bytes字節(jié)的數(shù)據(jù)空間,并0。(與 armasm 中的 SPACE 功能相同)GNU ARM 匯編特殊字符和語法語句分離符號(hào) 直接操作數(shù)前綴:# 或$ .word ,功能相同)插入一個(gè)32-bit 的數(shù)據(jù)隊(duì)列。(與armasm 中的 DCD代碼行中的注釋符號(hào)整行注釋符號(hào)# .armarm 格式編譯,同 code32.thumb以 thumb 格式編譯,同 code16.code16以 thumb 格式編譯.code32以 arm 格式編譯register_ name.req register_ name右邊是使用的真正使用的寄存器。(與” 開始一個(gè)新的代碼或數(shù)據(jù)段。.tex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年監(jiān)護(hù)病房項(xiàng)目籌資方案
- 2023年示波器項(xiàng)目融資計(jì)劃書
- 保健按摩師中級(jí)模擬題及參考答案
- 養(yǎng)老院老人入住手續(xù)辦理制度
- 養(yǎng)老院緊急情況處理制度
- 《客戶經(jīng)理商務(wù)禮儀》課件
- 《環(huán)境亮起了》課件
- 救生員勞務(wù)外包合同(2篇)
- 《大學(xué)生職業(yè)生涯規(guī)劃預(yù)就業(yè)指導(dǎo)》課件-第13 章 就業(yè)市場(chǎng)社會(huì)調(diào)查
- 2024年地下車庫停車位使用權(quán)轉(zhuǎn)讓合同協(xié)議書3篇
- 山東省濟(jì)南市2023-2024學(xué)年高一上學(xué)期1月期末考試 物理 含答案
- 2024二十屆三中全會(huì)知識(shí)競(jìng)賽題庫及答案
- 成人重癥患者人工氣道濕化護(hù)理專家共識(shí) 解讀
- 機(jī)器學(xué)習(xí)(山東聯(lián)盟)智慧樹知到期末考試答案章節(jié)答案2024年山東財(cái)經(jīng)大學(xué)
- 科研設(shè)計(jì)及研究生論文撰寫智慧樹知到期末考試答案章節(jié)答案2024年浙江中醫(yī)藥大學(xué)
- 商業(yè)倫理與企業(yè)社會(huì)責(zé)任(山東財(cái)經(jīng)大學(xué))智慧樹知到期末考試答案章節(jié)答案2024年山東財(cái)經(jīng)大學(xué)
- 2024年輔警招聘考試試題庫及完整答案(全優(yōu))
- 美國(guó)史智慧樹知到期末考試答案2024年
- 2024年江蘇省普通高中學(xué)業(yè)水平測(cè)試小高考生物、地理、歷史、政治試卷及答案(綜合版)
- (完整版)污水處理廠運(yùn)維方案
- 鋼結(jié)構(gòu)防火涂料驗(yàn)收檢測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論