AREA |.text|, CODE, READONLY, ALIGN=2詳解


AREA |.text|, CODE, READONLY, ALIGN=2         ;AREA |.text| 選擇段 |.text|。

                                                      ;CODE表示代碼段,READONLY表示只讀(缺省)

                                                       ;ALIGN=2表示4字節對齊。若ALIGN=n,這2^n對齊

THUMB                                         ;Thumb 代碼

REQUIRE8                                      ;指定當前文件要求堆棧八字節對齊

PRESERVE8                                     ;令指定當前文件保持堆棧八字節對齊

 

 

 
------------------------------------------------華麗分割線---------------------------------------------------------------------------------------
-------------------------------------關於  AREA |.text|, CODE, READONLY, ALIGN=2 ---------------------------------------------------
 
語法
              AREA 段名 屬性1, 屬性2, ……
作用
              用於定義一個代碼段或數據段。
              段名若以數字開頭,則該段名需用“|”括起來,如|1_test| 。
              屬性字段表示該代碼段(或數據段)的相關屬性,多個屬性用逗號分隔。
常用的屬性如下:
              CODE  定義代碼段
              DATA  定義數據段
              READONLY 
                             指定本段為只讀,代碼段默認為READONLY
              READWRITE 
                             指定本段為可讀可寫,數據段的默認為READWRITE
             COMMON
                             定義一個通用的段,不包含任何的用戶代碼和數據。各源文件中同名的COMMON段共享同一段存儲單元。

 
實例:AREA Init,CODE,READONLY 
 
語法
                ALIGN {表達式{,偏移量}}
作用
                通過添加填充字節的方式,使當前位置滿足一定的對齊方式。其中,表達式的值用於指定對齊方式,可能的取值為2的冪,如1、2、4、8、16等。若未指定表達式,則將當前位置對齊到下一個字的位置。偏移量也為一個數字表達式,若使用該字段,則當前位置的對齊方式為:2的表達式次冪+偏移量。

 
實例:AREA    Init,CODE,READONLY,ALIGN=3  
 
------------------------------------------------華麗分割線---------------------------------------------------------------------------------------
-----------------------------------------------關於  THUMB------------------------------------------------------------------------------------------
語法
      THUMB
作用
      表示以下的代碼都是THUMB代碼。
 
------------------------------------------------華麗分割線---------------------------------------------------------------------------------------
---------------------------------------關於  REQUIRE8及PRESERVE8 ------------------------------------------------------------------
 
語法
 REQUIRE(語法格式:requite label)
作用
REQUIRE偽操作用於指定段之間的相互依賴關系.
格式如下:
REQUIRE    lable  ;其中lable 為所需要的標號的名稱.
當進行連接處理包含有“REQUIRE   label”偽指令的源文件時,定義label 的源文件也將唄包含
 
語法
     REQUIRE8及PRESERVE8
作用
    REQUIRE8偽操作指示當前代碼中要求數據棧8字節對齊 
PRESERVE8偽操作表示當前代碼中數據棧是8字節對齊的
說明
  LDRD及STRD指令要求內存單元地址是8字節對齊的.當在程序中使用這些指令在數據棧中傳送數據時,要求該數據棧是8字節對齊的,這時就需要用REQUIRE8偽指令來說明.鏈接器要保證要求8字節對齊的數據棧代碼只能被數據棧是8字節對齊的代碼調用.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM