AREA |.text|, CODE, READONLY, ALIGN=2         ;AREA |.text| 选择段 |.text|。

;CODE表示代码段,READONLY表示只读(缺省)

;ALIGN=2表示4字节对齐。若ALIGN=n,这2^n对齐

THUMB                                         ;Thumb 代码

REQUIRE8                                      ;指定当前文件要求堆栈八字节对齐

PRESERVE8                                     ;令指定当前文件保持堆栈八字节对齐

 
------------------------------------------------华丽分割线---------------------------------------------------------------------------------------
-------------------------------------关于  AREA |.text|, CODE, READONLY, ALIGN=2 ---------------------------------------------------
 
语法
              AREA 段名 属性1, 属性2, ……
作用
              用于定义一个代码段或数据段。
              段名若以数字开头,则该段名需用“|”括起来,如|1_test| 。
              属性字段表示该代码段(或数据段)的相关属性,多个属性用逗号分隔。
常用的属性如下:
              CODE  定义代码段
              DATA  定义数据段
              READONLY 
                             指定本段为只读,代码段默认为READONLY
              READWRITE 
                             指定本段为可读可写,数据段的默认为READWRITE
             COMMON
                             定义一个通用的段,不包含任何的用户代码和数据。各源文件中同名的COMMON段共享同一段存储单元。

 
实例:AREA Init,CODE,READONLY 
 
语法
                ALIGN {表达式{,偏移量}}
作用
                通过添加填充字节的方式,使当前位置满足一定的对齐方式。其中,表达式的值用于指定对齐方式,可能的取值为2的幂,如1、2、4、8、16等。若未指定表达式,则将当前位置对齐到下一个字的位置。偏移量也为一个数字表达式,若使用该字段,则当前位置的对齐方式为:2的表达式次幂+偏移量。

 
实例:AREA    Init,CODE,READONLY,ALIGN=3  
 
------------------------------------------------华丽分割线---------------------------------------------------------------------------------------
-----------------------------------------------关于  THUMB------------------------------------------------------------------------------------------
语法
      THUMB
作用
      表示以下的代码都是THUMB代码。
 
------------------------------------------------华丽分割线---------------------------------------------------------------------------------------
---------------------------------------关于  REQUIRE8及PRESERVE8 ------------------------------------------------------------------
 
语法
 REQUIRE(语法格式:requite label)
作用
REQUIRE伪操作用于指定段之间的相互依赖关系.
格式如下:
REQUIRE    lable  ;其中lable 为所需要的标号的名称.
当进行连接处理包含有“REQUIRE   label”伪指令的源文件时,定义label 的源文件也将呗包含
 
语法
     REQUIRE8及PRESERVE8
作用
    REQUIRE8伪操作指示当前代码中要求数据栈8字节对齐 
PRESERVE8伪操作表示当前代码中数据栈是8字节对齐的
说明
  LDRD及STRD指令要求内存单元地址是8字节对齐的.当在程序中使用这些指令在数据栈中传送数据时,要求该数据栈是8字节对齐的,这时就需要用REQUIRE8伪指令来说明.链接器要保证要求8字节对齐的数据栈代码只能被数据栈是8字节对齐的代码调用.

