1. 程式人生 > >彙編中AREA和ENTRY理解

彙編中AREA和ENTRY理解

1、AREA    
    語法格式:    
    AREA 段名 屬性1 ,屬性2 ,……    
    AREA偽指令用於定義一個程式碼段或資料段。其中,段名若以數字開頭,則該段名需用“|”括起來,如:|1_test| 。    
    屬性欄位表示該程式碼段(或資料段)的相關屬性,多個屬性用逗號分隔。常用的屬性如下:    
    — CODE 屬性:用於定義程式碼段,預設為READONLY 。    
    — DATA 屬性:用於定義資料段,預設為READWRITE 。    
    — READONLY 屬性:指定本段為只讀,程式碼段預設為READONLY 。    
    — READWRITE 屬性:指定本段為可讀可寫,資料段的預設屬性為READWRITE 。   
 
    — ALIGN 屬性:使用方式為ALIGN表示式。在預設時,ELF(可執行連線檔案)的程式碼段和資料段是按字對齊的,表示式的取值範圍為0~31,相應的對齊方式為2表示式次方。    
    — COMMON 屬性:該屬性定義一個通用的段,不包含任何的使用者程式碼和資料。各原始檔中同名的COMMON段共享同一段儲存單元。 
    一個組合語言程式至少要包含一個段,當程式太長時,也可以將程式分為多個程式碼段和資料段。    
    使用示例:    
    AREA Init ,CODE ,READONLY ;   該偽指令定義了一個程式碼段,段名為Init ,屬性為只讀。