第3章汇编语言指令系统 在DSP应用中,虽然可以使用C/C++高 级语言编程,降低了对编程者的要求, 但在一些实时性要求高的场合仍然需要 采用汇编编程,以充分利用DSP丰富的 硬件资源,发挥它的实时运算能力。 >用汇编语言编程,要求编程者对DSP的 低层有充分的了解,包括硬件结构、存 储器空间模型和O口的组织等。同时又 要求编程者对指令系统有深刻的了解。 山东大学生物医学工程刘忠国 1
山东大学生物医学工程刘忠国 1 第3章 汇编语言指令系统 ➢ 在DSP应用中,虽然可以使用C/C++高 级语言编程,降低了对编程者的要求, 但在一些实时性要求高的场合仍然需要 采用汇编编程,以充分利用DSP丰富的 硬件资源,发挥它的实时运算能力。 ➢ 用汇编语言编程,要求编程者对DSP的 低层有充分的了解,包括硬件结构、存 储器空间模型和I/O口的组织等。同时又 要求编程者对指令系统有深刻的了解
第3章汇编语言指令系统 3.1C54x汇编语言指令集介绍 3.2寻址方式 3.3C54x系列DSP的指令系统 参考:TMS320C54 x DSP Reference Set Volume 2:Mnemonic Instruction Set.pdf, spru172c,2001,TI官网 2
3.1 C54x汇编语言指令集介绍 3.2 寻址方式 3.3 C54x系列DSP的指令系统 第3章 汇编语言指令系统 参考:TMS320C54x DSP Reference Set Volume 2: Mnemonic Instruction Set.pdf, spru172c, 2001, TI官网 2
3.1C54x汇编语言指令集介绍 C54x汇编语言源程序指令包括: >汇编语言指令Assembly Language Instructions >汇编伪指令Assembler Directives >宏指令Macro Directives 本章介绍C54xDSP的汇编语言指令系统。与 其它CPU的指令集相同,汇编语言指令又称为硬 指令,它们在汇编和连接后形成可执行的机器码, 供DSP进行运算和其它操作。 TMS320C54x assem bly language source programs consist of source statements that can contain assembler directives,assembly language instructions,macro directives,and comments. 3 TMS320C54x Assembly Language Tools User's Guide--SPRU102F
C54x汇编语言源程序指令包括: ➢ 汇编语言指令Assembly Language Instructions ➢ 汇编伪指令Assembler Directives ➢ 宏指令Macro Directives 3.1 C54x汇编语言指令集介绍 TMS320C54x assembly language source programs consist of source statements that can contain assembler directives, assembly language instructions, macro directives, and comments. 本章介绍C54x DSP的汇编语言指令系统。与 其它CPU的指令集相同,汇编语言指令又称为硬 指令,它们在汇编和连接后形成可执行的机器码, 供DSP进行运算和其它操作。 3 TMS320C54x Assembly Language Tools User’s Guide--SPRU102F
3.1C54x汇编语言指令集介绍 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 4
5 ARP ST0中的3位辅助寄存器指针 6 ASM ST1中的5位累加器移位方式位-16~15 BIT Xmem, BITC 3.1 C54x汇编语言指令集介绍 4 3.1.1 指令系统中的符号、缩写及操作符 序号 符 号 含 义 1 A 累加器A 2 ALU 算术逻辑运算单元 3 AR 泛指通用辅助寄存器 4 ARx 指定某一辅助寄存器AR0~AR7 7 B 累加器B 8 BRAF ST1中的块重复操作标志位 9 BRC 块重复操作计数器 10 BITC或bit_code 用于测试指令,指定数据存储器单元中 的哪 一位被测试,取指范围:0~15
3.1C54x汇编语言指令集介绍 3.1.1指令系统中的符号、缩写及操作符(续) 序号 符号 含 义 11 C16 ST1中的双16位/双精度算术运算方式位 12 C ST0中的进位位 13 cc 2位条件码(0sCC≤3) CMPR CC.ARx 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 C54x汇编语言指令集介绍 序号 符 号 含 义 11 C16 ST1中的双16位/双精度算术运算方式位 12 C ST0中的进位位 3.1.1 指令系统中的符号、缩写及操作符 (续) 5 13 CC 2位条件码(0CC3) CMPR CC, ARx 16 cond 表示一种条件的操作数,用于条件执行指令 17 [d],[D] 延时选项 14 CMPT ST1中的ARP修正方式位 15 CPL ST1中的直接寻址编辑标志位 18 DAB D地址总线 19 DAR DAB地址寄存器 20 dmad 16位立即数数据存储器地址(0~65535)