(一)数据常量定义汇编指令EQU

EQU用于为程序中的常量、标号等定义一个有效的字符名称,类似于C语言中的#define,当表达式为32位常量时,可指定表达式的数据类型,CODE16,CODE32,DATA

EQU语法格式:

名称 EQU 表达式{,类型};其中EQU可用 * 代替

例子:

Data_in EQU 100

Addr EQU 0xFF,CODE32

(二)数据变量定义汇编指示命令

1.GBLA,GBLL,GBLS伪指令用于定义全局变量,并将其初始化。

在整个程序范围内,全局变量名必须唯一。

例如:

GBLA        Test1        ;定义一个全局的数字变量,并初始化为0

GBLL        Test2        ;定义一个全局的逻辑变量,并初始化为F

GBLS        Test3        ;定义一个全局的字符串变量,并初始化为空

2.LCLA,LCLL,LCLS用于定义一个ARM程序中的局部变量,变量的作用范围以其所在的宏的特定实例为限。局部变量在其作用范围内变量名必须唯一。

宏,一段特定的代码。

例如:

略。同上。

3.SETA,SETL,SETS给一个以定义的全局变量或局部变量赋值

例如:

Test1        SETA        0xaa

Test2        SETL        {TRUE}

Test3        SETS        "Testing"

4.RLIST用于定义一个通用寄存器列表,可在LDM/STM中使用。

LDM/STM中,列表中的寄存器访问次序根据寄存器的编号,由高到低

例如:

RegList        RLIST        {R0-R5,R8,R10}

ARM汇编指令学习笔记(一)相关推荐

  1. KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记3——串口Stdio实现

    KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记3--串口Stdio实现 一.介绍 任务目标 二.工程创建 三.软件设计 第一步,BSP构建 1, 添加前面的pll_config文件 2 ...

  2. KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记4——Directives

    KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记4--Directives 一.若干重要的DIRECTIVE介绍 二.一些概念 三.Directives详细介绍 1,GET/INCLUD ...

  3. ARM汇编指令学习---基于启动文件startup.S分析

    本文主要是基于启动文件startup.s对ARM汇编指令进行学习分析. 以 . 开头一般是伪汇编/操作指令,形如: .section伪操作来定义一个段,形如: .section .testsectio ...

  4. arm汇编的学习笔记,对比x86和arm(1)-从最简单的函数谈起

    最简单的函数 x86下汇编指令 ARM下汇编指令 Hello World x86中汇编指令 ARM汇编 LDM/STM指令 LDMFD 指令 ADR指令: 知识点扩展: ADR ADRL: LDR指令 ...

  5. 汇编入门学习笔记 (十二)—— int指令、port

    疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...

  6. 计算机指令int,汇编入门学习笔记 (十二)—— int指令、端口

    疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.端口 参考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引发一 ...

  7. 嵌入式工程师到底要不要学习ARM汇编指令?arm学习文章汇总

    嵌入式工程师到底要不要学习ARM汇编指令? 网上搜索这个问题,答案很多,大部分的建议是不要学汇编,只要学C语言. 而一口君作为一个十几年经验的驱动工程师,个人认为,汇编语言还是需要掌握的,想要搞精.搞 ...

  8. ida pro 反汇编 Android so 库后修改 arm 汇编指令的方法总结

    1 前言 最近博主在学习Android逆向的时候,参照吾爱破解论坛的<教我兄弟学Android逆向系列课程>学习的时候,学到第8章<教我兄弟学Android逆向08 IDA爆破签名验 ...

  9. [mmu/cache]-ARM MMU的学习笔记-一篇就够了

    ★★★ 个人博客导读首页-点击此处 ★★★ . 说明: 在默认情况下,本文讲述的都是ARMV8-aarch64架构,linux kernel 64位 . 相关文章 1.ARM cache的学习笔记-一 ...

最新文章

  1. 充电 | 打开机器学习的大门,需要了解哪些知识?
  2. 较深度地递归转义过滤
  3. 2019最具特色的web前端技术分享
  4. Python 3.x print 小结
  5. ORA-01994 故障一例
  6. day15-pymysql模块的使用
  7. 【spring boot】【thymeleaf】SPEL调用静态方法和静态属性
  8. ios俩个APP之间跳转、传值
  9. 从ASP.NET Core2.2到3.0你可能会遇到这些问题
  10. apache mahout_使用Apache Mahout创建在线推荐系统
  11. Windows下安装Python模块时环境配置
  12. [缓存]迅雷下载原理
  13. 【BZOJ - 1059】矩阵游戏(二分图匹配,建图,最小边覆盖)
  14. Java事务管理之Spring+Hibernate
  15. python try else多余的设计_在python中利用try..except来代替if..else的用法
  16. android go 刷机教程,安卓用的久了,如何刷机?安卓手机线刷教程
  17. Linux网络协议栈(一)——Socket入门(2)
  18. Docker使用link建立容器之间的连接
  19. 双击ctrl搜索 意在颠覆用户的习惯
  20. pc上最好用的pdf阅读工具(PDF Xchange Viewer)

热门文章

  1. 进厂都要去越南,富士康“曲线救国”,计划增加越南员工人数
  2. 在设计电机电路项目中总结的一些电机参数知识和设计要点 - 直流电机、空心杯电机、步进电机、伺服电机等
  3. RISC-V Linux kernel debug 环境搭建
  4. SAP年末余额结转步骤(转)
  5. 我是如何长期坚持阅读的:简易读书习惯培养|牛人读书炼成记
  6. 计算机类国家网络安全学院,武汉大学国家网络安全学院
  7. python二元多次函数拟合_对python实现二维函数高次拟合的示例详解
  8. bat脚本实现监控进程功能-自动重启
  9. 王牌电视机显示服务器开小差,TCL王牌大屏幕彩电故障检修实例(上)
  10. MYSQL基于三表的RBAC(可直接拿去CV)