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

第三章ARM指令集 ·条件执行 ·指令分类说明 一存储器访问指令 一数据处理指令 一分支指令 一协处理器指令 一杂项指令 -ARM伪指令
第三章 ARM指令集 • 条件执行 • 指令分类说明 – 存储器访问指令 – 数据处理指令 – 分支指令 – 协处理器指令 – 杂项指令 – ARM伪指令

ARM指令集概要 ·ARM指令的一般编码格式 ARM指令字长为固定的32位。一条典型的ARM指令编码 格式为: 31 28272524 2120 19 1615 1211 0 cond 001 opcode S Rn Rd Shifter_Operand 其中: opcode:指令操作符代码。 cond:指令执行的条件编码。 S:决定指令的操作是否影响CPSR的值。 Rd:目标寄存器编码。 Rn:包含第1个操作数的目标寄存器编码。 shift operand:表示第2个操作数
• ARM指令的一般编码格式 ARM指令字长为固定的32位。一条典型的ARM指令编码 格式为: 其中: opcode:指令操作符代码。 cond:指令执行的条件编码。 S:决定指令的操作是否影响CPSR的值。 Rd:目标寄存器编码。 Rn:包含第1个操作数的目标寄存器编码。 shift_operand:表示第2个操作数。 ARM指令集概要 cond 001 opcode S Rn Rd Shifter_Operand 31 28 27 25 24 21 20 19 16 15 12 11 0

ARM指令集概要 ·一条典型的ARM指令语法格式如下: {}{S},, 其中: 是指令助记符,如ADD,Mov等。 {}表示指令执行的条件。 S}决定指令的操作是否影响CPSR的值。 表示目标寄存器 表示包含第1个操作数的寄存器。 表示第2个操作数。 例如:ADDEQS R1,R2,#5
• 一条典型的ARM指令语法格式如下: {} {S} ,, 其中: 是指令助记符,如ADD,Mov等。 {}表示指令执行的条件。 {S}决定指令的操作是否影响CPSR的值。 表示目标寄存器 表示包含第1个操作数的寄存器。 表示第2个操作数。 例如:ADDEQS R1,R2,#5 ARM指令集概要

条件执行 ·几乎所有的ARM指令均可包含一个可选的 条件码,只有在CPSR中的条件码满足指定 的条件时,带条件码的指令才能执行。 ·几乎所有的ARM数据处理指令均可根据执 行结果来选择是否更新条件码标志。如果 要更新条件标志,需要在指令后面加“S”. 一些指令eg:CMP,CMN,TST,TEQ不需要加 “S”。它们唯一的功能就是更新条件码标 志,且始终更新条件码标志
条件执行 • 几乎所有的ARM指令均可包含一个可选的 条件码,只有在CPSR中的条件码满足指定 的条件时,带条件码的指令才能执行。 • 几乎所有的ARM数据处理指令均可根据执 行结果来选择是否更新条件码标志。如果 要更新条件标志,需要在指令后面加“S”. • 一些指令eg:CMP,CMN,TST,TEQ不需要加 “S”。它们唯一的功能就是更新条件码标 志,且始终更新条件码标志

