- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 TMS320C54x的数据寻址方式
使用堆栈寻址方式访问堆栈的指令共有4条: PSHD:把一个数据存储器的值压入堆栈。 PSHM:把一个存储器映射寄存器的值压入堆栈。 POPD:把一个数据存储器的值弹出堆栈。 POPM:把一个存储器映射寄存器的值弹出堆栈。 4.7 堆栈寻址 第 *页 第 *页 第四章 TMS320C54x的数据寻址方式 * * 4.1立即寻址 4.2绝对寻址 4.3累加器寻址 4.4直接寻址 4.5间接寻址 4.6存储器映射寄存器寻址 4.7堆栈寻址 在指令系统中通常有两个部分:操作码部分和操作数部分。 操作码是指具体要执行的操作,它通常以规定的助记符(即操作符)形式出现,例如,赋值操作用LD表示,加法操作用DADD表示,不同型号的DSP规定不同。 操作数指操作的对象,通常分源操作数(第一个操作数,指初始操作数据)和目的操作数(第二个操作数,指操作结果数据)。 在执行指令时,CPU首先要找到源操作数,然后再根据操作码对操作数进行操作,最后把结果放到指令中指定的目的操作数位置。 TMS320C54x DSP中,操作数可以以16位或32位两种形式存放在寻址空间中,但只有双精度和长字指令(如表4.1所示)才能实现对32位数的存取。操作数的存放范围很宽,可以放在片内ROM/RAM、片内寄存器也可以放在片外ROM/RAM。 表4.1 寻址32位数的指令 指 令 含 义 DADD 双精度/双16位数 到累加器 DADST 双精度/双16位数与T寄存器值相加/减 DLD 双精度/双16位长字加载累加器 DRSUB 从双精度/双16位数中减去累加器值 DSADT 长操作数与T寄存器值相加/减 DST 累加器值存到长字单元中 DSUB 从累加器中减去双精度/双16位数 DSUBT 从长操作数中减去T寄存器值 寻址方式 举 例 用 途 指令含义 立即寻址 LD #10H,A 主要用于初始化 A=10H 绝对寻址 STL A,*(y) 利用16位地址寻址存储单元 将累加器的低16位存放到变量y所在的存储单元 累加器 寻址 READ A x 把累加器的内容作为地址 将累加器A作为地址读程序存储器,并存入变量x所在的数据存储器单元 直接寻址 LD @x,A 数据页面和堆栈指针相对寻址 (DP+x的低7位地址) →A 间接寻址 LD *AR1,A 利用辅助寄存器作为地址指针 (AR1)→A 存储器映像寄存器寻址 LDM ST1,B 快速寻址存储器映射寄存器 ST1→B 堆栈寻址 PSHM AG 压入/弹出数据存储器和MMR(存储器映射寄存器) SP—1→SP, AG→TOS 表4.2 TMS320C54X的数据寻址方式 缩写语 含 义 Smem 16位单寻址操作数 Xmem 16位双寻址操作数,用于双操作数指令及某些单操作数指令,从DB数据总线上读出 Ymem 16位双寻址操作数,用于双操作数指令,从CB数据总线上读出 dmad 16位立即数——数据存储器地址(0~65535) pmad 16位立即数——程序存储器地址(0~65535) PA 16位立即数——I/O口地址(0~65535) src 源累加器(A或B) dst 目的累加器(A或B) 1k 16位长立即数 表4.3 部分寻址方式缩写语 立即寻址方式的指令格式通常: 指令助记符 #操作数 ,寄存器名 在数字前面加一个“#”符号,表示其后操作数即为操作数。 立即寻址通常用来实现存储器或寄存器的初始化。 立即寻址方式中的立即数有短立即数和长立即数之分。数值位数为3、5、8或9的为短立即数;数值位数为16位时是长立即数。 【例4-1】给累加器A初始化为10H: LD #10H,A ;执行后,A=0010H 注意区分指令: LD 10H,A 4.1 立即寻址 绝对寻址就是指令中出现操作数所在的存储单元的16位地址,执行时要到此地址中取操作数。 这种寻址方式的地址总是16位的,所以绝对寻址指令的长度至少为2个字,执行速度慢。 根据指令中的地址所属空间可把绝对寻址进一步分为四种寻址:数据存储器寻址、程序存储器寻址、端口地址寻址和长立即数(1K)寻址。 4.2 绝对寻址 指令中出现用程序标号或地址值表示的操作数所在的数据存储空间的地址。 这种寻址方式有如下格式(指令的具体说明见5.2节): MVDK Smem,dmad MVDM dmad,MMR MVKD dmad,Smem MVMD MMR,dmad 【例4-2】向数据存储器传送数据。已知指令执行前,AR3内容为0100H,数
文档评论(0)