《電子技術應用》
您所在的位置:首頁 > 嵌入式技术 > 解决方案 > ARM汇编语言程序格式

ARM汇编语言程序格式

2017-06-22
關鍵詞: 汇编语言

以ADS編譯器下匯編語言程序設計的格式為例,來介紹ARM匯編語言程序的基本格式,并詳細描述了ARM匯編語言的幾個重點。

ARM匯編語言是以段為單位來組織源文件的。段是相當獨立、具有特定名稱、不可分割的指令或數據序列。段又可分為代碼段和數據段:代碼段存放執行代碼;數據段存放代碼運行時需要用的數據。一個ARM源程序至少需要一個代碼段,大的程序可包含多個代碼段和數據段。

ARM匯編語言源程序經過匯編處理后生成一個可執行的映像文件,它通常包括3部分:

一個或多個代碼段。代碼段通常是只讀的。

0或多個包含初始值的數據段。這些數據段通常是可讀/寫的。

0或多個不包含初始值的數據段。這些數據段被初始化為0,通常是可讀/寫的。

鏈接器根據一定的規則將各個段安排到內存中的相應位置。源程序中段之間的相鄰關系與執行的映像文件中段之間的相鄰關系并不一定相同。

下面通過一個簡單的例子,說明ARM匯編語言源程序的基本結構。

AREA     EXAMPLE,CODE,READONLY

ENTRY

Start

       MOV      R0,#10

       MOV      R1,#3

       MOV      R0,R0,R1

END

在ARM匯編語言源程序中,使用偽操作AREA定義一個段。AREA偽操作表示了一個段的開始,同時定義了這個段的名稱及相關屬性。在本例中定義了一個只讀的代碼段,其名稱為EXAMPLE。

ENTRY偽操作標識了程序執行的第一條指令,即程序的入口點。一個ARM程序中可以有多個ENTRY,至少要有一個ENTRY。初始化部分的代碼及異常中斷處理程序中都包含了ENTRY。如果程序包含了C代碼,則C語言庫文件的初始化部分也包含了ENTRY.

END偽操作告訴匯編編譯器源文件的結束。每一個匯編模塊必須包含一個END偽操作,只是本模塊的結束。

本程序的程序體部分實現了一個簡單的加法運算。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产精品久久久久久久久久ktv | 奇米影视首页 狠狠色丁香婷婷久久综合 | 久久精品91久久香蕉加勒比| 久久久久国产精品www| 国产精品美女xx| 日韩欧美亚洲区| 国产精品偷伦免费视频观看的| 91精品91久久久久久| 国产精品10p综合二区| 99热在线国产| 国产不卡av在线| www日韩av| 北条麻妃在线一区| 激情小说网站亚洲综合网| 日韩在线第三页| 国产高清在线一区| 国产精品福利在线| 久久久久久久91| 国产综合免费视频| 久久久久久久久久久视频| 久久久久天天天天| 久久99精品久久久久久噜噜| 国内一区二区在线视频观看| 91精品久久久久久久久久| 国产视频99| 91久久国产精品91久久性色| 日本一区二区在线播放| 久久久国产精品x99av| 欧美亚洲日本网站| 青青青青在线视频| 极品日韩久久| 欧美最猛性xxxxx(亚洲精品)| 欧洲午夜精品久久久| 国产精品综合网站| 亚洲a级在线观看| 国产精品免费成人| 欧美精品第三页| 欧美激情一级欧美精品| 高清国产一区| 97久久精品在线| 在线精品日韩|