上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)THUMB指令集

第四章、Thumb指令集 ·存储器访问指令 ·数据处理指令 ·分支指令 ·中断和断点指令 ·伪指令
第四章、Thumb指令集 • 存储器访问指令 • 数据处理指令 • 分支指令 • 中断和断点指令 • 伪指令

内容综述 ·Thumb指令集是针对代码密度的问题而提 出的,可以看作是ARM指令压缩形式的子 集。 所有的Thumb指令都有相对应的ARM指 令,其编程模型也对应于ARM的编程模 型
内容综述 • Thumb指令集是针对代码密度的问题而提 出的,可以看作是ARM指令压缩形式的子 集。 • 所有的Thumb指令都有相对应的ARM指 令,其编程模型也对应于ARM的编程模 型

·Thumb是一个不完整的体系结构。当面 临异常时,自动进入ARM模式。 ·ARM的开发工具完全支持Thumb指令。 ·应用程序可以灵活地将ARM和Thumb子 程序混合编程,以便在例程的基础上提高 性能或代码密度
• Thumb是一个不完整的体系结构。当面 临异常时,自动进入ARM模式。 • ARM的开发工具完全支持Thumb指令。 • 应用程序可以灵活地将ARM和Thumb子 程序混合编程,以便在例程的基础上提高 性能或代码密度

CPSR中的Thumb指示位 ·支持Thumb指令的ARM微处理器也可以执 行标准的32位标准的ARM指令集 在如何时刻,对指令流的解释取决于CPSR 的第5位,即位T。 ·不是所有的ARM处理器都支持Thumb指 令,只有在命名中有字面T的才支持
• 支持Thumb指令的ARM微处理器也可以执 行标准的32位标准的ARM指令集 • 在如何时刻,对指令流的解释取决于CPSR 的第5位,即位T。 • 不是所有的ARM处理器都支持Thumb指 令,只有在命名中有字面T的才支持。 CPSR中的Thumb指示位

进入Thumb模式 ·复位时,ARM启动并执行ARM指令。 转向执行Thumb指令的通常方法是执行一条交换 转移指令BX。 其句法为: BLX{cond}Rm 或: BLX label 其中:Rm是含有转移地址的寄存器,Rm的第0 位拷贝到CPSR中的T位,位[31:1]移入PC
进入Thumb模式 • 复位时,ARM启动并执行ARM指令。 • 转向执行Thumb指令的通常方法是执行一条交换 转移指令BX。 其句法为: BLX{cond} Rm 或: BLX label 其中:Rm是含有转移地址的寄存器,Rm的第0 位拷贝到CPSR中的T位,位[31:1]移入PC

·若Rm的位0为1,则指令将CPSR中的标志T置 位,处理器切换执行Thumb指令,并在Rm中 的地址处开始执行。 ·但须将最低位清0,使之以半字的边界对齐 0 如果Rm的第0位为0,则处理器继续执行ARM 指令,并在Rm中的地址处开始执行。 ·但须将Rm的第1位清0,使之以字的边界对 准
• 若Rm的位0为1,则指令将CPSR中的标志T置 位,处理器切换执行Thumb指令,并在Rm中 的地址处开始执行。 • 但须将最低位清0,使之以半字的边界对齐 • 如果Rm的第0位为0,则处理器继续执行ARM 指令,并在Rm中的地址处开始执行。 • 但须将Rm的第1位清0,使之以字的边界对 准

Thumb指令 ·分支指令 一向后转移形成循环。 一条件结构下向前转移 一转向子程序 -处理器从Thumb状态切换到ARM状态。 一程序相对转移,特别是条件分支在范围上有更多的限制,转向子 程序只具有无条件的转移。 数据处理指令 -访问寄存器R8~R15受到一定限制。 除MOV或ADD指令访问寄存器R8-R15外,数据处理指令总是不 断地更新CPSR中的ALU状态标志。 o 单寄存器加载和存储指令 限定只能访问寄存器R0~R7 多寄存器加载和存储指令 -PUSH和POP指令使用堆栈指针(R13)作为基址实现满递减堆 栈。除可传送RO-R7外,PUSH还可用于存储链接寄存器,并且 POP可用于加载程序指针
Thumb 指令 • 分支指令 – 向后转移形成循环。 – 条件结构下向前转移 – 转向子程序 – 处理器从Thumb状态切换到ARM状态。 – 程序相对转移,特别是条件分支在范围上有更多的限制,转向子 程序只具有无条件的转移。 • 数据处理指令 – 访问寄存器R8~R15受到一定限制。 – 除MOV或ADD指令访问寄存器R8-R15外,数据处理指令总是不 断地更新CPSR中的ALU状态标志。 • 单寄存器加载和存储指令 限定只能访问寄存器R0~R7 • 多寄存器加载和存储指令 – PUSH和POP指令使用堆栈指针(R13)作为基址实现满递减堆 栈。除可传送R0-R7外,PUSH还可用于存储链接寄存器,并且 POP可用于加载程序指针