ARM条件码 操作码[31:28] 助记符后缀 标志 含义 0000 EQ Z置位 相等 0001 NE Z清零 不等 0010 CS/HS C置位· 大于或等于(无符号>=) 0011 CC/LO· C清零 小于(无符号) 1001 LS C清零或Z置位 小于或等于(无符号= 1011 LT N和V不同 带符号 1110. LE Z置位或N和V不同 带符号<= 1111 AL 任何 总是(通常省略)
ARM条件码

ARM存储器访问指令 1.LDR和STR一字和无符号字节 LDR:加载寄存器 STR:存储寄存器 字节加载用0扩展到32位。 句法: 1.op {cond){B}{T}Rd,[Rn] ;零偏移 2.op{cond{B}Rd,[Rn,Flexoffset];前索引偏移 3.op {cond){B)Rd,label ;程序相对偏移 4.op{cond{B}{T}Rd,[Rn],Flexoffset;后索引偏移 T:即使在特权模式下,存储系统也将访问看成是处理器是在用户模式下。 Label::程序相对偏移表达式。必须是在当前指令的士4KB范围内。 !:若Rn是R15,则不能使用后缀“!
ARM存储器访问指令 1. LDR和STR——字和无符号字节 • LDR:加载寄存器 • STR:存储寄存器 • 字节加载用0扩展到32位。 • 句法: 1. op {cond} {B} {T} Rd,[Rn] ;零偏移 2. op {cond} {B} Rd,[Rn,Flexoffset] {!} ;前索引偏移 3. op {cond} {B} Rd,label ;程序相对偏移 4. op {cond} {B} {T} Rd,[Rn],Flexoffset;后索引偏移 T:即使在特权模式下,存储系统也将访问看成是处理器是在用户模式下。 Label:程序相对偏移表达式。必须是在当前指令的±4KB范围内。 !:若Rn是R15,则不能使用后缀“!

LDR和STR一字和无符号字节 ·Flexoffset句法: 前索引和后索引可以是以下2种形式之一: ·#eXpr ·{-}Rm{,shift) 其中: -:可选的负号。若带负号,则从R中减去偏移量。 expr:表达式,取值范围:-4096+4096,经常取常量。 Rm:内含偏移量的寄存器。Rm不允许为R15。 shit:Rm的可选移位方法。可以是移位寻址的6种方法之一 大多数情况下,必须保证用于32位传送的地址是32位对准 的。将指定的地址取成4的倍数。 ·通常应尽量避免从R15中存储
• Flexoffset句法: 前索引和后索引可以是以下2种形式之一: • #expr • {-} Rm {,shift} 其中: -:可选的负号。若带负号,则从Rn中减去偏移量。 expr:表达式,取值范围:-4096~+4096,经常取常量。 Rm:内含偏移量的寄存器。Rm不允许为R15。 shift:Rm的可选移位方法。可以是移位寻址的6种方法之一 • 大多数情况下,必须保证用于32位传送的地址是32位对准 的。将指定的地址取成4的倍数。 • 通常应尽量避免从R15中存储。 LDR和STR——字和无符号字节

LDR和STR一字和无符号字节 ·例子: LDR R8,[R10] >LDRNE R2,[R5,#960]! >STR R2,[R9,#consta-struc] >STRB R0,[R3,-R8,ASR#2] >STR R5,[R7],#-8 >LDR RO,localdata
• 例子: ¾ LDR R8,[R10] ¾ LDRNE R2,[R5,#960]! ¾ STR R2,[R9,#consta-struc] ¾ STRB R0,[R3,-R8,ASR #2] ¾ STR R5,[R7],#-8 ¾ LDR R0,localdata LDR和STR——字和无符号字节

2.LDR和STR一半字和带符号字节 加载寄存器、带符号的8位字节、带符号和无符号的 16位半字。存储寄存器、16位半字。 带符号的加载是指带符号扩展到32位。无符号的半字 加载是指零扩展到32位。 句法: 1.op {cond}type Rd,[Rn] 2.op {cond}type Rd,[Rn,offset]{ 3.op {cond}type Rd,label 4.op {cond)type Rd,[Rn],offset type:必须是以下所列之一: SH:对带符号半字(仅LDR) H:对无符号半字 SB:对带符号字节(仅LDR) label:程序相对偏移表达式。必须在当前指令的士255字节内。 offset:加在Rn上的偏移量
2. LDR和STR——半字和带符号字节 • 加载寄存器、带符号的8位字节、带符号和无符号的 16位半字。存储寄存器、16位半字。 • 带符号的加载是指带符号扩展到32位。无符号的半字 加载是指零扩展到32位。 • 句法: 1. op {cond} type Rd,[Rn] 2. op {cond} type Rd,[Rn,offset] {!} 3. op {cond} type Rd,label 4. op {cond} type Rd,[Rn],offset type:必须是以下所列之一: SH:对带符号半字(仅LDR) H:对无符号半字 SB:对带符号字节(仅LDR) label:程序相对偏移表达式。必须在当前指令的±255字节内。 offset:加在Rn上的偏移量

LDR和STR一半字和带符号字节 offset句法: 前索引和后索引可以是以下2种形式之一: ·#eXpr ·{-}Rm expr是表达式,其值在±255范围内的整数,经常是数字常量。 ·半字节传送的地址必须是偶数。 ·不能将半字或字节加载到R15。 ·例子: LDREQSH R11,[R6] LDRH R1,[R0,#22] STRH R4,[R0,R1]! LDRSB R6,constf LDRSB R1,[R6],R3,LSL#4;X
• offset句法: 前索引和后索引可以是以下2种形式之一: • #expr • {-} Rm expr是表达式,其值在±255范围内的整数,经常是数字常量。 • 半字节传送的地址必须是偶数。 • 不能将半字或字节加载到R15。 • 例子: LDREQSH R11,[R6] LDRH R1,[R0,#22] STRH R4,[R0,R1]! LDRSB R6,constf LDRSB R1,[R6],R3,LSL #4;× LDR和STR——半字和带符号字节
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)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
- 西安石油大学:《单片机原理及应用 Single chip Microcomputer Principle and Application》课程教学资源(PPT课件讲稿)第六章 存储器系统设计.ppt
- 西安石油大学:《单片机原理及应用 Single chip Microcomputer Principle and Application》课程教学资源(PPT课件讲稿)第五章 MCS-51的中断系统.ppt
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)ARM汇编语言程序设计.pdf
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)THUMB指令集.pdf
- 上海交通大学:《单片机原理与接口技术》课程教学资源(课件讲稿)嵌入式系统基础.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