汇编中AREA和ENTRY理解
来源:互联网 发布:淘宝传图片教程视频 编辑:程序博客网 时间:2024/06/08 19:04
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 ,属性为只读。
2、ENTRY
语法格式:
ENTRY
ENTRY伪指令用于指定汇编程序的入口点。在一个完整的汇编程序中至少要有一个ENTRY(也可以有多个,当有多个ENTRY时,程序的真正入口点由链接器指定),但在一个源文件里最多只能有一个ENTRY(可以没有)。
使用示例:
AREA Init ,CODE ,READONLY
ENTRY ; 指定应用程序的入口点
语法格式:
ENTRY
ENTRY伪指令用于指定汇编程序的入口点。在一个完整的汇编程序中至少要有一个ENTRY(也可以有多个,当有多个ENTRY时,程序的真正入口点由链接器指定),但在一个源文件里最多只能有一个ENTRY(可以没有)。
使用示例:
AREA Init ,CODE ,READONLY
ENTRY ; 指定应用程序的入口点
参考:http://hi.baidu.com/scottsblog/blog/item/472e64eff656fcdeb31cb1a9.html
来源:http://www.cnblogs.com/iamfy/archive/2012/05/09/2493409.html
- 汇编中AREA和ENTRY理解
- 汇编中AREA和ENTRY理解
- 汇编中AREA和ENTRY理解
- 汇编中AREA和ENTRY理解
- 关于AREA和ENTRY的理解
- 汇编APEA和ENTRY
- Linux Kernel 中汇编 ENTRY()
- 汇编中AREA指令的使用
- 关于汇编中的AREA
- 关于LeetCode中Rectangle Area一题的理解
- ARM 汇编命令参考AREA
- ARM 汇编命令参考AREA
- 对汇编中一些基础知识的理解
- 汇编中偏移地址的理解
- 通过汇编理解返回char p []和char *p 中P的区别
- AD中entry sheet和port的区别是什么?
- ARM汇编指令:.align理解和用法
- 汇编中addr和offset
- Repeater绑定IList<T>数据源
- 中美数学比较
- vs2010中臃肿的ipch和sdf文件
- Java压缩解压zip文件的中文文件名在Windows和Linux环境下乱码问题的解决方案
- Android 服务器推送技术
- 汇编中AREA和ENTRY理解
- c#中sqlite在不同机器上可能出现不能读取的情况
- MSBuild资料收集
- 插入排序实现
- Oracle 字符类型整理
- 《数据结构》学习笔记--第二章 线性表
- 逆向学习法
- JS对象的创建和继承
- 徒弟离职引发的思考