ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第3章 ARM嵌入式处理器指令系统.ppt

ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第3章 ARM嵌入式处理器指令系统.ppt

ID:50351054

大小:1.28 MB

页数:75页

时间:2020-03-08

ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第3章 ARM嵌入式处理器指令系统.ppt_第1页
ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第3章 ARM嵌入式处理器指令系统.ppt_第2页
ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第3章 ARM嵌入式处理器指令系统.ppt_第3页
ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第3章 ARM嵌入式处理器指令系统.ppt_第4页
ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第3章 ARM嵌入式处理器指令系统.ppt_第5页
资源描述:

《ARM嵌入式系统原理及应用开发 教学课件 ppt 作者 谭会生 1-5第3章 ARM嵌入式处理器指令系统.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章ARM嵌入式处理器指令系统3.1ARM指令分类及指令格式3.2ARM指令的寻址方式3.3ARM指令集3.4Thumb指令集习题1本章以流行ARM处理器为例介绍嵌入式微处理器的指令系统,包括ARM处理器的指令格式分类、指令格式、寻址方式、32位的ARM指令集和16位的Thumb指令集。3.1ARM指令分类及指令格式23.1.lARM指令分类345671.立即数符号"#"“#”符号表示立即数,该符号后的数据可以是二进制数,也可以是十进制数或十六进制数,如果操作数为十进制数,则前面除了#外,没有其他符号。2.二进制符号"%""%"符号后面的数字表示二进

2、制数,如%10010101表示二进制数10010101,即十进制数149。3.二进制符号"2_""2_"符号是二进制前缀的另一种形式,如2_10010101也表示二进制数10010101,与%10010101等效。3.1.3ARM指令中的操作数符号84.十六进制符号"0x""0x"后面的数据表示十六进制数,如0xFFFF,表示十六进制数FFFF,即十进制数65535。5.更新基址寄存器符号"!""!"符号表示指令在完成操作后应将最后的地址写入基址寄存器。6.复制SPSR到CPSR符号“^”“^”符号通常在批量数据存储指令中作为后缀放在寄存器之后。当其前

3、面的寄存器不包含PC时,该符号表示所用的寄存器是用户模式的寄存器;当其前面的寄存器包含PC时该符号指示将SPSR寄存器的值复制到CPSR寄存器中。7.指示寄存器列表范围符号“-”"-"符号用于在有些指令中表示多个连续寄存器,即含义"从…到…"。如RO-R7表示,R1,R2,R3,R4,R5,R6,R7这8个寄存器。9ARM微处理器内嵌的桶型移位器(BarrelShifter),支持数据的各种移位操作,但在ARM指令集中没有单独的指令供移位操作使用。移位操作在汇编语言中表示为指令中的选项,只能作为指令格式中的一个字段。如当数据处理指令的第2个操作数为寄存

4、器时,就可以加入移位操作选项对它进行各种移位操作。移位操作包括逻辑左移(LSL)、算术左移(ASL)、逻辑右移(LSR)、算术右移(ASR)、循环右移(ROR)及带扩展的循环右移(RRX)共6种类型。3.1.4ARM指令中的移位操作101.逻辑左移操作格式:通用寄存器,LSL立即数用途:对通用寄存器中的内容进行逻辑左移操作,按操作数所指定的数量向左移位,右端(低位)用零来填充。其中,操作数可以是通用寄存器中的数值,也可以是立即数(立即数的取值范围是0~3l之间的整数)。例如:MOVR0,Rl,LSL#2;将Rl中的内容算术左移2位后传送到R0中2.算术

5、左移操作格式:通用寄存器,ASL操作数用途:ASL表示对通用寄存器中的内容进行算术左移操作,按操作数所指定的数量向左移位,右端(低位)用零来填充。其中,操作数可以是通用寄存器中的数值,也可以是立即数(立即数的取值范围是0~3l之间的整数)。LSL与ASL效果相同,可以互换。例如:MOVR0,R1,ASL#2;将R1中的内容算术左移2位后传送到R0中113.逻辑右移操作格式:通用寄存器,LSR操作数用途:对通用寄存器中的内容进行逻辑右移操作,按操作数所指定的数量向右移位,左端(高位)用零来填充。其中,操作数可以是通用寄存器中的数值,也可以是立即数(立即数

6、的取值范围是0~3l之间的整数)。例如:MOVR0,R1,LSR#2;将R1中的内容逻辑右移2位后传送到R0中,左端用零来填充4.算术右移操作格式:通用寄存器,ASR操作数用途:对通用寄存器中的内容进行逻辑右移操作,按操作数所指定的数量向右移位,左端(高位)用第31位的值(亦即符号位)来填充。其中,操作数可以是通用寄存器中的数值,也可以是立即数(立即数的取值范围是0~3l之间的整数)。例如:MOVR0,R1,ASR#2;将R1中的内容算术右移2位后传送到R0中,左端用第31位的值来填充125.循环右移操作格式:通用寄存器,ROR操作数用途:对通用寄存器

7、中的内容进行循环右移操作,按操作数所指定的数量向右循环移位,左端用右端移出的位来填充。其中,操作数可以是通用寄存器中的数值,也可以是立即数(立即数的取值范围是0~3l之间的整数)。当进行32位的循环右移操作时,通用寄存器中的值不改变。例如:MOVR0,R1,ROR#2;将R1中的内容循环右移2位后传送到R0中6.带扩展的循环右移操作格式:通用寄存器,RRX操作数用途:对通用寄存器中的内容进行带扩展的循环右移操作,按操作数所指定的数量向右循环移位,左端用进位标志位来填充。其中,操作数可以是通用寄存器中的数值,也可以是立即数(立即数的取值范围是0~3l之间

8、的整数)。例如:MOVR0,R1,RRX#2;将R1中的内容进行带扩展的循环右移2位后传送到R

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。