- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机与DSP汇编语言的区别
单片机与DSP在硬件上的不同就在一定程度上决定了两者汇编语言的不同。
DSP微处理器的主要特点有:
1.DSP内部采用程序空间和数据空间分开的哈佛结构,允许同时取指令和取操作数,还允许在程序空间和数据空间互相传送数据。
2.许多DSP芯片内部都采用多总线结构,这样可以保证在一个机器周期内多次访问程序空间和数据空间。
3.DSP每执行一次指令,需要通过预取指、取指、译码、寻址、取操作数和执行等流水线阶段。
4.DSP内部包括多个处理器单元,他们可以在一个指令周期内同时进行运算。
5.具有特殊的DSP指令,比如TMS320C54xx中的MACD(乘法、累加和数据移动)指令等。
6.还有指令周期短、运算精度高,硬件配置强等特点。
单片微型计算机(Single Chip Microcomputer)简称单片机,又称微控制器
(Microcontroller Unit)或嵌埋式控制器(Embeded Controller),是将计算机的基本部件微型化,使之集成一块芯片上的微机。片内含有CPU、ROM、RAM、并行I/O、串行I/O、定时器/计数器、中断控制、系统时钟及系统总线等。
根据以上DSP与单片机的特点,我们就可以看出单片机多用于一些简单的数字信号处理,而DSP更适合于数字信号处理软件和硬件资源,用于比较复杂的数字信号处理算法。所以要满足两者处理器在不同程度上的需求,两者的汇编语言也就对应的不相同了。
本文以MCS-51单片机和TMS320C54系列DSP来比较两者在汇编语言上的不同之处。
一、寻址方式的区别
在汇编语言的指令格式上两者相同,都是标号:指令 操作数1,操作数2,操作数3;注释。但DSP汇编语言指令的数据传递是从左至右,单片机是从右至左。
在寻址方式上,DSP有七种寻址方式,立即数寻址、绝对地址寻址(数据存储器寻址、程序存储器地址寻址、端口地址寻址、*(lk)寻址)、累加器寻址、直接寻址、间接寻址(单操作数寻址、循环寻址、位倒序寻址、双操作数寻址)、存储器映射寄存器寻址,堆栈寻址。单片机有8种寻址方式,寄存器寻址、直接寻址、立即寻址、寄存器间接寻址、基址寄存器加变址寄存器间接寻址、相对寻址、位寻址、页面寻址。可见两者在寻址方式上大有不同。下边对相同的寻址方式分别在DSP和单片机上的区别。
对于DSP的立即寻址,指令中必须有一个立即操作数。立即数有两种方式,一种是短立即数(3、5、8或9的数据),另一种是长立即数(16位的数据)。立即数可以包含在单字和双字指令中,单字指令中立即数是3、5、8或9的数据,双字指令中立即数是16位的数。
例:LD #25,A
对于单片机的立即数寻址,立即数寻址方式中操作数包含在指令字节中,操作码后紧跟的是一字节或两字节操作数(立即数),即操作数以指令字节形式存放在程序存储器中,在编写程序时用“#”表示。
例:MOV A,5AH
MOV A,#5AH
由对比和例子可以看出,两者在立即数寻址上写法格式不同,用的指令也不同,相同点是都用“#”符号表示立即数寻址。
对于直接寻址,DSP在直接寻址方式中,指令代码包含了数据存储地址的低7位。这7位作为偏移地址与数据页指针DP或者堆栈指针SP共同组成了一个16位的数据存储地址。直接寻址用符号或常数来确定偏移值。
例:把存储单元SAMPLE中的内容加到累加器B中去。
ADD SAMPLE,B
而单片机的直接寻址,直接寻址方式在指令中直接给出操作数所在存储单元的地址,该地址指出了参与运算或传送的数据所在的字节单元或位的地址,直接寻址方式访问以下三种空间:
1.特殊功能寄存器。
2.内部数据存储的低128字节。
3.位地址空间。
用于操作的称为直接寻址,用于访问字节的称为直接字节寻址。
例:把片内RAM中的5AH这个地址单元的内容送到累加器A。
MOV A,5AHfv
对比这两种相同的寻址方式,可以看出两者最直观的区别是格式的不同,DSP是将操作数放在存储地址之前,单片机则相反。在DSP中直接寻址还可以利用堆栈指针作为数据存储地址,同时指令也不同,DSP利用相对应的指令,单片机则一般都是MOV作为传送指令。两者对直接寻址都没有特殊的符号表示。
对于寄存器间接寻址,DSP的间接寻址有4种类型:单操作数寻址、循环寻址、位倒序寻址和双操作数寻址。在间接寻址中,64K×16位数据空间都可以通过辅助寄存器中的16位地址进行访问。C54xx系列DSP有8个16位辅助寄存器(AR0-AR7)。两个辅助寄存器算数单元可以根据辅助寄存器的内容操作,完成无符号的16位数据操作数,可以再一条指令中访问两个数据存储单元。例:*ARx-(访问后ARx中的地址减1)、*ARx(lk)等,操作语法有很多种,实现的功能也不相同。
单片机的寄存
原创力文档


文档评论(0)