第08讲_第5章ARM指令集特点、寻址方式和指令分类详解 习题4 88页
ARM经典教程。
2010年春季第9讲 讲
ARM经典教程。
指令集和汇编语言程序 第5章 ARM指令集和汇编语言程序 章 指令集本章主要介绍以下内容:ARM指令集的基本特点 与Thumb指令集的区别 与x86处理器的区别 ARM指令格式 ARM寻址方式 ARM指令集分类详解 ARM汇编语言的指示符 ARM汇编语言语句格式 ARM汇编语言程序格式
ARM汇编语句格式和程序格式进阶ARM汇编语言程序举例
ARM经典教程。
5.1 ARM指令集基本特点 指令集基本特点指令集的异同点ARM、Thumb、x86
ARM指令集的语法ARM指令集的编码格式
指令条件码表 第2操作数
ARM经典教程。
ARM指令集和 指令集和Thumb指令集 指令集和 指令集 的共同点ARM指令集和Thumb指令集具有以下共同点:⒈较多的寄存器,可以用于多种用途。 ⒉对存储器的访问只能通过Load/Store指令。
两种指令集的差异特征在下页给出
ARM经典教程。
ARM指令集和 指令集和Thumb指令集 指令集和 指令集 的不同点项目 指令工作标志 操作数寻址方式 指令长度 内核指令 条件执行 数据处理指令 寄存器使用 程序状态寄存器 异常处理 ARM指令 指令 CPSR的T位=0 大多数指令为3地址 32 32位 58条 大多数指令 Thumb指令 指令 CPSR的T位=1 大多数指令为2地址 16 16位 30条 只有分支指令
访问桶形移位器和ALU 独立的桶形移位器和ALU 指令 15个通用寄存器+PC 特权模式下可读可写 能够全盘处理 8个通用低寄存器+7个高寄 存器+PC 不能直接访问 不能处理
ARM经典教程。
ARM指令集与 指令集 指令集与x86指令集 指令集与 的主要不同点ARM指令集规整指令格式 即:正交指令格式 三地址指令 由指令的附加位决定运算完毕 后是否改变状态标志 状态标志位只有4位 有两种指令密度 无整数除法指令 大多数ARM指令都可以条件 执行 有适合DSP处理的乘加指令 Load/Store访存体系结构
x86指令集非规整指令格式 即:非正交指令格式 二地址指令 指令隐含决定运算完毕后是否 改变状态标志 状态标志位有6位 单一指令密度 有整数除法指令 专用条件判断指令进行程序分 支 没有适合DSP处理的乘加指令 运算指令能够访问存储器
ARM经典教程。
ARM指令系统结构设计特点:由于ARM采用 由于ARM采用Load/Store访问存储器指 ARM令体系结构而产生出数据处理和内存访 问两大寻址指令类:前者为数据处理操 作时只能由处理器核内的通用寄存器提 供操作数和存放结果。后者又是为前者 的通用寄存器,从内存中提供数据来源 和把通用寄存器数据处理结果放到内存 中去的初始和终结操作者。
这种设计有什么 好处呢?
ARM经典教程。
ARM指令集的语法 指令集的语法一条典型的ARM指令语法如下所示:<opcode>{<cond>}{S} <Rd>, <Rn> {,<Operand2>} 其中: <opcode > 是指令助记符,决定了指令的操作。 例如:ADD表示算术加操作指令。 {<con
d>} 是指令执行的条件,可选项。 {S} 决定指令的操作是否影响CPSR的值,可选项。 <Rd> 表示目标寄存器,必有项。 <Rn> 表示包含第1个操作数的寄存器,当仅需要一个源操作数 时可省略。 <Operand2> 表示第2个操作数,可选项。 第2操作数有两种格式:#immed_8r,Rm{, Shift}
ARM经典教程。
**ARM数据处理(类)指令中 数据处理( 数据处理 第2操作数的编码格式图解 操作数的编码格式图解31 cond 28 27 26 25 24 00 # 21 20 S 19 Rn 16 15 Rd 目的寄存器 第1操作数寄存器 是否修改CPSR 条件标志位 算术/逻辑功能 第一种 第2操作数格式 #immed_8r 25 1 8位立即数循环右移长度 11 第二种 第2操作数格式 Rm{,shift} 25 0 立即数移位长度 移位类型 第2操作数寄存器 11 Rs 移位长度寄存器 8 7 6 5 4 3 Sh 0 0 Rm 0 #shift 8 7 6 5 4 3 Sh 0 0 Rm 0 11 #rotate 8 7 8位立即数 0 12 11 Operand2 0 opcode
ARM经典教程。
ARM经典教程。
Cortex-M3内核的应用举例 内核的应用举例 ——意法半导体的 意法半导体的STM32微控制器 微控制器 意法半导体的不支持ARM指令集,只支持Thumb-2指令集 中断向量表与其他ARM处理器有明显区别 STM32微控制器有两个系列STM32F103“增强型”系列,72MHz主频 STM32F101“基本型”系列,36MHz主频
2.0到3.6V电源,当复位电路工作时,在待机模式下最 低功耗2µA,最适合电池供电的应用设备。 比同级别的基于ARM7TDMI的产品快30%。换句话说, 如果处理性能相同,STM32产品功耗比同级别产品低 75%。
ARM经典教程。
ARM7 流水线 数据流 架构图
ARM经典教程。
灵活的第2操作数 灵活的第 操作数立即数型格式: 位立即数> 格式: #<32位立即数 位立即数 也写成#immed_8r #<32位立即数>是取值为数字常量的表达式,并不是 所有的32位立即数都是有效的。 有效的立即数很少。它必须由一个8位的立即数循环 右移偶数位得到。原因是32位ARM指令中条件码和 操作码等占用了一些必要的指令码位,32位立即数无 法编码在指令中。 举例: ADD r3, r7, #1020 ;#immed_8r型第2操作数, ;1020是0xFF循环右移30位后生成的32位立即数 ;推导:1020=0x3FC=0x000003FC
ARM经典教程。
灵活的第2操作数( 灵活的第 操作数(续1) 操作数 )数据处理指令中留给Operand2操作数的编码空间只有12 位,需要利用这12位产生32位的立即数。其方法是:把 指令最低8位(bit[7:0])立即数循环右移偶数次,循环 右移次数由2*bit[11:8] (bit[11:8]是Operand2的高4位) 指定。 例如:MOV R4, #0x8000000A ;其中的立即数#0x8000000A是由8位的0xA8循环右移 0x4位得到。 又例如:MOV R4, #0xA0000002 ;其中的立即数#0xA0000002是由8位的0xA8循环右移 0x6位得到。
ARM经典教程。
灵活的第2操作数( 灵活的第 操作数(续2) 操作数 )寄存器移位型格式: 格式:Rm{, <shift>} Rm是第2操作数寄存器,可对它进行移位或循环
移位。 <shift>用来指定移位类型(LSL,LSR,ASR,ROR或 RRX)和移位位数。其中移位位数有两种表示方式,一 种是5位立即数(#shift),另外一种是移位偏移量寄存 器Rs的值。参看下面的例子。例子中的R1是Rm寄存器。 ADD R5, R3, R1, LSL #2 ;R5←R3+R1*4 ADD R5, R3, R1, LSL R4 ;R5←R3+R1*2R4 ;R4是Rs型寄存器,Rs(移位偏移量寄存器)用于计算 左移次数
ARM经典教程。
详解第2操作数 详解第 操作数 # immed_8r该常数必须对应8位位图,即常数是由一个8位的 常数循环右移位偶数位得到。例如:合法常量:0x3FC、0、0xF0000000、200、0xF0000001。 非法常量:0x1FE、511、0xFFFF、0x1010、0xF0000010。 常数表达式应用举例:
MOV AND LDR SUB
R0,#1 ;R0=1 R1,R2,#0x0F ;R2与0x0F,结果保存在R1 R0,[R1],# -4 R4,R2,#D4000002 ;该立即数是0xBE循环右移6位 ;课堂练习此第2操作数
ARM经典教程。
详解第2操作数的 寄存器( ) 详解第 操作数的Rm寄存器(1) 操作数的 寄存器RM寄存器通常是存放第2操作数的寄存器<opcode>{<cond>}{S} <Rd>, <Rn> {,RM{, shift}}
举例:SUB R1,R1,R2 MOV PC,R0 ; R1←(R1-R2) ;PC←R0,程序跳转到指定地址
LDR R0,[R1],-R2 ;读取R1地址上的存储 …… 此处隐藏:2555字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




