91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

微軟公司宣布不再支持你正在使用的 IE瀏覽器,這會嚴重影響瀏覽網頁,請使用微軟最新的Edge瀏覽器
廠商專區
產品/技術
應用分類

新手必看 ARM操作指令簡介合集

2016-07-27 09:11 來源:電源網綜合 編輯:鈴鐺

ARM芯片是目前最為成功的控制半導體產品之一。很多經典芯片產品都采用了ARM作為核心,ARM的匯編程序由ARM指令、偽指令、偽操作、宏指令組成。分類如此之多,對于剛剛接觸ARM的朋友來說似乎非常容易產生混淆。在本文當中,小編將為大家介紹ARM位操作與偽指令,感興趣的朋友快來看一看吧。

ARM偽操作

GET,通常用于包含定義常量的源文件,如用EQU定義的外設地址,類似于C語言中用include好含頭文件。(匯編語言中被包含的文件常以.inc結尾)GET2440addr.inc

AREA、ENTRY和END

AREA操作常用于定義一個段。通常一個ARM源程序至少需要一個代碼段。

ENTRY用于指定程序的入口點。

END用于告訴匯編編譯器源文件已經結束。

EXPORT和IMPORT

EXPORT偽操作用于聲明外部標號,即當前標號是本源文件中定義的,在其他文件中可能會被引用。

IMPORT偽操作用于告訴編譯器當前的符號不是本源文件中定義的,而是在其他源文件中定義的,在本源文件中可能引用該符號。

EQU用于定義常量。提醒,在每條ARM指令前必須有空格,但是用EQU定義常量時,必須頂格寫,否則編譯器會報錯。

LTORG用于聲明一個文字池,所謂文字池就是一個數據緩沖區。

ALIGN偽操作通過調整地址指針使當前位置滿足一定的對齊方式。在ARM代碼中要求地址符號是字對齊的。

MACRO和MEND偽操作用于宏定義。

MACRO表示宏定義的開始,MEND表示宏定義的結束。用MACRO和MEND定義的一段代碼,稱為宏體。這樣,在程序中就可以通過宏指令多次調用該代碼段。


MACRO

{$label}MACROName{$parameter}{$parameter}……;這里添加自己的代碼

MEND

MAP和FIELD

MAP用于定義內存表的首地址,其中MAP也可以用^表示。FIELD用于定義一個內存表中的數據域,其中FIELD可以用#表示。MAP和FIELD組合類似于C語言中定義一個數組,MAP指向數組的首地址,FIELD用于分配數組中的各個元素。

#definepISR_SWI(*(unsigned*)(_ISR_STARTADDRESS+0x8))

強制轉換后,可以對pISR_SWI進行賦值,調用。

_ISR_STARTADDRESSEQU0x33FFFF00

^_ISR_STARTADDRESS

HandleReset#4

HandleUndef#4

HandleSWI#4

HandlePabort#4

HandleDabort#4

ARM偽指令:ADRL;LDR;DCDSPACE

通過以上的介紹,相信大家對于ARM芯片中各類ARM匯編程序指令已經有了一定程度的了解。ARM偽操作通常用于包含定義常量的源文件,而AREA操作則常用于定義一個段,每一種匯編方式都有自己獨特的應用場合,大家可以將本文進行收藏,在需要復習的時候作為參考資料。

標簽: ARM ARM操作指令

聲明:本內容為作者獨立觀點,不代表電源網。本網站原創內容,如需轉載,請注明出處;本網站轉載的內容(文章、圖片、視頻)等資料版權歸原作者所有。如我們采用了您不宜公開的文章或圖片,未能及時和您確認,避免給雙方造成不必要的經濟損失,請電郵聯系我們,以便迅速采取適當處理措施;歡迎投稿,郵箱∶editor@netbroad.com。

相關閱讀

微信關注
技術專題 更多>>
技術專題之EMC
技術專題之PCB

頭條推薦

電子行業原創技術內容推薦
客服熱線
服務時間:周一至周五9:00-18:00
微信關注
獲取一手干貨分享
免費技術研討會
editor@netbroad.com
400-003-2006
主站蜘蛛池模板: 璧山县| 定州市| 广宁县| 扬州市| 曲沃县| 札达县| 团风县| 晴隆县| 阿图什市| 雅江县| 丹阳市| 鹤壁市| 柏乡县| 高州市| 双鸭山市| 禄丰县| 鹿邑县| 鄂伦春自治旗| 乌苏市| 湘潭县| 敖汉旗| 黄大仙区| 万宁市| 张家港市| 伊金霍洛旗| 达拉特旗| 陆丰市| 元阳县| 长治县| 康保县| 松滋市| 五大连池市| 宁武县| 门头沟区| 乌苏市| 通化市| 合肥市| 海丰县| 汉寿县| 淄博市| 当阳市|