- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 寻址方式与指令系统 3.1 寻址方式 3.2 C2xx的指令集 3.3 C2xx的伪指令 3.4 宏指令 3.1 寻址方式 寻址方式:获取操作数的方式。 C2xx提供了三种寻址方式: 1)立即寻址方式:指令中直接给出操作数。 长立即寻址:操作数为16位。 短立即寻址:操作数为8、9、13位。 2)直接寻址方式:把指令字的低7位和数据页指针(DP)的内容连接起来,得到16位数据存储单元地址。 3)间接寻址方式:当访问数据存储单元时,通过片上8个16位辅助寄存器来产生访问地址。 3.1 寻址方式 3.1.1 立即寻址方式 立即寻址方式指令中直接给出操作数,无须通过访问数据存储器来获得。又包括: 1)短立即寻址:操作数为8、9、13位。指令一般为单字指令,操作数嵌在指令字的低位中。 例如:RPT #99; NOP ;把NOP指令连续执行100次 3.1 寻址方式 2)长立即寻址:操作数为16位。指令为双字指令,操作数为第二个字。 例如:ADD #16384,2;(将立即数左移2位,再与累加器内容相加)。 3.1 寻址方式 3.1.2 直接寻址方式 直接寻址用于数据存储器的寻址。DSP把数据存储器划分为0-511共计512个数据页,每个数据页涵盖128个存储单元。共计全部64K数据存储空间。 使用两个片内器件来进行直接寻址,它们是: ①状态寄存器ST0:它的低9位提供数据页指针(DP),用来指示数据页。 ②指令寄存器:CPU在读取指令时,指令代码被装入指令寄存器IR。其高8位提供操作指令代码,低7位提供数据在数据页内部的页内偏移量。 3.1 寻址方式 下面是IR的位布置图: 其中,Bit7表示寻址方式:0代表直接寻址,1代表间接寻址。 实际的访问地址是DP和页内偏移量合并而成的: 因此,我们在使用直接寻址时,必须按如下步骤进行: ①设置数据页:将数据页代码装入DP。如: LDP #32 ;把DP设置为32。 ②指定偏移量:7位页内偏移量由指令操作数提供。如: ADD #1h ;把页内偏移量为1的内容(页内第2单元)和累加器目前的内容相加。 3.1 寻址方式 直接寻址方式的指令代码和16位数据存储器地址形成过程如下: 3.1 寻址方式 例1: 3.1 寻址方式 例2: 3.1 寻址方式 3.1.3 间接寻址方式 (一)间接寻址概述 X24X片内有8个辅助寄存器AR0-AR7,提供了灵活强大的寻址能力。用户通过当前辅助寄存器的16位地址,可以访问64K字的数据存储器。 AR、APR的值可以通过MAR指令(修改辅助寄存器和ARP值)或LST(把数据存储器的值写入ST0)来修改。也可以通过任何支持间接寻址的命令把修改ARP作为辅助操作来执行。 使用这8个寄存器进行寻址的方法,也叫做寄存器间接寻址。方法是通过程序装载辅助寄存器指针(状态寄存器ST0的高三位)ARP,给出辅助寄存器编号0-7,从而指向一个辅助寄存器——当前辅助寄存器。当前辅助寄存器中包含了要访问(读或写)的数据存储单元的地址,根据指令要求读或写以确定送往DRAB或DWAB。 当指令使用当前AR操作完成后,其值可以由ARAU按照无符号16位算术运算规则自动进行增减(1或其它整数) 。 3.1 寻址方式 (二)7种间接寻址方式 间接寻址方式的当前AR所包含的地址使用结束后,要根据指令需求进行修改,为下一步操作做准备。系统提供了4种修改方法: ①无增减(*)。对当前辅助AR不做任何修改。 ②增加1或减少1(*+或*-)。对当前辅助AR的值加或减1。 ③按照索引量增加或减少(*0+或*0-)。把AR0的值当作索引量,从当前AR中增加或减去AR0的索引量。 ④按照索引量增加或减少并反向进位(*BR0+或*BR0-)。把AR0的值当作索引量,从当前AR中增加或减去AR0的索引量,并在加减过程中进行反向进位。一般用于快速傅立叶变换(FFT)算法。 3.1 寻址方式 (三)当前辅助寄存器的修改 所有指令都支持间接寻址,其中一些还可以在修改当前辅助AR的同时,在第二操作数中声明下一个当前辅助寄存器。这些指令执行时,将用一个新值装载辅助寄存器指针ARP,而旧的ARP值将被装入辅助寄存器指针缓冲器ARB(ST1高3位)。 例:声明当前辅助寄存器的例子 MAR *,AR1 ;向ARP装入1,使得AR1成为当前辅
您可能关注的文档
最近下载
- 物业安全生产培训PPT课件.pptx VIP
- 1.2掌握广西壮族服饰元素及特点(课件)《广西壮族服饰文化与创意设计》.pptx VIP
- 交流电气装置的接地规范.pdf VIP
- 创伤(救治)理论知识考核试题及答案.pdf VIP
- 47_DLT 584-2017《3kV~110kV电网继电保护装置运行整定规程》.pdf VIP
- 基于FAP启动子的表达载体及心肌纤维化药物筛选方法.pdf VIP
- 建设工程项目管理规范材料.doc VIP
- 中国设施农业的减碳增汇效应分析——基于1828个县域面板数据的实证研究.pdf VIP
- 小学体育与健康沪教版(五四学制)(2024)二年级全一册《第四课 运动场上我最棒》教学设计 .pdf
- GB50270-2010 输送设备安装工程施工及验收规范.docx VIP
文档评论(0)