[工学]dsp-04寻址方式与指令系统

上传人:tia****nde 文档编号:70784224 上传时间:2019-01-18 格式:PPT 页数:45 大小:379.81KB
返回 下载 相关 举报
[工学]dsp-04寻址方式与指令系统_第1页
第1页 / 共45页
[工学]dsp-04寻址方式与指令系统_第2页
第2页 / 共45页
[工学]dsp-04寻址方式与指令系统_第3页
第3页 / 共45页
[工学]dsp-04寻址方式与指令系统_第4页
第4页 / 共45页
[工学]dsp-04寻址方式与指令系统_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《[工学]dsp-04寻址方式与指令系统》由会员分享,可在线阅读,更多相关《[工学]dsp-04寻址方式与指令系统(45页珍藏版)》请在金锄头文库上搜索。

1、61,第四章 汇编语言寻址方式及指令系统,格式:操作码 操作数 ;注释 共86条: 数据传送类(39条) 算术运算类 (19条)(加法4条,减法5条,乘法6条,平方2条, 标准化2条、) 逻辑运算类(9条) 分支转移类(19条),62,DSP寻址方式有三种:立即、直接、间接 1立即寻址: (1)短立即寻址:单字指令,指令中给出8、9、13位常数作为 操作数 一般立即数前加“#”。例:RPT #99;紧跟RPT后的指令 执行100次 (2)长立即寻址:双字指令,给出16位立即数 例:ADD #16384,2;将16384左移2位后与累加器相加, 结果送累加器。,63,2直接寻址: 对数据存贮器的

2、访问,64K空间分为512页,由STO的9位确定 页面指针DP。由指令提供页内的128个字地址偏移量,占7位。 由DP+偏移量=16位直接地址。复位时,系统对DP不进行初始 化,由用户进行初始化。 例:LDP #4 ;DP=4页 地址为:200H-27FH ADD 9H,5 ;(200H+9)的内容左移5位后与累加器相加, 结果给累加器。,64,3间接寻址: 由AR0-AR7作为间接寄存器,ARP的值(3位)作为当前辅 助寄存器。 ARAU(辅助寄存器算术单元)对辅助寄存器进行运算、修改 不占用CPU时间。 有4种操作: 不增不减 增减 增减一个变址量 反向进位方式增减一个变量值 (反向进位方

3、式:由高位开始运算,进位(借位)给低位,适用 于FFT算法。),65,间接寻址七种操作方式: 方式 操作数符号 不增不减 * 增1 *+ 减1 *- 加变量值 *0+ 减变数值 *0- 反向进位加变址量 *BRO+ 反向进位减变址量 *BRO-,例 ADD *+,8,AR4; 当前AR内容所指数据存贮器单元的内容左移8位后与累加器相加 当前辅助寄存器内容加1 AR4为下一次当前AR,AR内容所指数据存贮器地址内容加载暂时寄存器(TREG),AR内容加载后AR内容1,AR内容加载后AR内容ARO的内容,AR加载后,反向进位方式将当前AR内容ARO的内容,66, 5.1 数据传递类(39条),A:

4、状态寄存器操作:(2条) (装ARP、ARB、DP及标志位) (1)装状态寄存器ST0、ST1 LST #m, dir ;直接寻址,dir为常数形式的直接地址 LST #m, ind,ARn ;间接寻址,ind为辅助寄存器名 *m=0,选择ST0,m=1,选择ST1 *操作不影响1NTM。(D9位) *装ST0时,只影响ARP,不影响ARB 装ST1时,即送ARB,也送ARP *间接寻址时,虽然指定下一个ARn,但被忽略,将ST0/1中的 最高三位送ARP/ARB,67,例:LST #1,00H;(DP=6)页地址=000000110B 直接地址=00H 存储器地址=300H 执行前 执行后

5、300=E1BCH 300=E1BCH ST0=0406H ST0=E406H;改变ARP D10=1 ST1=09ECH ST1=E1FCH D5D8=1 D2,D3=1 ARP=0 ARP=7 例:LST #0,*-AR1 :*为当前寄存器的间接寻址 执行前 执行后 ARP=4 ARP=7;AR1忽略 AR4=3FF AR4=3FFH 3FF=EE04 3FF=EE04 ST0=EE00 ST0=EE04;ARP=7 ST1=E7EC ST1=E7EC,68,(2)SST存贮状态寄存器 SST # m, dir ; ST0/ST1 数据存贮器,直接方式下无论DP多少, 总被存放在0页,且不

6、改变DP。 SST # m, ind , ARn ;间接寻址中可存放在任何一页,例:SST #1,*,ART 前 后 ARP=0 ARP=7 AR0=300 AR0=300 300=0 300=2580 ST1=2580 ST1=2580,例:SST #0,96 ;指向0页的 96(60H) 前 后 ST0=0A408 ST0=0A408H 60H=0A 60H=0A408H,69,B:辅助寄存器操作:(6条) 1 装载AR LAR ARX, dir ;dir(ind)(K) ARX LAR ARX, ind,ARn ; 无论SXM何值均不扩展符号 LAR ARX,#K LAR ARX,#Lk

