ch3 指令系统.ppt

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch3 指令系统

加法指令的说明 ADD指令有10种句法。如果目的累加器dst被指定,则结果存放在dst中;如果没有被指定,则结果存放在源累加器src中。移位操作数的范围为?16≤SHIFT≤15,0≤SHFT≤15。正数为左移位,左移位低位添0,高位受SXM位影响。如果SXM=1,则高位进行符号扩展;如果SXM=0,则高位清零。负数为右移位,受SXM位影响。如果SXM=1,则高位进行符号扩展;如果SXM=0,则高位清零。 第三章:C54x指令系统__3.4 指 令 系 统 (1) 加法指令(13条)《表3-6》 说明:① 不同的加法指令用途不同; ADD:不带进位; ADD〈〈:不带进位、移位; ADDC:带进位; ADDM:专用于立即数; ADDS:无符号数; ② 小数表示:通常安排在最高位后。 第三章:C54x指令系统__3.4 指 令 系 统 加法指令举例 【例3.1】 ADD *AR3+, 14, A;将AR3所指的数据存储单元内容,左移14位与A相加,结果放A中,AR3加1。 第三章:C54x指令系统__3.4 指 令 系 统 (2) 减法指令(13条)《表3-7》 说明:①SUBS用于无符号数的减法运算; SUBB用于带借位的减法运算(如32位扩展精度的减法); SUBC为条件减法 . ②使用SUBC重复16次减法,就可以完成除法功能。 被除数-(除数15):够减:被除数左移,商+1; 不够减:被除数左移,商+0; 注:被除数和商共用一个R → B:随着B的左移被除数逐渐退出,商从右→左逐渐进入。 第三章:C54x指令系统__3.4 指 令 系 统 减法指令举例 【例3.2】利用SUBC完成整数除法(TEMP1/TEMP2) ? LD TEMP1, B ;将被除数TEMP1装入B累加器的低16位 RPT #15 ;重复SUBC指令16次 SUBC TEMP2, B ;使用SUBC指令完成除法 STL B, TEMP3 ;将商(B累加器的低16位)存入变量TEMP3 STH B, TEMP4 ;将余数(B累加器的高16位)存入变量TEMP4 第三章:C54x指令系统__3.4 指 令 系 统 (3) 乘法指令(10条)《表3-8》 说明: ① 不同的乘法指令完成不同的功能 MPY:普通乘指令; MPYR:带四舍五入指令; MPYA: A累加器高端参与乘法; MPYU:无符号乘法; SQUR:平方; ② 小数乘法 将FRCT设置为1,系统自动将乘积结果左移1位。 直接寻址举例 直接寻址举例 例2:数据存储器存储数据如图所示,采用堆栈指针SP直接寻址,求堆栈中距栈顶两个数x, y的单元的和。(SP=0200H) 第三章:C54x指令系统__3.3 寻 址 方 式 5. 间接寻址 含义:按辅助R中的内容寻址数据M 用途:主要用在需要存储器地址以步进方式连续变化的场合。 说明:(1)地址形式: AR0~AR7→ (2)间接寻址方式非常灵活:在一条指令中访问两个DM单元(能在两个独立的M读数据,或在一个M读另一个M单元写) (3)间接寻址有两种方式。 单操作数间接寻址:从存储器中读或写一个单16位数据操作数。 双操作数间接寻址:在一条指令中访问两个数据存储单元。 间接寻址 利用辅助寄存器内容作为地址指针访问存储器,C54系列DSP具有8个16位辅助寄存器(AR0~AR7)。 寻址范围: 每一个辅助寄存器可以寻址64K字的数据存储空间中的任何一个单元。 利用两个辅助寄存器算术运算单元(ARAU0和ARAU1),对辅助寄存器的内容进行操作,可以完成16位无符号数算术运算。 特点: ① 能从存

您可能关注的文档

文档评论(0)

xiaolan118 + 关注
实名认证
内容提供者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档