网站大量收购闲置独家精品文档,联系QQ:2885784924

三、ARM指令2学习课件.pptxVIP

三、ARM指令2学习课件.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共125页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

三、ARM指令系统;寻址方式;LDMIAR1,{R0,R2,R5};R0←[R1]

;R2←[R1+4]

;R5←[R1+8]

LDMIBR1,{R0,R2,R5};R0←[R1+4]

;R2←[R1+8]

;R5←[R1+12]

LDMDAR1,{R0,R2,R5};R5←[R1]

;R2←[R1-4]

;R0←[R1-8]

LDMDBR1,{R0,R2,R5};R5←[R1-4]

;R2←[R1-8]

;R0←[R1-12]

;ARM存储器访问指令——多寄存器存取;;栈底;;栈底;栈底;栈底;栈底;数据块传送

存储;应用示例:S3C44B0部分启动代码;简单的ARM程序;§3.3ARM指令系统介绍;存储器寻址;(一)存储器访问指令(Load/Store)

1、单字和无符号字节Load/Store指令

2、半字和有符号字节Load/Store指令

3、双字Load/Store指令

4、多寄存器Load/Store指令

5、内存与寄存器交换指令

;(一)存储器访问(Load/Store)指令

1.单字和无符号字节Load/Store指令

功能:提供ARM寄存器和内存之间单字节

(8位)或单字(32位)数据的传送。

LDR/STR的功能

;LDR和STR——字和无符号字节加载/存储指令编码;字节码结构;指令格式:

(1)零偏移

LDR/STR{〈条件码〉}{B}{T}Rd,[Rn]

;((Rn))→Rd

功能:将Rn的内容作为传送数据的地址。

B:可选后缀,若有B,则传送Rd的最低有效字节。

若操作码是LDR,则将Rd的其它字节清零。(加载无符字节数据,零扩展到32位)

;(1)零偏移

Rd:ARM寄存器

Rn:存储器的基址寄存器,若指令是带写回的前变址(加后缀“!”)或后变址。

;(2)前变址

LDR/STR{条件码}{B}Rd,[Rn,offset]{!}

;((Rn)+offset)→Rd;

;有“!”,则(Rn)+offset→Rn

;无“!”,Rn不变;(2)前变址

在数据传送之前,将偏移量加到Rn中,其

结果作为传送数据的存储器地址。若使用后缀

“!”,则结果写回到Rn中。Rn不允许是R15。

其中offset—Rn上的偏移量。

!:可选后缀,若有“!”,则将结果地址写回

到Rn,若Rn是R15,则不能够用后缀“!”。

LDRRd,[Rn,#offset]!((Rn)+offset))→Rd;(Rn)+offset→Rd;(3)程序相对偏移

LDR/STR{〈条件码〉}Rd??Label;(Label)→Rd

Label:程序相对偏移表达式,必须在当前指

令的±4kB范围内。

LDRRd,Label等价为:

LDRRd,[R15,Label-{pc}]

((R15)+Label-{pc}))→Rd;(4)后变址

LDR/STR{条件码}{B}{T}Rd,[Rn],offset

将Rn的值用作传送数据的存储器地址,数据传送后,偏移量加到Rn中,结果写回到Rn。

Rn不允许是R15。

LDRRd,[Rn],offset

;((Rn))→Rd,(Rn)+offset→Rn

;例1:将R0中的内容存放到外设中

LDRR1,UARTADD;将UART地址放进R1中

STRBR0,[R1];将数据放进外设中

……

UARTADD10000;UART的地址值;例2:

LDRR8,[R10];((R10))→R8

LDRNER2,

文档评论(0)

***** + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档