已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.7ARM处理器的寻址方式,ARM指令集可以分为跳转指令、数据处理指令、程序状态寄存器传输指令、Load/Store指令、协处理器指令和异常中断产生指令。根据使用的指令类型不同,指令的寻址方式分为数据处理指令寻址方式和内存访问指令寻址方式。,数据处理指令的基本语法格式,S,其中号内的项是必须的,号内的项是可选的。各项的说明如下:,opcode:指令助记符;cond:执行条件;S:是否影响CPSR寄存器的值;Rd:目的操作数;Rn:第1个源操作数;operand2:第2个源操作数;,所有的ARM指令都可以条件执行。如果指令不标明条件代码,将默认为无条件(AL)执行。,cond项条件执行,ARM指令可包含一个可选的条件码,根据CPSR中的条件位自动判断是否执行指令,在条件满足时,指令执行,否则指令被忽略。,C代码:If(ab)a+;Elseb+;,对应的汇编代码:CMPR0,R1;R0(a)与R1(b)比较ADDHIR0,R0,#1;若R0R1,则R0=R0+1ADDLSR1,R1,#1;若R0R1,则R1=R1+1,示例:,ARM数据处理指令均可根据执行结果来选择是否更新条件码标志。若要更新条件码标志,加后缀“S”。,S项,ARM指令集第2个源操作数,灵活的使用第2个操作数“operand2”能够提高代码效率。它有如下的形式:#immed_8r常数表达式;Rm寄存器方式;Rm,shift寄存器移位方式;,#immed_8r常数表达式,例如:ANDR1,R2,#0 x0F,Rm寄存器方式在寄存器方式下,操作数即为寄存器的数值。例如:SUBR1,R1,R2,LSL:逻辑左移,空出的最低有效位用0填充。LSR:逻辑右移,空出的最高有效位用0填充。ASL:算术左移,由于左移空出的有效位用0填充,因此它与LSL同义。ASR:算术右移,算术移位的对象是带符号数,移位过程中必须保持操作数的符号不变。如果源操作数是正数,空出的最高有效位用0填充,如果是负数用1填充。ROR:循环右移,移出的字的最低有效位依次填入空出的最高有效位。RRX:带扩展的循环右移。将寄存器的内容循环右移1位,空位用原来C标志位填充。,Rm,shift寄存器移位方式,例如:ADDR1,R1,R1,LSL#3;R1=R1+R1R3,数据处理指令寻址方式可以分为以下几种。(1)立即数寻址方式;(2)寄存器寻址方式;(3)寄存器移位寻址方式。,立即寻址指令中的操作码字段后面的地址码部分即是操作数本身,也就是说,数据就包含在指令当中,取出指令也就取出了可以立即使用的操作数(这样的数称为立即数)。立即寻址指令举例如下:SUBSR0,R0,#1;R0减1,结果放入R0MOVR0,#0 xFF000;将立即数0 xFF000装入R0寄存器注意:立即数以“#”开头,16进制数在“#”后加“0 x”或“将R2的值存入R1SUBR0,R1,R2;将R1的值减去R2的值,结果保存到R0注意:第1个是目的寄存器,然后是第一操作数寄存器,最后是第二操作数寄存器。,寄存器寻址方式,MOVR1,R2,0 xAA,寄存器移位寻址是ARM指令集特有的寻址方式。当第2个操作数是寄存器移位方式时,第2个寄存器操作数在与第1个操作数结合之前,选择进行移位操作。寄存器移位寻址指令举例如下:MOVR0,R2,LSL#3;R2的值左移3位,结果放入R0,;即是R0=R28ANDSR1,R1,R2,LSLR3;R2的值左移R3位,然后和R1相;“与”操作,结果放入R1,寄存器移位寻址方式,MOVR0,R2,LSL#3,0 x08,0 x08,逻辑左移3位,2.7.2内存访问指令寻址方式,内存访问指令的寻址方式可以分为以下几种:(1)字及无符号字节的Load/Store指令的寻址方式;(2)杂类Load/Store指令的寻址方式;(3)批量Load/Store指令的寻址方式;(4)协处理器Load/Store指令的寻址方式。,字及无符号字节的Load/Store指令语法格式如下:LDR|STRBT,1字及无符号字节的Load/Store指令的寻址方式,注:1.B为加载字节数据。2.T为可选后缀。若指令有T,那么即使处理器在特权模式下,存储系统也将访问看成是在用户模式下进行的。T在用户模式下无效。,1.立即数偏移寻址:LDRR2,R3,#0 x0C注:读取R3+0 x0C地址上的存储单元的内容,放入R22.寄存器偏移寻址:LDRR0,R1,R2注:读取R1+R2地址上的存储单元的内容,放入R03.带移位的寄存器偏移寻址:LDRR1,R0,R2,LSL#2注:R1-R0+R2*4,4.前索引寻址:是将基址与偏移量相加作为传送数据的地址,传送数据后将数据的地址传送给基址寄存器。LDRRd,Rn,#0 x04!注:在数据传送之前,将偏移量加到Rn中,其结果作为传送数据的存储地址。使用后缀“!”,则结果写回到Rn中。5.后索引寻址:是将基址作为传送数据的地址,传送数据后自动将基址的内容与偏移量相加传送给基址寄存器。LDRRd,Rn,#-0 x02注:Rn的值用做传送数据的存储地址。在数据传送后,将偏移量与Rn相加,结果写回到Rn中。,使用该类寻址方式的指令的语法格式如下:LDR|STRH|SH|SB|D,2杂类Load/Store指令的寻址方式,注:1.B:字节,H:半字,D:双字。2.S:加载有符号数。,又称为多寄存器寻址方式、块拷贝寻址方式功能:批量Load/Store指令将一片连续内存单元的数据加载到通用寄存器组中或将一组通用寄存器的数据存储到内存单元中。该类指令的语法格式如下:LDM|STM!,3批量Load/Store指令寻址方式,允许一条指令传送16个寄存器的任何子集或所有寄存器。举例如下:LDMIAR1!,R2-R7,R12;将R1指向的单元中的数据读出到;R2R7、R12中(R1自动加4)STMIAR0!,R2-R7,R12;将寄存器R2R7、R12的值保;存到R0指向的存储单元中;(R0自动加4)注意:寄存器子集的顺序是按由小到大的顺序排列,连续的寄存器可用“-”连接;否则用“,”分隔书写。,LDMIAR1!,R2-R4,R6,0 x40000010,举例:LDMIAR0!,R3-R9;将R0指向的内存地址上的多字;数据读出到R3R9中(R0自动加4)STMIAR1!,R3-R9;将寄存器R3R9的值保存到;R1指向的存储单元中(R1自动加4),4堆栈操作寻址方式,堆栈是一个按特定顺序进行存取的存储区,操作顺序为“后进先出”。堆栈寻址是隐含的,它使用一个专门的寄存器(堆栈指针)指向一块存储区域(堆栈),指针所指向的存储单元即是堆栈的栈顶。,4堆栈操作寻址方式,根据不同的寻址方式,将堆栈分为以下4种。(1)Full栈:堆栈指针指向栈顶元素。(2)Empty栈:堆栈指针指向第一个可用元素。(3)递减栈:堆栈向内存地址减小的方向生长,即向下生长。(4)递增栈:堆栈向内存地址增加的方向生长,即向上生长。,堆栈指针指向最后压入的堆栈的有效数据项,称为满堆栈(先跳SP,再放数据);堆栈指针指向下一个待压入数据的空位置,称为空堆栈(先放数据再跳SP)。,0 x12345678,0 x12345678,0 x12345678,递增栈和递减栈:,根据堆栈的不同种类,将其寻址方式分为以下4种。(1)满递减FD(2)空递减ED(3)满递增FA(4)空递增EA,举例1:满递减堆栈:STMFDSP!,R1-R7,LR;将R1R7、LR入栈。空递减堆栈:LDMEDSP!,R1-R7,LR;数据出栈,放入R1R7、LR寄存器。,举例2:满递减堆栈:STMFDSP!,R0-R7,LR;现场保存,;将R1R7、L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《第一单元 我是信息社会的“原住民”4 鼠标操作有方法》教学设计-2024-2025学年闽教版信息技术三年级上册
- 某审计公司成本审计专项工作方案
- 2025年大学《海警后勤管理-后勤信息化》考试备考题库及答案解析
- 电子音乐制作工作室合作审批实施办法
- 2025年防震减灾基础知识考察试题及答案解析
- 《2025年无损检测员(高级)无损检测报告编制试卷及答案》
- 电子音乐制作工作室月度培训实施计划
- 食品机械厂车间废料处理管理方案
- 广东省江门市鹤山市纪元中学2025-2026学年高一上学期11月期中考试数学试题(含答案)
- 2025年桥架工程合同验收标准补充协议
- 高校思政说课课件
- 2025年福建省事业单位教师招聘考试地理学科专业知识试卷
- 肿瘤常见症状管理
- 2025电力企业技改大修项目全过程管理
- 医疗质量安全核心制度落实情况监测指标
- 农户生计韧性的新挑战与应对策略
- GB/T 12406-2022表示货币的代码
- 赌博补偿协议书范本
- 《智能设备故障诊断》课件
- 2025年江苏南京鼓楼城市管养集团有限公司招聘笔试参考题库含答案解析
- 《2024 3598-T-469 天然气管道掺氢输送技术要求》知识培训
评论
0/150
提交评论