ARM汇编指令学习笔记(一)
(一)数据常量定义汇编指令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汇编指令学习笔记(一)相关推荐
- KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记3——串口Stdio实现
KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记3--串口Stdio实现 一.介绍 任务目标 二.工程创建 三.软件设计 第一步,BSP构建 1, 添加前面的pll_config文件 2 ...
- KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记4——Directives
KEIL 5.38的ARM-CM3/4 ARM汇编设计学习笔记4--Directives 一.若干重要的DIRECTIVE介绍 二.一些概念 三.Directives详细介绍 1,GET/INCLUD ...
- ARM汇编指令学习---基于启动文件startup.S分析
本文主要是基于启动文件startup.s对ARM汇编指令进行学习分析. 以 . 开头一般是伪汇编/操作指令,形如: .section伪操作来定义一个段,形如: .section .testsectio ...
- arm汇编的学习笔记,对比x86和arm(1)-从最简单的函数谈起
最简单的函数 x86下汇编指令 ARM下汇编指令 Hello World x86中汇编指令 ARM汇编 LDM/STM指令 LDMFD 指令 ADR指令: 知识点扩展: ADR ADRL: LDR指令 ...
- 汇编入门学习笔记 (十二)—— int指令、port
疯狂的暑假学习之 汇编入门学习笔记 (十二)-- int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...
- 计算机指令int,汇编入门学习笔记 (十二)—— int指令、端口
疯狂的暑假学习之 汇编入门学习笔记 (十二)-- int指令.端口 参考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引发一 ...
- 嵌入式工程师到底要不要学习ARM汇编指令?arm学习文章汇总
嵌入式工程师到底要不要学习ARM汇编指令? 网上搜索这个问题,答案很多,大部分的建议是不要学汇编,只要学C语言. 而一口君作为一个十几年经验的驱动工程师,个人认为,汇编语言还是需要掌握的,想要搞精.搞 ...
- ida pro 反汇编 Android so 库后修改 arm 汇编指令的方法总结
1 前言 最近博主在学习Android逆向的时候,参照吾爱破解论坛的<教我兄弟学Android逆向系列课程>学习的时候,学到第8章<教我兄弟学Android逆向08 IDA爆破签名验 ...
- [mmu/cache]-ARM MMU的学习笔记-一篇就够了
★★★ 个人博客导读首页-点击此处 ★★★ . 说明: 在默认情况下,本文讲述的都是ARMV8-aarch64架构,linux kernel 64位 . 相关文章 1.ARM cache的学习笔记-一 ...
最新文章
- 充电 | 打开机器学习的大门,需要了解哪些知识?
- 较深度地递归转义过滤
- 2019最具特色的web前端技术分享
- Python 3.x print 小结
- ORA-01994 故障一例
- day15-pymysql模块的使用
- 【spring boot】【thymeleaf】SPEL调用静态方法和静态属性
- ios俩个APP之间跳转、传值
- 从ASP.NET Core2.2到3.0你可能会遇到这些问题
- apache mahout_使用Apache Mahout创建在线推荐系统
- Windows下安装Python模块时环境配置
- [缓存]迅雷下载原理
- 【BZOJ - 1059】矩阵游戏(二分图匹配,建图,最小边覆盖)
- Java事务管理之Spring+Hibernate
- python try else多余的设计_在python中利用try..except来代替if..else的用法
- android go 刷机教程,安卓用的久了,如何刷机?安卓手机线刷教程
- Linux网络协议栈(一)——Socket入门(2)
- Docker使用link建立容器之间的连接
- 双击ctrl搜索 意在颠覆用户的习惯
- pc上最好用的pdf阅读工具(PDF Xchange Viewer)
热门文章
- 进厂都要去越南,富士康“曲线救国”,计划增加越南员工人数
- 在设计电机电路项目中总结的一些电机参数知识和设计要点 - 直流电机、空心杯电机、步进电机、伺服电机等
- RISC-V Linux kernel debug 环境搭建
- SAP年末余额结转步骤(转)
- 我是如何长期坚持阅读的:简易读书习惯培养|牛人读书炼成记
- 计算机类国家网络安全学院,武汉大学国家网络安全学院
- python二元多次函数拟合_对python实现二维函数高次拟合的示例详解
- bat脚本实现监控进程功能-自动重启
- 王牌电视机显示服务器开小差,TCL王牌大屏幕彩电故障检修实例(上)
- MYSQL基于三表的RBAC(可直接拿去CV)