- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机组成原理-数据寻址方式;乘法指令; C54x DSP提供了7种数据寻址方式:
⒈ 立即数寻址: 操作数是一个立即数,包含在指令中;
立即数表示方法:应在数值或符号前面加一个“#”号
例如:LD #80H, A
⒉ 绝对寻址: 指令中有一个16位的有效地址;
C54x DSP提供了四种类型的绝对寻址。
① 数据存储器地址(dmad)寻址:
指令中16位的有效地址为数据存储空间的地址。;;1. MVDK DAT10,8000H ;⒊ 累加器寻址: 把累加器内的内容作为地址去访问程序存储器的一个单元;(A)→ Pmem
; CPL=0: ① DP(9)——偏移地址(7)
CPL=1: ② SP(16) + 偏移地址(7);图4.2 以SP为基地址的直接寻址;⒌ 间接寻址;表4.8 单操作数间接寻址类型; (2) 双操作数间接寻址; ⒍ 存储器映射寄存器寻址
⑴ 这种寻址方式用来修改存储器映射寄存器的内容
⑵ 存储器映射寄存器寻址可以在直接寻址和间接寻
址中使用。
※ ⑶ MMR的地址产生方法为:
将16位的有效地址高9位清0。
例如:;* LDM MMR,dst
* MVDM dmad,MMR
* MVMD MMR,dmad
* MVMM MMRx,MMRy
* POPM MMR
* PSHM MMR
* STLM src,MMR
* STM #1k,MMR
;⒎ 堆栈寻址;ST #0x0144, DATA10
STM #0x0421, T
STM A,*AR1+
执行指令之前(AR1)=0321H,执行指令ST T,*AR1-后,(AR1)= 。
直接寻址中,基地址可由 或SP来确定。;计算 。
.title “sum.asm”
.mmregs
(1)
.bss y,1
STM #x,AR2
STM #9,AR3
LD #0, A
loop: (2)
BANZ loop, *AR3-
(3);对数组z[8]={11,14,55,66,54,34,73,70}进行初始化。
.title “Initialization.asm”
.mmregs
STACK: .usect “STACK”,10H
.bss z,8
(1)
table: .word 11,14,55,66,54,34,73,70
.def
.text
start: STM #z,AR1
(2)
(3)
end: B end
(4) ;计算y=mx+n。
.title “y= mx+n.asm”
.mmregs
STACK: .usect “STACK”,10H
.bss m,1
.bss x,1
.bss n,1
.bss y,1
.def start
.data
table: .word 2,33,78
(1) ;start: STM #0,SWWSR
(2)
STM #m,AR2
RPT #2
MVPD table,*AR2+
CALL SC
end: B end
SC: STM #m,AR3
STM #x,AR5
(3)
ADD @n, A
STL A, @ y
RET
.end;计算y=a1x1+…+a4x4; (2)
MVPD table,*AR1+
(3)
end: B end
SU: LD #a ,AR3
MPY #x ,AR4
RPTZ A,#3
原创力文档


文档评论(0)