7、 例:LAR AR4,*_ ;执行中指定AR与ARP指定的AR相同, 则不减量 前 后 ARP=4 ARP=4 AR4=300 AR4=32 300=32 300=32,70,例:LAR AR0,16;DP=6 前 后 310H=18H 310H=18H AR0=6H AR0=18H,例:LAR AR6,#3FFFH 前 后 AR6=0H AR6=3FFFH,2存贮AR SAR ARX,dir ;ARX dir(ind) SAR ARX, ind , ARn ;执行中要修改,且要减、增量,例: SAR AR0, *+, 前 后 ARP=0 ARP=0 AR0=401 401=401 401=0

8、 AR0=402,例: SAR ARO,30; (DP=6) ARO=37H ARO=37H 31EH=18H 31EH=37H,71,3. 修改ARP MAR dir MAR ind ,ARn ;修改ARP,且原ARP复制到ARB 例子:MAR *,AR1 例 MAR *+,AR5 .当前AR增量,并修改ARP 前 后 前 后 ARP=0 ARP=1 ARP=1 ARI=35 ARB=7 ARB=0 ARI=34 ARP=5 ARB=0 ARB = 1,72,4AR加 ADRK #K ; K为无符号数,运算与SXM、OVM无关, 结果与C.OV无关。 5. AR减 SBRK #K ; AR-

9、K-AR 6. AR比较测试 CMPR CM ; CM=00 测AR=ARO 01 测试ARARO 条件成立TC=1 10 测试ARARO 否则TC=0 11 测试AR=ARO,均 为 无 符 号 数,C 修改页指针(1条) LDP dir LDP ind,ARn LDP #K,例 LDP * , AR5 前 后 ARP=4 ARP=5 AR4=300 AR4=300 300=06H 300=06 DP=1FFH DP=06,73,D累加器的操作(6条) 1左移后装载累加器,32位送ACC LACC dir , shift LACC dir, 16 LACC ind , shift ,ARn

10、;移位时低位填0,高位受SXM影响 (0:不扩展,1:扩展) LACC ind ,16 , ARn LACC # k, shift,例:LACC * ,4 (SXM=0) 前 后 ARP=2 ARP=2 AR2=300 AR2=300 300=0FF 300=0FF ACC= ACC=0FF0,例:LACC 6,4 ; (DP=6 SXM=0) 406H=01 406H=01 ACC= . ACC=10,74,2装低16位且清高位。(不 扩展)。低16位送ACC。 LACL dir LACL ind , ARn ;无论SXM为何值,不扩 展符号 LACL # K 例:LACL *_ , AR4

11、 前 后 ARP=0 ARP=4 AR0=401 AR0=400 401=FFH 401=0FF A= A=0FF,3装高16位,清低位(且D15=1) ZALR dir ZALR ind , ARn 例:ZALR 3 ; CDP=32 (20H) 1003=03F0 1003H=03F0 ACC= ACC=03F08000H,75,4按规定左移后装累加器 LACT dir ;左移后装ACC,左移次数由TREG低4位决定, 可左移0-15位。 LACT ind , ARn ; 右移时受SMX影响 5存贮ACC高位 SACH dir , shift ;ACC32位左移0-7位后的高16位送数据存

12、贮器 SACH ind , shift ,ARn 6存贮ACC低位 SACL dir ,shift SACL ind ,shift , ARn,76,E数据传递:(6条) 1数据块传递。(数据存贮器 数据存贮器)块传递。 BLDD # lk , dir BLDD # lk , ind ,ARn BLDD dir , # lk ; # lk 为地址,块长度由RPT指令设置到RPTC中, 该指令不能用于存贮映射寄存器 目的地址送 BLDD ind , #lk ,ARn,例:BLDD *+, #321H,AR2 前 后 ARP=2 ARP=2 AR2=301 AR2=302 301=01 301=0

13、1 PC=321 PC=322 321=0F 321=01,例:BLDD #300H ,20H; (DP=6) 300H=0h 300H=0H 320H=0fh 320H=0H,77,2程序存贮器与数据存贮器的块传递 BLPD # Pdir , dir BLPD # Pdir , ind , ARn,例:BLPD # 800 ,*,AR7 前 后 程存贮器 800H=1111H 800=1111 ARP=00 ARP=7 AR0=310 AR0=310 310=100 310=1111,例:BLPD #800H,00H;(DP=6) 程序存贮器:800H=0FH 800H=0FH 数据存贮器:

14、300H=0H 300H=0FH,3片内数据存贮器间的数据传递(下传) DMOV dir 数据存贮器内容 数据存贮器+1的单元中, 用于Z-1延迟操作。 DMOV ind,ARn 例:DMOV 8 ;DP=6 308H=43H 308H=43H 309H=2H 309H=43H,78,4长立即数存贮到数据存贮器 SPLK # lk , dir ; 不影响状态位。 SPLK # lk , ind,ARn 例:SPLK #7FF0H , 3 ;DP=6 303=FE07 303H=7FF0H 5读表:(块操作) (ACC)程序存贮器 数据存贮器间的块操作。 (ACC)程序存贮器 数据存贮器 TBLR dir ;将程序存贮器单元中的字送指定的数据存贮器中 TBLR ind , ARn ;程序贮存器地址由ACC低位定义 执行RPT时,TBLR变为单周期,表地址 PC 例:TBLR 6 ;DP=4 ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号