资源描述:
《dsp 课件 第五章 tms320lf240x汇编指令系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章TMS320LF240x汇编指令系统4.1.1指令集分类(1)累加器、算术和逻辑指令(26条)(2)辅助寄存器和数据页面指针指令(6条)(3)TREG、PREG和乘法指令(20条)(4)转移指令(12条)(5)控制指令(15条)(6)I/O和存储器操作指令(8条)4.1汇编指令集概述4.1.2指令常用符号定义ACC累加器。AR辅助寄存器。ARXLAR和SAR指令中使用的3位的值,表示要加载(LAR)或要保存(SAR)哪个辅助寄存器的值。BITX在BIT测试指令中出现,代表4位二进制数,表示测试数据存储单元的某一位,若测试D1位,则BITX为11
2、10(1110B=15-1)。CM一个2位的值。CM=00----测试是否当前AR=AR0CM=01----测试是否当前ARAR0CM=11----测试是否当前AR≠AR0IAAAAAAA左边的I表示1位,反映使用直接寻址(I=0)还是间接寻址(I=1)。当使用直接寻址时,7个A是数据存储器地址的低7位;对于间接寻址,7个A是控制辅助寄存器操作的7位。IIIIIIII短立即寻址中使用的8位常数。IIIIIIIIILDP指令在短立即寻址中使用的9位常数。IIIIIIIIIIIIIMPY指令在短立即寻址中使用的
3、13位常数。INTR#表示数值0~31的5位值。INTR指令使用该值把程序转移到32个中断矢量地址之一。PMSPM指令拷贝到状态寄存器ST1中PM位的2位值。SHF3位的左移值。SHFT4位的左移值。TP条件执行指令用来表示以下4种条件的2位值。BIO引脚为低---TP=00;TC=1----TP=01;TC=0---TP=10;无条件---TP=11。ZLVCZLVC两个4位字段,每位表示以下条件:ACC=0---Z;ACC<0---L;溢出---V;进位---C+1word双字操作码的第2个字。包含16位常数。根据指令不同该常数可能是长立即数、程
4、序存储器地址、I/O端口或I/O映射的寄存器地址。4.2.1语法指令助记符;操作数缺省指令助记符dma[,shift];左移0~15位直接寻址指令助记符dma,16;左移16位直接寻址指令助记符ind[,shift[,ARn]];左移0~15位间接寻址指令助记符ind,16[,ARn];左移16位间接寻址指令助记符#k;短立即寻址指令助记符#lk[,shift];左移0~15位长立即寻址4.2指令句法描述说明(1)指令助记符是指令中的关键字,表示本条指令的操作类型,不能缺省。(2)指令助记符与操作数之间要用空格分开,各操作数之间要用“,”分开,操作数
5、可缺省。黑体字符表示在该类型的指令中必须写出的字符,其他字符为变量,指令中用数字和字符代替。各字符的含义如下:dma数据存储器地址的低7位,与数据页面指针(DP)构成一个完整的16位数据存储器地址。shift左移0~15位。ARnn为0~7,ARn指定下次的辅助寄存器。Ind选择*、*+、*-、*0+、*0-、*BR0+、*BR0-7中符号之一。#立即寻址方式中常用的前缀。数值前面带“#”,表示该数值为一个立即数;数值前面不带“#”,表示该数值为数据存储器地址的低7位。k8位短立即数lk16位长立即数[,x]操作数x是可选项[x1[,x2]]操作数x
6、1、x2是可选项操作部分提供了指令完成的操作序列,即描述当指令执行时所进行的处理过程。(r)寄存器或存储单元r的内容x→y数值x被赋予寄存器或存储单元yr(n:m)寄存器或存储单元r中的位n到位m(r(n:m))寄存器或存储单元r中的位n到位m的内容nnh指出nn表示一个十六进制数4.2.2操作4.2.3举例ADD*+,0,AR040302h2h2hARPAR4302hACCXC数据存储器指令执行前04hC00303h2hARPAR4302hACC0数据存储器指令执行后4.3指令集1、取累加器绝对值指令ABS句法:ABS功能:对累加器ACC的内容取绝
7、对值后送回累加器,并将进位位C清0操作:①(PC)+1→PC;②|(ACC)|→ACC;0→C例1:ABS2、带移位的加法指令ADD句法:ADDdma[,shift]ADDdma,16ADDind[,shift[,ARn]]ADDind,16[,ARn]ADD#kADD#lk[,shift]功能:将被寻址的数据存储器单元的内容或立即数左移0~16位后加到累加器中,移位时低位填0,高位填0(SXM=0)或符号扩展(SXM=1)操作:①(PC)+1→PC;②(ACC)+((数据存储器地址)*2shift)→ACC或(ACC)+k→ACC或(ACC)+lk
8、*2shift→ACC例2:ADD1,1;设DP=6,则数据存储器地址为0300h~037Fh,(ACC)+