zoukankan      html  css  js  c++  java
  • [转载] 汇编中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 ; 指定应用程序的入口点
     
  • 相关阅读:
    Ubuntu上使用Latex
    Ubuntu18.04 解压文件名乱码的解决方法
    Android 编译 opencv
    android 使用编译好的sdk
    https协议加密原理介绍(一)
    java 面试题目 class.forName和load的区别
    给进程设置环境变量
    Maven 编译jdk配置
    Docker积累
    潜谈单例模式
  • 原文地址:https://www.cnblogs.com/iamfy/p/2493409.html
Copyright © 2011-2022 走看看