新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM 匯編命令參考AREA

        ARM 匯編命令參考AREA

        作者: 時間:2016-11-11 來源:網絡 收藏
        1. AREA

        AREA 命令指示匯編程序匯編一個新的代碼段或數據段。段是獨立的、指定的、不可見的代碼或數據塊,它們由鏈接程序處理。

        本文引用地址:http://www.104case.com/article/201611/316782.htm

        語法
        AREA sectionname{,attr}{,attr}...

        其中:

        sectionname 是將要指定的段名。

        可以為段選擇任何段名。但是,以一個數字開始的名稱必須包含在豎杠號內,否則會產生一個缺失段名錯誤。例如,|1_DataArea|。
        有些名稱是習慣性的名稱。例如,|.text| 用于表示由 C 編譯程序產生的代碼段,或用于以某種方式與 C 庫關聯的代碼段。

        attr 是一個或多個用逗號分隔的段屬性。有效的屬性是:

        ALIGN=expression

        默認情況下,ELF 段在四字節邊界上對齊。expression 可以擁有 0 到 31 的任何整數。段在 2expression 字節邊界上對齊。例如,如果 expression 是 10,則段是在 1KB 邊界上對齊。這與 ALIGN 命令所指定的方式并不相同。

        ASSOC=section

        section 指定一個關聯的 ELF 段。sectionname必須包含在含有 section 的任何鏈接中。

        CODE

        包含機器指令。READONLY 是默認值。

        COMDEF

        是一個公共段定義。這是包含代碼或數據的 ELF 段。其必須等同于與其它源文件中擁有相同名稱的任何其它段須是同一段。擁有相同名稱的同一 ELF 段在存儲器的相同段中被鏈接程序覆蓋。如果有任何段不同,則鏈接程序產生一個警告,并且不覆蓋這些段。請參閱RealView 編譯工具 2.0 版鏈接程序和實用程序指南 中的鏈接程序 一章。

        COMMON

        是公共數據段。不能在其中定義任何代碼或數據。其由
        鏈接程序初始化為零。擁有相同名稱的所有公共段在存
        儲器的相同段中被鏈接程序覆蓋。它們并不都需要具有
        相同的大小。鏈接程序按每個名稱的最大公共段的需要
        分配空間。

        DATA

        包含數據但不含指令。READWRITE 是默認值。

        NOALLOC

        表示在目標系統上沒有為此 AREA 分配存儲器。

        NOINIT

        表示數據段是未初始化的或初始化為零。其只包含零初始化的空間保留命令 SPACE 或 DCB、DCD、DCDU、DCQ、DCQU、DCW 或 DCWU。可以決定在鏈接時 AREA 是未初始化的還是零初始化的(請參閱RealView 編譯工具 2.0 版鏈接程序和實用程序指南 中的鏈接程序 一章)。

        READONLY

        表示不能寫到此段中。這是代碼區域的默認情況。

        READWRITE

        表示可以讀和寫此段。這是數據區域的默認情況



        關鍵詞: ARM匯編命令ARE

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 广安市| 岳阳市| 应城市| 丹寨县| 丹棱县| 顺平县| 南通市| 榆社县| 敖汉旗| 沂水县| 靖州| 民和| 大埔区| 寻甸| 柯坪县| 阳城县| 丰宁| 碌曲县| 谢通门县| 竹北市| 合作市| 望谟县| 湘潭县| 闻喜县| 皋兰县| 连城县| 松桃| 宿州市| 阜康市| 横峰县| 鲁甸县| 饶河县| 百色市| 星座| 林甸县| 钟祥市| 云安县| 榆中县| 沙田区| 甘肃省| 汶川县|