AREA |.text|, CODE, READONLY, ALIGN=2详解的更多相关文章

  1. sublime text 3 build 3143 安装详解

    sublime text 3 build 3143 安装详解   环境:ubuntu 16 (x64) 0x00 下载   官网下载地址   下载的文件是个压缩包,笔者解压之后将整个sublime-t ...

  2. 【META http-equiv="Content-Type" Content="text/html; Charset=*】意义详解

    [META http-equiv="Content-Type" Content="text/html; Charset=*]意义详解 META,网页Html语言里Head ...

  3. MySQL中tinytext、text、mediumtext和longtext详解

    一.数字类型 类型 范围 说明   Char(N) [binary] N=1~255 个字元binary :分辨大小写 固定长度 std_name cahr(32) not null VarChar( ...

  4. mysql 中tinytext、text、mediumtext和longtext详解

    一.数字类型 类型 范围 说明   Char(N) [ binary] N=1~255 个字元binary :分辨大小写 固定长度 std_name cahr(32) not null VarChar ...

  5. MySQL中tinytext、text、mediumtext和longtext详解【转】

    一.数字类型 类型 范围 说明   Char(N) [binary] N=1~255 个字元binary :分辨大小写 固定长度 std_name cahr(32) not null VarChar( ...

  6. StreamSets学习系列之StreamSets支持多种安装方式【Core Tarball、Cloudera Parcel 、Full Tarball 、Full RPM 、Docker Image和Source Code 】(图文详解)

    不多说,直接上干货! Streamsets的官网 https://streamsets.com/ 得到 https://streamsets.com/opensource/ StreamSets支持多 ...

  7. windows 下sublime text 3 配置python 环境详解

    这我们的环境已经安装了python 3.7.1解释器和sublime text 3 编辑器 一.package control 安装 首先我们打开sublime text 3 ——>Tools— ...

  8. 【blog】MySQL中tinytext、text、mediumtext和longtext详解

    参考链接 http://www.cnblogs.com/pureEve/p/6015000.html

  9. Entity FrameWork Code First 迁移命令详解

    1. Enable-Migrations 启动迁移 执行get-help Enable-Migrations –detailed 查看Enable-Migrations的详细用法. -ContextT ...

  10. 【STM32H7教程】第13章 STM32H7启动过程详解

    完整教程下载地址:http://forum.armfly.com/forum.php?mod=viewthread&tid=86980 第13章       STM32H7启动过程详解 本章教 ...

随机推荐

  1. nginx 信号量

    nginx支持的信号量 TERM, INT fast shutdown QUIT graceful shutdown HUP changing configuration, keeping up wi ...

  2. nodejs-mime类型

    mime是一个互联网标准,通过设定它就可以设定文件在浏览器的打开方式. mime使用方法: 使用mime模块查询文件的MIME类型: mime.getType('/path/to/file.txt') ...

  3. eclipse取消默认工作空间的两种方法

    对于eclipse的默认的工作空间,如果不需要正常切换workspace的用户很方便,打开eclipse便自动进入默认的工作空间.而如果用户经常在多个workspace之间切换的话,启动eclipse ...

  4. MathType选项灰色无法点击或者word无法粘贴,治本解决方案

    问题描述: mathtype安装过后,word中会出现mathtype的选项,但是这时mathtype中的选项是虚的,无法点击,而且此时word无法粘贴内容. 解决步骤: 1.打开word选项,点击加 ...

  5. 全网最适合入门的面向对象编程教程:14 类和对象的 Python 实现-类的静态方法和类方法,你分得清吗?

    全网最适合入门的面向对象编程教程:14 类和对象的 Python 实现-类的静态方法和类方法,你分得清吗? 摘要: 本文主要介绍了Python中类和对象中的类方法和静态方法,以及类方法和静态方法的定义 ...

  6. C++11标准库<chrono><future> <atomic><condition_variable><mutex><thread>梳理 (5万字)

    <chrono> C++11中提供了日期和时间相关的库chrono. chrono库主要包含三种类型的类:时间间隔duration.时钟clocks.时间点time point. 时间间隔 ...

  7. 固定panel1,panel2适应窗体变化

    固定panel1,panel2适应窗体变化 如果您想要固定 Panel1 并且让 Panel2 适应窗体大小的变化,可以使用以下方式设置 SplitContainer 的属性:   ' 设置 Spli ...

  8. [oeasy]python0086_ASCII_出现背景_1963年_DEC_PDP系列主机_VT系列终端

    编码进化 回忆上次内容 上次 回顾了 字符编码的新陈代谢 ibm 曾经的EBCDIC 由于 字符不连续 导致 后续 出现无数问题 随着 网络的发展 数据交换的 需要 原来的小隐患 现在 产生了 巨大问 ...

  9. 深入理解 Vue 3 组件通信

    在 Vue 3 中,组件通信是一个关键的概念,它允许我们在组件之间传递数据和事件.本文将介绍几种常见的 Vue 3 组件通信方法,包括 props.emits.provide 和 inject.事件总 ...

  10. RestSharp编写api接口测试,并实现异步调用(不卡顿)

    首先,确保你已经安装了RestSharp NuGet包.如果没有安装,可以通过以下命令安装: bash Install-Package RestSharp 然后,在你的C#代码中,你可以按照以下步骤操 ...