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

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

ID:39962200

大小:184.50 KB

页数:45页

时间:2019-07-16

[工学]dsp-04寻址方式与指令系统_第1页
[工学]dsp-04寻址方式与指令系统_第2页
[工学]dsp-04寻址方式与指令系统_第3页
[工学]dsp-04寻址方式与指令系统_第4页
[工学]dsp-04寻址方式与指令系统_第5页
资源描述:

《[工学]dsp-04寻址方式与指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

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

4、据传递类(39条)A:状态寄存器操作:(2条)(装ARP、ARB、DP及标志位)(1)装状态寄存器ST0、ST1LST#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/ARB66例:LST#1,00H;(DP=6)页地址=000000110B直接地址=00H存储

5、器地址=300H执行前执行后300=E1BCH300=E1BCHST0=0406HST0=E406H;改变ARPD10=1ST1=09ECHST1=E1FCHD5~D8=1D2,D3=1ARP=0ARP=7例:LST#0,*-AR1:*为当前寄存器的间接寻址执行前执行后ARP=4ARP=7;AR1忽略AR4=3FFAR4=3FFH3FF=EE043FF=EE04ST0=EE00ST0=EE04;ARP=7ST1=E7ECST1=E7EC67(2)SST存贮状态寄存器SST#m,dir;ST0/ST1数据存贮器,直接方式下无论DP多少,总被存放在

6、0页,且不改变DP。SST#m,ind[,ARn];间接寻址中可存放在任何一页例:SST#1,*,ART前后ARP=0ARP=7AR0=300AR0=300300=0300=2580ST1=2580ST1=2580例:SST#0,96;指向0页的96(60H)前后ST0=0A408ST0=0A408H60H=0A60H=0A408H68B:辅助寄存器操作:(6条)1.装载ARLARARX,dir;dir(ind)(K)ARXLARARX,ind[,ARn];无论SXM何值均不扩展符号LARARX,#KLARARX,#Lk例:LARAR4,*_;

7、执行中指定AR与ARP指定的AR相同,则不减量前后ARP=4ARP=4AR4=300AR4=32300=32300=3269例:LARAR0,16;DP=6前后310H=18H310H=18HAR0=6HAR0=18H例:LARAR6,#3FFFH前后AR6=0HAR6=3FFFH2.存贮ARSARARX,dir;ARXdir(ind)SARARX,ind[,ARn];执行中要修改,且要减、增量例:SARAR0,*+,前后ARP=0ARP=0AR0=401401=401401=0AR0=402例:SARARO,30;(DP=6)ARO=37HA

8、RO=37H31EH=18H31EH=37H703.修改ARPMARdirMARind[,ARn];修改ARP,且原ARP复制到ARB例子:MAR*,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。