单片机原理及实用技术 第3章SPCE061A指令系统.pptVIP

单片机原理及实用技术 第3章SPCE061A指令系统.ppt

  1. 1、本文档共130页,可阅读全部内容。
  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文档。上传文档
查看更多

第3章SPCE061A指令系统;3.1概述;3.1.2寻址方式

寻址方式主要有以下几种:

(1)立即寻址:操作数以立即数的形式出现。

例如,R1=0x1234是把十六进制数0x1234赋给存放器R1。

(2)直接寻址:通过存储器地址来访问存储器中的数据。

例如,R1=[0x2222]将0x2222单元的数据传送到存放器R1。

(3)存放器寻址:操作数在存放器中。

例如,R1=R2是把存放器R2中的数据赋给存放器R1。;(4)存放器间接寻址:存放器中存储的是操作数的地址。

例如,R1=[BP]是把由BP指向的内存单元的数据传送到存放器R1。

(5)变址寻址:操作数的地址由基址和偏移量共同提供。

例如,R1=[BP+0x34],BP为基址,0x34为偏移量,两者共同确定操作数存放的地址。;表3.1符号约定;;3.2数据传送指令;表3.2数据传送指令一览表(ISA1.1指令集);1.立即寻址

格式1:Rd=IM16

说明:16位立即数送入目标存放器Rd。

格式2:Rd=IM6

说明:6位立即数扩展为16位送入目标存放器Rd。例如:

R1=0xF001 //R1的值变为0xF001;2.存放器寻址

格式1:Rd=Rs

说明:将源存放器Rs的数据送给目标存放器Rd。例如:

R2=0xF001 //R2的值为0xF001

R1=R2 //R1的值变为0xF001;3.直接寻址

格式1:Rd=[A6]

说明:把A6指定的存储单元数据读到Rd存放器。

格式2:Rd=[A16]

说明:把A16指定的存储单元数据读到Rd存放器。

格式3:[A6]=Rs

说明:将源存放器Rs中的数据送给以A6为地址的存储单元。

格式4:[A16]=Rs

说明:把Rs数据存储到A16指出的存储单元。例如:

R1=0x0011 //R1的值为0x0011

[0x0010]=R1 //0x0010单元的值变为0x0011;4.变址寻址

格式1:Rd=[BP+IM6]

说明:把基址指针BP与6位的立即数的和作为地址,将该存储单元的数据读到Rd存放器。

格式2:[BP+IM6]=Rs

说明:把Rs的值存储到基址指针BP与6位的立即数之和为地址的存储单元。例如:

R1=0x0010

[BP+0x0002]=R1;5.存放器间接寻址

格式1:[Rd]=Rs

说明:把Rs的数据存储到Rd的值所指的存储单元(Rd中存放的是操作数的地址)。

格式2:[++Rd]=Rs

说明:首先把Rd的值加1,再将Rs的数据存储到Rd的值所指的存储单元。

格式3:Rd=[Rs++]

说明:读取Rs所指的存储单元的值存入Rd,而后Rs的值加1。;例1将R3的值保存于0x25单元。

R3=0x5678 //把16位立即数0x5678赋给R3

方法1:

[0x25]=R3 //将R3的值存储于0x25存储单元(直接寻址), //0x25单元的内容为0x5678

方法2:

R2=0x25 //立即数0x25送入R2

[R2]=R3 //将R3的值存储于0x25存储单元(存放器间 //接寻址),0x25单元的内容为0x5678;方法3:

BP=0x20 //立即数0x20送入BP

[BP+5]=R3 //将R3的值存储于0x25存储单元(变址寻 //址),0x25单元的内容//为0x5678;例2将0x25,0x26和0x27单元清零。

方法1:

R1=0

R2=0x25 //立即数0x25送入R2中

[R2++]=R1 //R1的值存储于0x25,存储单元R2=R2+1

[R2++]=R1 //R1的值存储于0x26,存储单元R2=R2+1

[R2]=R1 //R1的值存储于0x27;方法2:

R1=0

R2=0x27

[R2--]=R1 //R1的值存储于0x27,存储单元R2

文档评论(0)

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

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

1亿VIP精品文档

相关文档