汇编中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 ,属性为只读。
2、ENTRY
语法格式:
汇编指令有多少个ENTRY
ENTRY伪指令⽤于指定汇编程序的⼊⼝点。在⼀个完整的汇编程序中⾄少要有⼀个ENTRY(也可以有多个,当有多个ENTRY时,程序的
真正⼊⼝点由链接器指定),但在⼀个源⽂件⾥最多只能有⼀个ENTRY(可以没有)。 使⽤⽰例:
AREA Init ,CODE ,READONLY
ENTRY ;指定应⽤程序的⼊⼝点
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论