- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chapter_34ARM指令续 嵌入式教材.ppt
寻址方式是处理器执行指令时寻找真实操作数地址的方式。ARM处理器支持9种基本寻址方式 :; 操作数的值在寄存器中,指令中的地址码字段指出的是寄存器编号,指令执行时直接取出寄存器值来操作。寄存器寻址指令举例如下:
MOV R1,R2 ;将R2的值存入R1
SUB R0,R1,R2 ;将R1的值减去R2的值,结果保存到R0 ; 立即寻址指令中的操作码字段后面的地址码部分即是操作数本身,也就是说,数据就包含在指令当中,取出指令也就取出了可以立即使用的操作数(这样的数称为立即数)。立即寻址指令举例如下:
SUBS R0,R0,#1 ;R0减1,结果放入R0,并且影响标志位
MOV R0,#0xFF000 ;将立即数0xFF000装入R0寄存器 ; 寄存器移位寻址是ARM指令集特有的寻址方式。当第2个操作数是寄存器移位方式时,第2个寄存器操作数在与第1个操作数结合之前,选择进行移位操作。寄存器移位寻址指令举例如下:
MOV R0,R2,LSL #3 ;R2的值左移3位,结果放入R0, ;即是R0=R2×8
ANDS R1,R1,R2,LSL R3 ;R2的值左移R3位,然后和R1相 ;“与”操作,结果放入R1; 寄存器间接寻址指令中的地址码给出的是一个通用寄存器的编号,所需的操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针。寄存器间接寻址指令举例如下:
LDR R1,[R2] ;将R2指向的存储单元的数据读出
;保存在R1中
SWP R1,R1,[R2] ;将寄存器R1的值和R2指定的存储
;单元的内容交换 ; 多寄存器寻址一次可传送几个寄存器值,允许一条指令传送16个寄存器的任何子集或所有寄存器。多寄存器寻址指令举例如下:
LDMIA R1!,{R2-R7,R12} ;将R1指向的单元中的数据读出到
;R2~R7、R12中(R1自动加1)
STMIA R0!,{R2-R7,R12} ;将寄存器R2~R7、R12的值保
;存到R0指向的存储; 单元中
;(R0自动加1); 堆栈是一个按特定顺序进行存取的存储区,操作顺序为“后进先出” 。堆栈寻址是隐含的,它使用一个专门的寄存器(堆栈指针)指向一块存储区域(堆栈),指针所指向的存储单元即是堆栈的栈顶。存储器堆栈可分为两种:
向上生长:向高地址方向生长,称为递增堆栈
向下生长:向低地址方向生长,称为递减堆??;2.2 寻址方式简介;栈顶;所以可以组合出四种类型的堆栈方式:
满递增:堆栈向上增长,堆栈指针指向内含有效数据项的最高地址。指令如LDMFA、STMFA等;
空递增:堆栈向上增长,堆栈指针指向堆栈上的第一个空位置。指令如LDMEA、STMEA等;
满递减:堆栈向下增长,堆栈指针指向内含有效数据项的最低地址。指令如LDMFD、STMFD等;
空递减:堆栈向下增长,堆栈指针向堆栈下的第一个空位置。指令如LDMED、STMED等。 ; 多寄存器传送指令用于将一块数据从存储器的某一位置拷贝到另一位置。 如:
STMIA R0!,{R1-R7} ;将R1~R7的数据保存到存储器中。
;存储指针在保存第一个值之后增加,
;增长方向为向上增长。
STMIB R0!,{R1-R7} ;将R1~R7的数据保存到存储器中。
;存储指针在保存第一个值之前增加,
;增长方向为向上增长。 ; 相对寻址是基址寻址的一种变通。由程序计数器PC提供基准地址,指令中的地址码字段作为偏移量,两者相加后得到的地址即为操作数的有效地址。相对寻址指令举例如下:
BL SUBR1 ;调用到SUBR1子程序
BEQ LOOP ;条件跳转到LOOP标号处
...
LOOP MOV R6,#1
...
SUBR1 ... ; ARM7TDMI处理器有两个指令集,每种指令集都有自己的优缺点:
32位ARM指令集 :对ARM核的特性提供最大的支持,具有高效、快速的特点;
16位Thumb指令集:它是ARM指令的子集,具有更高的代码密度,非常适合存储器带宽和空间都受限制的嵌入式应用场合。; ARM指令集可分为5大类指令,所有指令都可以条件执行,其中一些指令还可以根据执行结果更新CPSR寄存器的相关标志位(N、Z、C和V):
分支指令;
数据处理指令;
加载和存储指令;
协处理器指令;
杂项指令。;2.3 AMR指令;2.3 AMR指令;2.3 AMR指令;2.3 AMR指令;2.3 A
您可能关注的文档
- Chapter8 Crime & the Police培训资料.ppt
- chapter8 engine emission 发动机原理英文PPT演示教学.ppt
- chapter8 Financial Structure 货币金融教材.ppt
- chapter8 中国B股市场投资价值分析 金融学教材.ppt
- Chapter8Solidworks设计建模实例企鹅QQ培训资料.ppt
- Chapter9 Justice and the Law 当代英国概况 ppt 教材.ppt
- chapter9 Participants in the Foreign Exchange Market 国际金融专业双语教学文稿.ppt
- chapter9 中国证 券市场的相关管理体制 金融学课件.ppt
- chapter9 电子商务概述 教材课程.ppt
- Chapters 11-12 英国文学简史ppt(English Literature)教学文稿.ppt
- chapter_4 Individual and Market Demand 平狄克微观英文版教材.ppt
- chapter_6Production幻灯片课件.ppt
- chapter_7 The Cost of Production 平狄克微观英文版教材.ppt
- chapter_7The Cost of Production知识讲稿.ppt
- chapter_8 Profit Maximization and Competitive Supply 平狄克微观英文版教材.ppt
- chapter_9 The Analysis of Competitive Markets 平狄克微观英文版教材.ppt
- Chapter3 Planning and Strategic Management 《相关管理学》(双语)课程课件(48学时).ppt
- chap_8&9.可编程逻辑器 与硬件描述语言 数字电子技术 知识基础 课件 ppt.ppt
- Character Tables 南京大学研究生课程-谱学基础教材.ppt
- check in and out_ services 旅游英语 演示教学.ppt
原创力文档


文档评论(0)