Thumb指令可访问的寄存器 ·Thumb指令集中对寄存器分为两类 -低寄存器(r0~r7) -高寄存器(r8~r15) Thumb对低寄存器(r0~r7)具有全部访问权限,对 寄存器r13~r15进行扩展以做特殊应用。 -13用作堆栈指针。 一14用作链接寄存器。 -r15用作程序计数器PC。 其它寄存器(r8~r12及CPSR)只能做有限访问: 少数指令可以使用高寄存器(8~r15):CPSR的条件标 志位由算术和逻辑操作设置并控制条件转移
Thumb指令可访问的寄存器 • Thumb指令集中对寄存器分为两类 – 低寄存器(r0~r7) – 高寄存器(r8~r15) • Thumb对低寄存器(r0~r7)具有全部访问权限,对 寄存器r13~r15进行扩展以做特殊应用。 – r13用作堆栈指针。 – r14用作链接寄存器。 – r15用作程序计数器PC。 • 其它寄存器(r8~r12及CPSR)只能做有限访问: 少数指令可以使用高寄存器(r8~r15);CPSR的条件标 志位由算术和逻辑操作设置并控制条件转移

ARM的指令集编码 ·ARM的条件代码域 312827 0 cond
ARM的指令集编码 • ARM的条件代码域 31 28 27 0 cond

ARM的条件码 操作码 助记符 解释 用于执行的标志位 0000 EQ 相等/等0 Z置位 0001 NE 不等 Z清0 0010 CS/HS 进位无符号 C置位 数高于或等于 0011 CC/LO 无进位/无符 C清0 号数低于 0100 MI 负数 N置位
ARM的条件码 操作码 助记符 解释 用于执行的标志位 0000 EQ 相等/等0 Z置位 0001 NE 不等 Z清0 0010 CS/HS 进位/无符号 C置位 数高于或等于 0011 CC/LO 无进位/无符 C清0 号数低于 0100 MI 负数 N置位
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)ARM汇编语言程序设计.pdf
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)ARM指令集.pdf
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)ARM处理器.pdf
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)MCS-51系统.pdf
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)MCS-51汇编语言程序设计.pdf
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)MCS-51单片机结构.pdf
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)MCS-51单片机指令系统.pdf
- 上海交通大学:《单片机原理与接口技术》课程教学资源_一类课程复评表(微型计算机在检测技术及仪器中的应用).pdf
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源(PPT课件)测井技术的现状与未来.ppt
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源(PPT课件)油田评价——测井技术的应用(施建华).ppt
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源(PPT课件)测井方法与数据处理(庞巨丰).ppt
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源_作业习题.doc
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源(实验指导书)测井仪器方法及原理(刘选朝).doc
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源(电子教案)第四章 裸眼井声波测井.doc
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源(电子教案)第五章 固井声波测井仪.doc
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源(电子教案)第二章 感应测井.doc
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源(电子教案)第三章 电磁波传播测井.doc
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源(电子教案)第一章 双侧向测井.doc
- 西安石油大学电子工程学院:《测井仪器方法及原理》课程教学资源(教学大纲)测控技术与仪器专业.doc
- 西安石油大学:《单片机原理及应用 Single chip Microcomputer Principle and Application》课程教学资源(PPT课件讲稿)第七章 MCS-51扩展I/O接口的设计、第十章 MCS-51与D/A转换器、A/D转换器的接口.ppt
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)嵌入式系统基础.pdf
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)绪论.pdf
- 上海交通大学:《通信基本电路》课程教学资源_无线RFID阅读器研制.doc
- 上海交通大学:《通信基本电路》课程教学资源(习题集)高频(通信基本电路习题).pdf
- 上海交通大学:《通信基本电路》课程教学资源(例题)example1.ppt
- 上海交通大学:《通信基本电路》课程教学资源(例题)example_nonlinear.pdf
- 上海交通大学:《通信基本电路》课程教学资源(例题)example_OSC.pdf
- 上海交通大学:《通信基本电路》课程教学资源(例题)example_PA.pdf
- 上海交通大学:《通信基本电路》课程教学资源(例题)example_PM.pdf
- 上海交通大学:《通信基本电路》课程教学资源(参考资料)Mixers.ppt
- 上海交通大学:《通信基本电路》课程教学资源(实验报告)通信基本电路实验-第056组(组长任政)设计报告.doc
- 上海交通大学:《通信基本电路》课程教学资源(实验资料)453-03530-0-CXA1619BM-BS.pdf
- 上海交通大学:《通信基本电路》课程教学资源(实验资料)《通讯基本电路实验》课程教学大纲.doc
- 上海交通大学:《通信基本电路》课程教学资源(实验资料)调频无线通信系统设计.doc
- 上海交通大学:《通信基本电路》课程教学资源(讲义)第三章 高频小信号放大.pdf
- 上海交通大学:《通信基本电路》课程教学资源(讲义)第九章 角度调制与解调.pdf
- 上海交通大学:《通信基本电路》课程教学资源(讲义)第五章 非线性电路和变频器.pdf
- 上海交通大学:《通信基本电路》课程教学资源(讲义)第六章 高频功率放大器.pdf
- 上海交通大学:《通信基本电路》课程教学资源(讲义)第四章 噪声与干扰.pdf
- 上海交通大学:《通信基本电路》课程教学资源(讲义)第十章 角度调制与解调 §10.1 角度调制概述 §10.2 调角波的基本性质.ppt