1 / 40
文档名称:

嵌入式系统第3章.ppt

格式:ppt   大小:5,468KB   页数:40页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

嵌入式系统第3章.ppt

上传人:wyj199215 2025/4/23 文件大小:5.34 MB

下载得到文件列表

嵌入式系统第3章.ppt

相关文档

文档介绍

文档介绍:该【嵌入式系统第3章 】是由【wyj199215】上传分享,文档一共【40】页,该文档可以免费在线阅读,需要了解更多关于【嵌入式系统第3章 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。第3章 ARM指令系统与汇编语言程序设计
ARM指令系统概述
ARM指令系统的特点
(1)所有的运算都在寄存器中进行
(2)多数指令可以有条件执行
(3)具有批量寄存器数据传送指令
(4)支持32位和16位双指令集
(5)提供一些数字信号处理指令
(6)具有协处理指令
ARM汇编指令的基本格式
ARM指令的二进制代码的基本格式:
ARM指令的汇编语言基本格式:
操作码 { 条件 } { S } 目的寄存器 , 第一操作数 { , 第二操作数 }
例:
ADD R0,R4,R8
ADDEQ R0,R2,#5
ADDS R1,R5,R8
MOV PC,R14
ARM指令可根据CPRS中条件标志位的状态和指令的条件域表示的条件有条件地执行 。
A
CMP R0,#0
ADDEQ R0,R2,#5
MOVGT R1,#0
BGE NEXT
B
例如:
C
条件域的条件用条件码的助记忆符表示(见表3-1)
D
ARM指令的条件域
ARM指令的寻址方式
01
ARM指令常用有如下寻址方式
02
立即寻址
03
立即寻址——操作数就在指令中
04
例:ADD R0,R0,#0x3f
05
立即数
06
指令功能:R0←R0+ 0x3f
07
16进制数
08
寄存器寻址——操作数在寄存器中
例:ADD R0,R1,R2
指令功能:R0←R1+ R2
寄存器间接寻址
寄存器间接寻址——操作数在内存中,操作数
地址在寄存器中
例:LDR R0,[R1]
指令功能:R0← [R1]

变址寻址——操作数在内存中,操作数地址由寄存器中内容加偏移量获得
1
LDR R0,[R1],#8
2
指令功能:R0← [R1],R1←R1+8 后变址
3
例:LDR R2,[R0,#8]
4
指令功能:R2← [R0+#8] 前变址
5
LDR R2,[R0,#8]!
6
指令功能:R2← [R0+8],R0←R0+8 自动变址
7


寄存器移位寻址——操作数为第2操作数,在第2操作数与第1操作数操作前对第2操作数进行移位。
例:ADD R3,R2,R1,LSL#3
指令功能:R3← R2+R1×23
第2操作数可以进行五种移位。
(1)LSL:逻辑左移
(2)LSR:逻辑右移
(3)ASR:算术右移
(4)ROR:循环右移
(5)RRX:带扩展的循环右移
01
02
03
04
多寄存器寻址——一条指令可完成一组寄存器
值的传送,连续寄存器之间
使用“-”,否则用“,”
指令功能:R1← [R0],R2 ← [R0+4],
R3← [R0+8],R4 ← [R0+12],
例: LDMIA R0, {R1-R4}
LDMIA R0, {R1,R3}
05
指令功能:R1← [R0],R3 ← [R0+4],


8. 相对寻址
相对寻址——以程序计数器(PC)的值为基
址加偏移量形成转移地址
例: BL NEXT

NEXT
堆栈寻址——实现堆栈中的数据与寄存器组间
传送数据
例: STMFD SP!,{R1-R2,PC}
指令功能:R1,R2,PC内容进栈保存
程序状态寄存器处理指令
4
软件中断指令
5
数据处理指令
1
加载/存储指令
2
转移指令
3
协处理器指令
ARM微处理器的指令分类:
6
ARM指令的分类介绍