下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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)的匯編語(yǔ)言?,F(xiàn)在要使用 GNU 的工具,當(dāng)然要 了解一點(diǎn) GNUARM 匯編的不同之處。ARM 匯編語(yǔ)言源程序語(yǔ)句,一般由指令,偽操作,宏指令和偽指令作成.ARM 匯編語(yǔ)言的設(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,這里只說(shuō)明 GNU ARM 匯編,并針對(duì) ARMASM 給岀說(shuō)明。本文翻譯自: 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)說(shuō)明。.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 匯編特殊字符和語(yǔ)法語(yǔ)句分離符號(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024新疆二手房買賣合同模板:包含房屋質(zhì)量及安全隱患排查3篇
- 2024影樓與攝影師違約責(zé)任及賠償合同范本3篇
- 2024智能化設(shè)計(jì)合同范本
- 23《童年的發(fā)現(xiàn)》說(shuō)課稿2023-2024學(xué)年統(tǒng)編版語(yǔ)文五年級(jí)下冊(cè)
- 2 丁香結(jié) 說(shuō)課稿-2024-2025學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)上冊(cè)
- 專業(yè)餐飲顧問服務(wù)合同(2024年修訂)版
- 2024跨境電子商務(wù)平臺(tái)搭建與運(yùn)營(yíng)服務(wù)合同
- 職業(yè)學(xué)生退宿申請(qǐng)表
- 2024年簡(jiǎn)化版勞務(wù)協(xié)議格式
- 福建省南平市吳屯中學(xué)2021年高二化學(xué)上學(xué)期期末試卷含解析
- 2024年中國(guó)社會(huì)科學(xué)院外國(guó)文學(xué)研究所專業(yè)技術(shù)人員招聘3人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- DFMEA-第五版標(biāo)準(zhǔn)表格
- 2024年軟件資格考試信息系統(tǒng)運(yùn)行管理員(初級(jí))(基礎(chǔ)知識(shí)、應(yīng)用技術(shù))合卷試卷及解答參考
- 第8課《列夫-托爾斯泰》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 職業(yè)咖啡比賽方案策劃書
- 人教版2024-2025學(xué)年七年級(jí)數(shù)學(xué)上冊(cè)計(jì)算題專項(xiàng)訓(xùn)專題09運(yùn)用運(yùn)算律簡(jiǎn)便運(yùn)算(計(jì)算題專項(xiàng)訓(xùn)練)(學(xué)生版+解析)
- 2023年二輪復(fù)習(xí)解答題專題十七:二次函數(shù)的應(yīng)用(銷售利潤(rùn)問題)(原卷版+解析)
- 《ISO56001-2024創(chuàng)新管理體系 - 要求》之26:“9績(jī)效評(píng)價(jià)-9.3管理評(píng)審”解讀和應(yīng)用指導(dǎo)材料(雷澤佳編制-2024)
- GB 26134-2024乘用車頂部抗壓強(qiáng)度
- 2024年高中生物新教材同步必修第二冊(cè)學(xué)習(xí)筆記第3章 本章知識(shí)網(wǎng)絡(luò)
- 三年級(jí)上冊(cè)乘法豎式計(jì)算練習(xí)200道及答案
評(píng)論
0/150
提交評(píng)論