ARM体系结构20171007课件.ppt

ARM体系结构20171007课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共84页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MOV R0,#0xFF ;将立即数0xFF装入R0寄存器 注意:立即数要以”#”号为前缀,表示十六进制数值以”0x”表示. 0x55 R0 MOV R0,#0xFF 程序存储 1. 寻址方式分类——立即寻址举例 0xFF 从代码中获得数据 MOV R1,R2 ;将R2的值存入R1 0xAA 0x55 R2 R1 2. 寻址方式分类——寄存器寻址举例 MOV R1,R2 0xAA LDR R2,[R3,#0x0C] ;读取R3+0x0C地址上的存储单元的内容,放入R2 0x55 R2 R3 00xAA 0x4000000C 3. 寻址方式分类——基址寻址举例 LDR R2,[R3,#0x0C] 0xAA 将R3+0x0C作为地址装载数据 相对寻址是基址寻址的一种变通。由程序计数器PC提供基准地址,指令中的地址码字段作为偏移量,两者相加后得到的地址即为操作数的有效地址。相对寻址指令举例如下: BL SUBR1 ;调用到SUBR1子程序 BEQ LOOP ;条件跳转到LOOP标号处 ... LOOP MOV R6,#1 ... SUBR1 ... 4. 寻址方式分类——相对寻址 寄存器移位寻址是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 0x55 R0 R2 0x01 5. 寻址方式分类——寄存器移位寻址 MOV R0,R2,LSL #3 0x08 0x08 逻辑左移3位 (1)ASL算术左移操作(Arithmetic shift left) 完成对通用寄存器中的内容进行算术左移操作,按操作数所指定的数量向左移位,低位用零来填充。其中,操作数可以是通用寄存器,也可以是立即数。 0x55 R0 R1 0x01 6. 寻址方式分类——寄存器移位寻址 MOV R0,R1,ASL #2 0x04 0x04 算术左移2位 (2)ASR算术右移操作(Arithmetic shift right) 可完成对通用寄存器中的内容进行右移操作,按操作数所指定的数量向右移位,左端用第31位的值来填充。其中,操作数可以是通用寄存器,也可以是立即数。 0x55 R0 R1 0x11 6. 寻址方式分类——寄存器移位寻址 MOV R0,R1,ASR #2 0x04 0x04 算术右移2位 (3)LSL逻辑左移操作(Logical shift left) 可完成对通用寄存器中的内容进行逻辑左移操作,按操作数所指定的数量向左移位,低位用第零来填充。其中,操作数可以是通用寄存器,也可以是立即数。 0x55 R0 R1 0x01 6. 寻址方式分类——寄存器移位寻址 MOV R0,R1,LSL #2 0x04 0x04 逻辑左移2位 (4)LSR逻辑右移操作(Logical shift right) 可完成对通用寄存器中的内容进行右移操作,按操作数所指定的数量向右移位,左端用零来填充。其中,操作数可以是通用寄存器,也可以是立即数。 0x55 R0 R1 0x11 6. 寻址方式分类——寄存器移位寻址 MOV R0,R1,LSR #2 0x04 0x04 逻辑右移2位 (5)ROR循环右移操作(Rotate right) 可完成对通用寄存器中的内容进行循环右移操作,按操作数所指定的数量向右循环移位,左端用右端移出的位来填充。其中,操作数可以是通用寄存器,也可以是立即数。 0x55 R0 R1 0x11 6. 寻址方式分类——寄存器移位寻址 MOV R0,R1,ROR #2 0x44 0x44 循环右移2位 (6)RRX带扩展的循环右移操作(Rotate right extend by 1 place) 操作数右移一位,高端空出的位

文档评论(0)

共享文档 + 关注
实名认证
内容提供者

二级建造师持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年10月07日上传了二级建造师

1亿VIP精品文档

相关文档