(第3章 ARM寻址方式与指令系统) 11 12节.ppt

(第3章 ARM寻址方式与指令系统) 11 12节.ppt

ID:50603381

大小:142.50 KB

页数:38页

时间:2020-03-12

(第3章 ARM寻址方式与指令系统) 11 12节.ppt_第1页
(第3章 ARM寻址方式与指令系统) 11 12节.ppt_第2页
(第3章 ARM寻址方式与指令系统) 11 12节.ppt_第3页
(第3章 ARM寻址方式与指令系统) 11 12节.ppt_第4页
(第3章 ARM寻址方式与指令系统) 11 12节.ppt_第5页
资源描述:

《(第3章 ARM寻址方式与指令系统) 11 12节.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、六、bootloader外部中断非向量中断响应过程六、bootloader中断向量表0x00000018六、bootloaderIsrIRQ中断服务器程序IsrIRQsubsp,sp,#4;保留PCstmfdsp!,{r8-r9};将r8,r9入栈ldrr9,=I_ISPR;中断寄存器地址=r9ldrr9,[r9];读出中断寄存器I_ISPR的值,存入R9中movr8,#0x00;局部标号movsr9,r9,lsr#1;LSR逻辑右移bcs%F1;%F向前搜索局部标号判断是否把置位Caddr8,r8,#4

2、;根据I_ISPR的值b%B0;判断该中断在普通中断向量表中的偏移量,存入R8;%B向后搜索局部标号1;局部标号ldrr9,=HandleADC;HandleADC为普通中断向量表的起始地址,addr9,r9,r8;起始地址+偏移地址=实际的中断向量地址ldrr9,[r9];取出中断向量的值,即服务程序的地址strr9,[sp,#8]ldmfdsp!,{r8-r9,pc};跳转到普通中断服务程序,开始执行六、bootloader普通中断向量分配空间外部中断包括的26种普通中断的向量空间分配HandleADC#

3、4HandleRTC#4 HandleUTXD1#4 HandleUTXD0#4 ...... HandleEINT3#4 HandleEINT2#4 HandleEINT1#4 HandleEINT0#4;3.2指令格式一、ARM汇编语言组成1、汇编语言指令组成机器指令:ARM指令和Thumb指令;伪指令:宏指令:2、指令含义机器指令:能够被处理器直接执行的指令伪指令:源程序汇编期间,由汇编程序执行的指令(定义段,定义变量等)宏指令:是一段独立的程序代码,汇编时用宏体替代宏指令3.2指令格式二、编码格式1、

4、ARM汇编指令格式(助记符格式)ARM汇编指令:ADDEQSR0,R1,R2;该指令的编码格式为:31~2827~2524~212019~1615~1211~~~~~~~~~~0condopcodeSRnRdop2000000101001000100000000000000103.2指令格式二、编码格式{}{S},,其中:<>是必选项{}是可选项操作码,如ADD表示算术加操作指令;{}决定指令执行的条件域;{S}决定指令执行是否

5、影响CPSR寄存器的值;目的寄存器;第一个操作数,为寄存器;第二个操作数。2、例如指令ADDEQSR1,R2,#5二、编码格式3、条件域几乎所有的ARM指令都可以根据当前程序状态寄存器CPSR中标志位的值,有条件地执行。ARM指令的条件域有16种类型。二、编码格式3、条件域二、编码格式3、条件域三、寻址方式9种:立即数寻址寄存器寻址寄存器移位寻址寄存器间接寻址基址变址寻址相对寻址多寄存器寻址块拷贝寻址堆栈寻址三、寻址方式1、立即数寻址在

6、立即数寻址中,操作数包含在指令中。称此种操作数为立即数。#后接0x或&表示十六进制数或0b表示二进制数或0d或缺省表示十进制数=〉表示立即数。例:ADDR0,R1,#5;R0=R1+5MOVR0,#0x55;R0=0x55其中:操作数5,0x55就是立即数,立即数在指令中要以“#”为前缀,后面跟实际数值。三、寻址方式2、寄存器寻址所有操作数都为寄存器例:ADDR0,R1,R2;R0=R1+R2MOVR0,R1;R0=R1三、寻址方式3、寄存器移位寻址操作数由寄存器的数值做相应移位而得到。移位的方式在指令中以助

7、记符的形式给出,而移位的位数可用立即数或寄存器寻址方式表示。例:ADDR0,R1,R2,ROR#5;R0<=R1+R2循环右移5位MOVR0,R1,LSLR3;R0<=R1逻辑左移R3位移位操作在ARM指令集中不作为单独的指令使用,ARM指令集共有5种位移操作。ARM指令集的5种位移操作LSL逻辑左移:Rx,LSLLSR逻辑右移:Rx,LSRASR算术右移:Rx,ASRROR循环右移:Rx,RORRRX带扩展的循环右移:Rx,RRX三、寻址方式4、寄存器间接寻址寄存器中

8、的值为操作数的物理地址,而实际的操作数存放在此地址存储器中。例:STRR0,[R1];[R1]=R0LDRR0,[R1];R0=[R1]三、寻址方式5、基址变址寻址将寄存器(称为基址寄存器)的值与指令中给出的偏移地址量相加,所得结果作为操作数的物理地址。例:LDRR0,[R1,#5];R0=[R1+5]LDRR0,[R1,R2];R0=[R1+R2]三、寻址方式6、相对寻址相对寻址同基址变址寻址相似

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

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

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