3.1C54x汇编语言指令集介绍 3.1.1指令系统中的符号、缩写及操作符(续) 序号符号 含 义 71 T 暂存器 72 TC ST0中的测试控制标志 73 TOS 堆栈顶部 74 TRN 状态转移寄存器(比较选择存储CSST单元内) 75 TS 由T寄存器的5~0位所规定的移位数(-16~31) 76 uns 无符号数 77 XF ST1中的外部标志状态位 78 XPC 程序计数器扩展寄存器 79 Xmem 16位双数据存储器操作数,用于双数据操作 数指令和单数据操作指令 80 Ymem 16位双数据存储器操作数,用于双数据操作 徵指令
CMPS src, Smem; 指令影响TRN(该寄存器用于Viterbi 算法) 3.1 C54x汇编语言指令集介绍 序号 符 号 含 义 71 T 暂存器 72 TC ST0中的测试/控制标志 3.1.1 指令系统中的符号、缩写及操作符(续) 11 73 TOS 堆栈顶部 74 TRN 状态转移寄存器(比较选择存储CSST单元内) 75 TS 由T寄存器的5~0位所规定的移位数(-16~31) 76 uns 无符号数 79 Xmem 16位双数据存储器操作数, 用于双数据操作 数指令和单数据操作指令 80 Ymem 16位双数据存储器操作数,用于双数据操作 数指令 77 XF ST1中的外部标志状态位 78 XPC 程序计数器扩展寄存器
3.1C54x汇编语言指令集介绍 3.1.1指令系统中的符号、缩写及操作符(续) 序号 符号 含 义 81 --SP 堆栈指针值减1 82 ++SP 堆栈指针值加1 83 ++PC 程序计数器值加1 ++PC只出现在Table2-14.Interrupt Instructions TMS320C54x DSP Reference Set Volume 2: Mnemonic Instruction Set--spru172c INTR K;--SP++PC=TOS(非常见注释), TRAP K;--SP,+PC TOS, 表示(SP)-1→SP;(PC)+1→TOS(常用TOS=++PC) 12
3.1 C54x汇编语言指令集介绍 序号 符 号 含 义 81 – –SP 堆栈指针值减1 82 ++SP 堆栈指针值加1 83 ++PC 程序计数器值加1 3.1.1 指令系统中的符号、缩写及操作符 (续) 12 INTR K ; – –SP, + + PC = TOS(非常见注释), TRAP K ; – –SP, + + PC = TOS, + + PC只出现在Table 2–14. Interrupt Instructions ( TMS320C54x DSP Reference Set Volume 2: Mnemonic Instruction Set--spru172c ) 表示(SP) –1 →SP ;(PC) +1 →TOS(常用TOS= + + PC )
3.1.1指令系统中的符号、缩写及操作符 >指令系统中的运算符号及优先级如表3-2中所示 序号符号 运算功能 求值顺序 1 取正、取负、按位求补、逻辑非 从右至左 2 % 乘法、除法、求模 从左至右 3 + 加法、减法 从左至右 4 A 指数 从左到存 5 << >> 左移、右移 从左至右 6 ≤ 小于、小于等于 从左至右 7 > ≥ 大于、大于等于 从左至右 8 ≠= 不等于 从左至右 9 & 按位与运算(AND) 从左至右 10 按位异或运算(exclusive OR 从左至右 11 按位或运算(OR) 从左至右 14
3.1.1 指令系统中的符号、缩写及操作符 ➢ 指令系统中的运算符号及优先级如表3-2中所示 序号 符 号 运算功能 求值顺序 1 + - ~ ! 取正、取负、按位求补、 逻辑非 从右至左 14 9 & 按位与运算(AND) 从左至右 10 ∧ 按位异或运算(exclusive OR) 从左至右 11 | 按位或运算(OR) 从左至右 4 ^ 指数 从左到右 5 << >> 左移、右移 从左至右 6 < 小于、小于等于 从左至右 7 > 大于、大于等于 从左至右 8 != 不等于 从左至右 2 * / % 乘法、除法、求模 从左至右 3 + - 加法、减法 从左至右
3.1C54x汇编语言指令集介绍 3.1.2汇编语言指令举例 本节以LD装载指令为例,说明指令的格式和其它 些有用信息。 >汇编语法 (1)LD Smem,dst >操作数 O001000DIAAAAAAA >指令代码 (2)LD Xmem,SHFT,dst >执行 10 010 1 0 D XXXX S HF T >状态位 >说明 (3)LD #Ik [SHFT ]dst >指令字长 1111000D0010SHFT >周期数 16-bit constant 15
本节以LD装载指令为例,说明指令的格式和其它 一些有用信息。 ➢ 汇编语法 ➢ 操作数 ➢ 指令代码 ➢ 执行 ➢ 状态位 ➢ 说明 ➢ 指令字长 ➢ 周期数 3.1.2 汇编语言指令举例 (1)LD Smem, dst 0 0 0 1 0 0 0 D I A A A A A A A 1 1 1 1 0 0 0 D 0 0 1 0 S H F T 16-bit constant 1 0 0 1 0 1 0 D X X X X S H F T (3)LD #lk [, SHFT ], dst (2)LD Xmem, SHFT, dst 3.1 C54x汇编语言指令集介绍 15
3.1.2汇编语言指令举例:LD命令 Load Accumulator With Shift Load T/DP/ASM/ARP Syntax 1: LD Smem.dst Syntax 1:LD Smem,T 汇编语法 2: LD Smem.TS.dst 2:LD Smem,DP 3: LD Smem,16,dst 3:LD #k9.DP 4: LD Smem [SHIFT],dst 4:LD #k5.ASM 5: LD Xmem,SHFT dst 5:LD #k3,ARP 6: LD #K.dst 6:LD Smem,ASM 7: LD #Ik [SHFT],dst 8: LD #lk.16.dst 9 LD src,ASM[,dst] 操作数 10: LD src [SHIFT].dst Operands For additional load instructions,see Load T/DP/ASM/ARP on page 4-70 Smem: Single data-memory operand 0≤K≤255 Xmem: Dual data-memory operand -32768≤Ik≤32767 src,dst: A(accumulator A) -16≤SHIFT≤15 B(accumulator B) 0≤SHFT≤15
3.1.2 汇编语言指令举例: LD命令 16 汇编语法 操作数