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. 修改Oracle数据表空间存储位置

    查看数据文件的存储路径: SQL> select name from v$datafile; NAME --------------------------------------------- ...

  2. Vim的移动大法

    Vim的移动大法 移动光标的按键 "h" 向左移动 "j"向下移动 "k"向上移动 "l"向右移动 在单词之间移动 注: ...

  3. 异构智联Wi-Fi6+蓝牙模组,重新定义多屏互联体验!

    下班回家打开门,电灯.电视.空调.音响.电动窗帘.扫地机器人--一呼百应,有序开工,原本冰冷的房子立刻变成了温暖港湾.可以说,舒适便捷的智能设备已经完全融入了我们的生活中. 从单一场景.单一设备,到现 ...

  4. SqlServer 使用 case when 实现行转列,并创建视图表查询

    其实是个很简单的操作了,但长时间不用有点忘记了,正好项目上遇到这样的需求便把过程记录了下来. 一 需求描述 将河道水情表 结构如下,现在需要将水位Z字段由行展示转换为列展示.查询结果为展示时间和每个测 ...

  5. 小组合作实现的基于 jsp,servlet,mysql 编写的学校管理系统

    基本完成的页面--源代码在<文件>中可下载 文件地址:https://i.cnblogs.com/Files.aspx 学生管理模块各功能已实现 百度网盘下载地址: 链接:https:// ...

  6. ubuntu16.04个性化配置

    前言 记录一下个人配置,方便后续参考 正文 配置用户sudo免密权限 只建议在个人测试环境这么配置,否则最好root还是需要用密码确认一下 sudo su echo "你的用户名 ALL=( ...

  7. c++ primer 第五版随笔

    1.what is std::endl ? for example, std::cout << "hello world" << std::endl; st ...

  8. PowerBuilder编程新思维6:装饰(用最简单的方式做框架)

    To be, or not to be - that is the question. PowerBuilder编程新思维6:装饰(用最简单的方式做框架) 问题 这一章,是写得最艰难的一章,原因有四: ...

  9. wangEditor增加源码模式,添加查看源码功能

    wangEditor是一款轻量级的富文本编辑器.使用还比较方便,但是缺少查看源码模式,需要我们自定义一个menu给增加查看源码模式 下面是wangEditor增加源码模式的代码: <!DOCTY ...

  10. [oeasy]python0 113_字符编码_VT100控制码_iso_8859_1_拉丁字符_latin

    拉丁字符 回忆上次内容 上次回顾了字型编码的进化过程 7-bit 的 点阵字库 终于让 字母.数字.标点 明确了字型     但是 7-bit 的 ascii中 没有法文字符的位置   ​   添加图 ...