第3章汇编语言指令系统 在DSP应用中,虽然可以使用C/C++高 级语言编程,降低了对编程者的要求,但 在一些实时性要求高的场合仍然需要采用 汇编编程,以充分利用DSP丰富的硬件资 源,发挥它的实时运算能力。用汇编语 言编程,要求编程者对DSP的低层有充分 的了解,包括硬件结构、存储器空间模型 和Wo口的组织等。同时又要求编程者对 指令系统有深刻的了解
在DSP应用中,虽然可以使用C/C++高 级语言编程,降低了对编程者的要求,但 在一些实时性要求高的场合仍然需要采用 汇编编程,以充分利用DSP丰富的硬件资 源,发挥它的实时运算能力。 用汇编语 言编程,要求编程者对DSP的低层有充分 的了解,包括硬件结构、存储器空间模型 和I/O口的组织等。同时又要求编程者对 指令系统有深刻的了解。 第3章 汇编语言指令系统
第3章汇编语言指令系统 目录: 3.1C54x汇编语言指令集介纽 3.2寻址方式 3.3C54x系列DSP的指令系统 参考:TMS320c54 K DSP Reference set Volume 2 Mnemonic Instruction Set. pdf spru72c,2001,T官网
目录: 3.1 C54x汇编语言指令集介绍 3.2 寻址方式 3.3 C54x系列DSP的指令系统 第3章 汇编语言指令系统 参考:TMS320C54x DSP Reference Set Volume 2 Mnemonic Instruction Set.pdf, spru172c, 2001, TI官网
第3章汇编语言指令系统 31c54x汇编语言指令集介绍 c54X指令集包括: 汇编语言指令 >汇编伪指令 >宏指令 本章介绍c54XDSP的汇编语言指令系统。与 其它CPU的指令集相同,汇编语言指令又称为硬 指令,它们在汇编和连接后形成可执行的机器码, 供DSP进行运算和其它操作
C54x 指令集包括: 本章介绍C54x DSP的汇编语言指令系统。与 其它CPU的指令集相同,汇编语言指令又称为硬 指令,它们在汇编和连接后形成可执行的机器码, 供DSP进行运算和其它操作。 ➢ 汇编语言指令 ➢ 汇编伪指令 ➢ 宏指令 第3章 汇编语言指令系统 3.1 C54x汇编语言指令集介绍
第3章汇编语言指令系统 BIT Xmem BITC 31.1指令系统中的符号、缩写及操作符 >指令系统中采用的符号和缩写如下列表中所示 序号 符号 含 义 A 累加器A ALU 算术逻辑运算单元 123456789 AR 「泛指通用辅助寄存器 ARX 指定某一辅助寄存器ARo~AR7 ARP sT0中的3位辅助寄存器指针 ASM ST1中的5位累加器移位方式位16~15 B 累加器B BRAF sT1中的块重复操作标志位 BRC 块重复操作计数器 10BTc或 bit code 用于测试指令,指定数据存储器单元中 的哪一位被测试取指范围:0-15
第3章 汇编语言指令系统 3.1.1 指令系统中的符号、缩写及操作符 ➢ 指令系统中采用的符号和缩写如下列表中所示 序号 符 号 含 义 1 A 累加器A 2 ALU 算术逻辑运算单元 3 AR 泛指通用辅助寄存器 4 ARx 指定某一辅助寄存器AR0~AR7 5 ARP ST0中的3位辅助寄存器指针 6 ASM ST1中的5位累加器移位方式位-16~15 7 B 累加器B 8 BRAF ST1中的块重复操作标志位 9 BRC 块重复操作计数器 10 BITC或bit_code 用于测试指令,指定数据存储器单元中 的哪 一位被测试,取指范围:0~15 BIT Xmem, BITC
第3章汇编语言指令系统 31.1指令系统中的符号、缩写及操作符(续) 序号符号 含 义 11c16sT1中的双16位双精度算术运算方式位 12csT0中的进位位 13cc2位条件码(0cC≤3) 14 CMPT ST1中的AR修正方式位 15 CPL ST1中的直接寻址编辑标志位 16cond表示一种条件的操作数,用于条件执行指令 17|d,[D延时选项 18DAB|D地址总线 19 DAR DAB地址寄存器 20dmad|16位立即数数据存储器地址(0-65535)
第3章 汇编语言指令系统 序号 符 号 含 义 11 C16 ST1中的双16位/双精度算术运算方式位 12 C ST0中的进位位 13 CC 2位条件码(0CC3) 14 CMPT ST1中的ARP修正方式位 15 CPL ST1中的直接寻址编辑标志位 16 cond 表示一种条件的操作数,用于条件执行指令 17 [d],[D] 延时选项 18 DAB D地址总线 19 DAR DAB地址寄存器 20 dmad 16位立即数数据存储器地址(0~65535) 3.1.1 指令系统中的符号、缩写及操作符 (续)
第3章汇编语言指令系统 311指令系统中的符号、缩写及操作符(续) 序号符号 含 义 21 Dmem数据存储器操作数 22 DP sT0中的数据存储器页指针 0<DP<511 23 Dst 目的累加器(A和B) 24 dst 与dst相反的目的累加器 25 EABE地址总线 26 EAR EAB地址寄存器 27 extpmad__23位立即数程序存储器地址 28 FRCT ST中的小数方式位 29 h(A)累加器的高阶位(AH或BH) 30 HN ST中的保持方式位
第3章 汇编语言指令系统 序号 符 号 含 义 21 Dmem 数据存储器操作数 22 DP ST0中的数据存储器页指针 (0DP511) 23 Dst 目的累加器(A和B) 24 dst_ 与dst相反的目的累加器 25 EAB E地址总线 26 EAR EAB地址寄存器 27 extpmad 23位立即数程序存储器地址 28 FRCT ST1中的小数方式位 29 hi(A) 累加器的高阶位(AH或BH) 30 HM ST1中的保持方式位 3.1.1 指令系统中的符号、缩写及操作符 (续)
第3章汇编语言指令系统 311指令系统中的符号、缩写及操作符(续) 序号符号 含 义 31 IFR 中断标志寄存器 32 INTM ST1中的中断屏蔽位 33 K 少于9位的短立即数 34 k3 3位立即数(0≤k3≤7) 35 k5 5位立即数16≤k5≤15) 36 k9 9位立即数(0≤k9511) 37 k 16位长立即数 38 Lmem利用长字寻址的32位单数据存储器操作数 39mmr,MMR|存储器映像寄存器 MMRX 40 MIMR 存储器映像寄存器,AR0~AR7或SP
第3章 汇编语言指令系统 序号 符 号 含 义 31 IFR 中断标志寄存器 32 INTM ST1中的中断屏蔽位 33 K 少于9位的短立即数 34 k3 3位立即数(0k37) 35 k5 5位立即数(-16k515) 36 k9 9位立即数(0k9511) 37 lk 16位长立即数 38 Lmem 利用长字寻址的32位单数据存储器操作数 39 mmr,MMR 存储器映像寄存器 40 MMRx, MMRy 存储器映像寄存器,AR0~AR7或SP 3.1.1 指令系统中的符号、缩写及操作符 (续)
第3章汇编语言指令系统 XC n, cond [, cond [ cond] RSBXN. SBIT D 311指令系统中的符号、缩写及操作符(续) 序号符号 含 义 41 nXc指令后面的字数,取1或2 42 N指定状态寄存器,N=0为ST0,N=1为ST1 43_oAsT0中的累加器A溢出标志 44_ OVB ST0中的累加器B溢出标志 45 ODst指定目的累加器(A或B的溢出标志 46 ODst另一个目的累加器(A或B的溢出标志 47ovsc指定源累加器A或B的溢出标志 48oMM|sT1中的溢出方式位 49 PA16位立即数端口地址(0≤PA≤65535 50PAR程序存储器地址寄存器
第3章 汇编语言指令系统 序号 符 号 含 义 41 n XC指令后面的字数,取1或2 42 N 指定状态寄存器,N=0为ST0,N=1为ST1 43 OVA ST0中的累加器A溢出标志 44 OVB ST0中的累加器B溢出标志 45 OVdst 指定目的累加器(A或B)的溢出标志 46 OVdst_ 另一个目的累加器(A或B)的溢出标志 47 OVsrc 指定源累加器(A或B)的溢出标志 48 OVM ST1中的溢出方式位 49 PA 16位立即数端口地址(0PA65535) 50 PAR 程序存储器地址寄存器 3.1.1 指令系统中的符号、缩写及操作符(续) XC n, cond [, cond [, cond] ] RSBX N, SBIT
第3章汇编语言指令系统 31.1指令系统中的符号、缩写及操作符(续) 序号符号 含 义 51 PC 程序计数器 52 pmad16位立即数程序存储器地址 0≤pmad≤65535) 34 pmem程序存储器操作数 PMsT处理器工作方式状态寄存器 55prog程序存储器操作数 56 [R] 舍入选项 57 rnd 舍入 Round 58 RC 重复计数器 59 RTN快速返回寄存器 60REA块重复结束地址寄存器
第3章 汇编语言指令系统 序号 符 号 含 义 51 PC 程序计数器 52 pmad 16位立即数程序存储器地址 (0pmad65535) 53 pmem 程序存储器操作数 54 PMST 处理器工作方式状态寄存器 55 prog 程序存储器操作数 56 [R] 舍入选项 57 rnd 舍入 Round 58 RC 重复计数器 59 RTN 快速返回寄存器 60 REA 块重复结束地址寄存器 3.1.1 指令系统中的符号、缩写及操作符 (续)
第3章汇编语言指令系统 RSBXN. SBIT D 311指令系统中的符号、缩写及操作符(续) 序号符号 含 义 61RSA块重复起始地址寄存器 62 SBIT 用于指定状态寄存器位的4位地址 0~15) 63SHFT「4位移位值(0-15) 64 SHFT5位移位值(-16-15) 65 Sind间接寻址的单数据存储器操作数 66 smem16位单数据存储器操作数 67 SP 堆栈指针寄存器 68 src 源累加器(A或B) 69sT0,ST1状态寄存器0,状态寄存器1 70 SXM ST中的符号扩展方式位
第3章 汇编语言指令系统 序号 符 号 含 义 61 RSA 块重复起始地址寄存器 62 SBIT 用于指定状态寄存器位的4位地址 (0~15) 63 SHFT 4位移位值(0~15) 64 SHIFT 5位移位值(-16~15) 65 Sind 间接寻址的单数据存储器操作数 66 Smem 16位单数据存储器操作数 67 SP 堆栈指针寄存器 68 src 源累加器(A或B) 69 ST0,ST1 状态寄存器0,状态寄存器1 70 SXM ST1中的符号扩展方式位 3.1.1 指令系统中的符号、缩写及操作符(续) RSBX N, SBIT