- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARM指令的寻址方式.ppt
* * ARM指令的寻址方式 ARM指令的寻址方式 寄存器寻址 立即寻址 寄存器移位寻址 寄存器间接寻址 变址寻址 多寄存器寻址 堆栈寻址 块复制寻址 相对寻址 寻址方式是处理器根据指令中给出的地址码字段信息来寻找真实操作数物理地址的方式。目前ARM处理器支持9种基本的寻址方式。 寄存器寻址 寄存器中的数值作为操作数,指令中地址码字段给出的是寄存器编号,指令执行时直接取出寄存器值操作。 ADD R0,R1,R2 ; R0?R1+R2 该指令的执行效果是将寄存器R1和R2的内容相加,其结果存放在R0寄存器中。 MOV R1,R2 ; R1?R2 该指令的执行效果是将寄存器R2的内容传送到寄存器R1中。 立即寻址 ADD R3,R3,#1 ; R3?R3+1 AND R8,R7,#0xff ; R8?R7[7:0] SUB R0,R0,#1 ;R0?R0-1 第2个源操作数为一个立即数,以“#”为前缀,十六进制值以在“#”后加“0x”表示。 立即寻址是一种特殊的寻址方式,指令中在操作码字段后面的地址码不是通常意义上的操作数地址,而是操作数本身。这样的数称为操作数。 寄存器移位寻址 可以采取的移位操作如有: LSL:逻辑左移(Logical Shift Left)。寄存器中字的低端空出的位补0。 0 LSR:逻辑右移(Logical Shift Right)。寄存器中字的高端空出的位补0。 0 这种寻址方式是ARM指令集特有的,第2个寄存器操作数在与第1个操作数结合之前,先选择进行移位操作,再结合。 ADD R3,R2,R1,LSL #3 ; R3?R2+8×R1 MOV R0,R2,LSL,#3 ; R0?8×R2 寄存器移位寻址 ASR:算术右移(Arithmetic Shift Right)。算术移位的对象是带符号数,若源操作数为正数,则字的高端空出的位补0。若源操作数为负数,则字的高端空出的位补1。 RRX:扩展的循环右移(Rotate Right Extended by 1 place)。 向右移位,只移一位,左侧空位由状态寄存器C位填充,右侧移出的位移进状态位C中。 ?ROR:循环右移(Rotate Right)。从字的最低端移出的位填入字的高端空出的位。 C 寄存器间接寻址 寄存器间接寻址就是以寄存器中的值作为操作数的地址,而操作数保存在寄存器指定地址的存储单元中,即寄存器为操作数的地址指针。 ADD R3,R2,[R1] ; R3?R2+[R1] LDR R0,[R1] ;R0?[R1] STR R0,[R1] ;[R1]?R0 基址变址寻址 基址变址寻址就是将寄存器(该寄存器一般为基址寄存器)的内容与指令中给出的地址偏移量相加,形成操作数的有效地址。基址变址寻址用于访问基址附近的存储单元,常用于查表、数组操作。 基址加偏移寻址 基址加索引寻址 前索引寻址方式:基址需加(或减)偏移来计算访问的地址。 例如:LDR R0,[R1,#4] ; R0?[R1+4] 后索引寻址方式:基址不带偏移作为传送的地址,传送后自动索引。 例如:LDR R0,[R1],#4 ; R0?[R1] ; R1?R1+4 指令指定一个基址寄存器,再指定另一个寄存器(索引),其值作为位移加到基址上形成存储器地址。 例如:LDR R0,[R1,R2] ; R0?[R1+R2] 多寄存器寻址 LDMIA R1,{R0,R2,R5} ; R0?[R1] ; R2?[R1+4] ; R5?[R1+8] 该指令的后缀IA表示在每次执行完加载/存储操作后,R1按字长度增加,指令可将连续存储单元的值送到R0,R2,R5寄存器中。 多寄存器寻址方式就是用一条指令完成多个寄存器值的传送,允许一条指令完成传送最多16个通用寄存器的值。 STMIA R1,{R0,R2,R5} ; [R1]? R0 ; [R1+4] ? R2 ; [R1+8] ? R5 该指令的后缀IA表示在每次执行完加载/存储操作后,R1按字长度增加,指令可将R0,R2,R5寄存器的值送到连续存储单元中。
您可能关注的文档
- (二)马克思主义中国化理论成果的精髓.doc
- (如何让学生学习有用的地理).ppt
- (征文)解放思想创新思路改变作风强化服务.doc
- (新)共产主义说.doc
- (用)代表大会相关材料式样.doc
- (第二组)“五四”时期先进青年接受马克思主义的历史原因.ppt
- (重点)六单元古诗文理解性默写.doc
- (面向对象实验报告二)投票选举管理程序的实现.doc
- 03——现状分析.doc
- 06环境规划的基本内容.ppt
- 《登快阁》课件+2024-2025学年统编版高二语文选择性必修下册).pptx
- 5.1 根本政治制度 课件(共28张PPT)-2025年统编版道德与法治八年级下册.pptx
- +Unit6+Vocabulary+课件-2024-2025学年沪教版英语七年级下册.pptx
- 【课件】认识民法典+课件统编版道德与法治七年级下册.pptx
- 【课件】+认识民法典+课件统编版道德与法治七年级下册.pptx
- (人教2024版PEP)英语三年级下册 Unit6.2 Part A Let’s learn&Listen and chant课件.pptx
- 【课件】Unit+7+Section+B+1a-1e+课件人教版英语七年级下册.pptx
- 2.1 揭开情绪的面纱 议题式课件 道德与法治七年级下册.pptx
- 1.2 治国安邦的总章程 课件(共26张PPT) 2025年道德与法治统编版八年级下册.pptx
- 〖地理〗西亚 2024-2025学年七年级地理下册教学课件(人教版2024).pptx
文档评论(0)