彙編中AREA和ENTRY理解
阿新 • • 發佈:2019-02-10
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 ,屬性為只讀。
語法格式:
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 ,屬性為只讀。