教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

第08讲_第5章ARM指令集特点、寻址方式和指令分类详解 习题4 88页

来源:网络收集 时间:2026-09-13
导读: ARM经典教程。 2010年春季第9讲 讲 ARM经典教程。 指令集和汇编语言程序 第5章 ARM指令集和汇编语言程序 章 指令集本章主要介绍以下内容:ARM指令集的基本特点 与Thumb指令集的区别 与x86处理器的区别 ARM指令格式 ARM寻址方式 ARM指令集分类详解 ARM汇编语

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字,全部文档内容请下载后查看。喜欢就下载吧 ……

第08讲_第5章ARM指令集特点、寻址方式和指令分类详解 习题4 88页.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/136692.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)