- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.1_c54x 指令体系
C54X 指令系统 常用缩写 Smem 16位单寻址操作数,指向数据区 Xmem 16位双寻址操作数,用于双操作数指令或某些 单操作数指令,使用DB总线 Ymem 16位双寻址操作数,用于双操作数指令或某些 单操作数指令,使用CB总线 Dmad 16位数据空间地址,指向数据区 Pmad 16位程序空间地址,指向程序区 PA 16位IO空间地址,指向IO区 Src 源累加器,为A或B Dst 目的累加器,为A或B LR 16位长立即数地址,指向数据空间 C54X 寻址方式——立即数寻址 指令携带有要寻址的操作数,立即数有3、5、8、9、16位指令直接参与指令编码 ARP ? K3,ASM ? K5,DP ? K9 立即数前缀是“#”,如不加则按地址处理 例子: LD #93H,A RPT #99 RPT #0FFFH LD #10H,DP C54X 寻址方式——绝对地址寻址 指令携带有要寻址操作数的16位绝对地址,可以是程序空间绝对地址、数据空间绝对地址、IO空间绝对地址。 指令中携带地址,且为16位,所以该类指令为两个字长。 绝对寻址有四中,如下: 数据空间绝对地址寻址,操作数存放在数据存储空间 程序空间绝对地址寻址,操作数存放在程序存储空间 IO空间绝对地址寻址,操作数存放在IO存储空间 数据空间直接地址指针,操作数存放在数据存储空间 C54X 寻址方式——绝对地址寻址(数据空间) Value .set 0x2345 MVDK Smen,Dmad MVDK *AR3, Value ;(AR3)— Value MVDM Dmad,MMR MVDM Value,ST0 ;Value — ST0 MVKD Dmad ,Smen MVDK Value ,*AR3 ; Value — (AR3) MVMD MMR,Dmad MVDM ,Value ; ST0 — Value C54X 寻址方式——绝对地址寻址(程序空间1) Table .set 0x2345 MVDP Smen,Pmad MVDP *AR3, Table ;(AR3)— Table MVPD Pmad,Smem MVPD Table,*AR3 ;Table — (AR3) MACP Smem ,Pmad,Src (Smen × Pmad)+ Src — Src Smem — T MACD *AR2,Table C54X 寻址方式——绝对地址寻址(程序空间2) MACD Smem ,Pmad,Src (Smen × Pmad)+ Src — Src Smem — T Smem — Smem + 1 MACD *AR2,Table FIRS Xmem ,Ymem,Pmad A(31~16)× Pmad — B (Xmem+Ymem) 16 — A Pmad — Pmad + 1 FIRS *AR2, *AR3,Table C54X 寻址方式——绝对地址寻址(IO空间) PORTR PA,Smem ADport .set 0x2345 PORTR ADport,*AR3 PORTW Smem,PA DAport .set 0x2345 PORTW *AR3, DAport C54X 寻址方式——直接地址指针(数据空间) buf .set 0x2345 LD * (buf),A C54X 寻址方式——直接寻址 指令携带有要寻址的操作数部分地址,即操作数地址的低7位,高9位由DP、SP或制定 使用DP时,数据空间分为512个页面,指令中携带偏移量 使用SP时,地址=SP+指令中携带低7位 指令编码时抛弃高9位 例子: Value .set 0x1000 LD #02,DP LD @Value,A ADD @Value,A C54X 寻址方式——立即数寻址 比较以下指令: LD #1234H,A LD @1234H,A LD 1234H,A LD *(1234H),A MVDK *AR4,1234H C54X 寻址方式——间接寻址 指令中地址指针寄存器的内容指定要寻址的操作数的地址,寻址的为数据空间 地址指针寄存器为AR0~AR7 由于有两个ARAU(地址生产单元),所以单条指令中最多能出现2个地址指针 间接寻址分为 单操作数间接寻址 双操作数间接寻址 C54X 寻址方式——单操作数间接寻址(1) 指令中只有一个地址指针寄存器 指令编码格式如下 ADD *AR3,A ;指令编码:0x0083 C54X 寻址方式——单操作数间接寻址(2) ARF=0~7,对应指针AR0~AR7 MODE=0~15,对应下表 C54X 寻址方式——单操作数间接寻址(3) C54X 寻址方式——单
原创力文档


文档评论(0)