汇编中AREA和ENTRY理解
来源:互联网 发布:norsecorp 前端源码 编辑:程序博客网 时间:2024/05/19 14:54
转自http://blog.csdn.net/beyondioi/article/details/7854011
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
0 0
- 汇编中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
- Shiro学习笔记<1>入门--Hello Shiro
- FlaskMail发送邮件
- bzoj4900【CTSC2017】Day1T1 密钥 cipher 乱搞
- Android 应用Crash处理
- Linux 常用C函数 在线查询
- 汇编中AREA和ENTRY理解
- Spring Security4.0.3源码分析之authentication-manager标签解析
- c语言结构体字节对齐问题
- 欢迎使用Markdown编辑器写博客
- 智能指针
- 常见对象-String类-4
- 文章标题
- 【php基础班】第2天 HTML实例、bgsound、HTML颜色、计算机编码、meta标签、img标签、a标签、w3c、URL
- C# WinForm开发系列之DataTimePicker控件显示月份的限制和关于DataTimePicker和monthCalendar的样式设置问题