31c54x汇编语言指令集介绍 31.1指令系统中的符号、缩写及操作符(续) 序号符号 含 义 71 T|暂存器 72Tc|sT0中的测试控制标志 73Tos堆栈顶部 74TRN状态转移寄存器(比较选择存储CSST单元内) 75Ts由T寄存器的5-0位所规定的移位数-16-31) 76uns无符号数 77×FsT1中的外部标志状态位 78XPc程序计数器扩展寄存器 79 Xmem 16位双数据存储器操作数,用于双数据操作 数指令和单数据操作指令 80 Mem 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 程序计数器扩展寄存器
31c54x汇编语言指令集介绍 31.1指令系统中的符号、缩写及操作符(续) 序号符号 含 义 81--SP「堆栈指针值减1 82++SP|堆栈指针值加1 83++PC程序计数器值加1 +PC只出现在Tabe2-14. Interrupt Instructions TMS320C54x DSP Reference Set Volume 2 Mnemonic Instruction Set--spru172c INTR K sP++PC=Tos(非常见注释), TRAP K.--SP++ PCE TOS 表示(SP)-1→SP;(PC)+1→T0s(常用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 )
31.1指令系统中的符号、缩写及操作符 >指令系统中的运算符号及优先级如表32中所示 序号符号 运算功能 求值顺序 1+-~-取正、取负、按位求补、逻辑非从右至左 2*%乘法、除法、求模 从左至右 3 加法、减法 从左至右 4 5<<>|左移、右移 从左至右 6「<≤小于、小于等于 从左至右 7>≥大于、大于等于 从左至右 8|≠=|不等于 从左至右 9 &按位与运算(AND) 从左至右 10 ∧按位异或运算( exclusⅳeOR从左至右 111按位或运算(OR) 从左至右
3.1.1 指令系统中的符号、缩写及操作符 ➢ 指令系统中的运算符号及优先级如表3-2中所示 序号 符 号 运算功能 求值顺序 1 + - ~ ! 取正、取负、按位求补、 逻辑非 从右至左 14 9 & 按位与运算(AND) 从左至右 10 ∧ 按位异或运算(exclusive OR) 从左至右 11 | 按位或运算(OR) 从左至右 4 ^ 指数 从左到右 5 << >> 左移、右移 从左至右 6 < 小于、小于等于 从左至右 7 > 大于、大于等于 从左至右 8 != 不等于 从左至右 2 * / % 乘法、除法、求模 从左至右 3 + - 加法、减法 从左至右
31c54X汇编语言指令集介绍 312汇编语言指令举例 本节以LD装载指令为例,说明指令的格式和其它 一些有用信息。 汇编语法 (1 LD Smem, dst 操作数 0001000DIAAAAAAA >指令代码 (2)LD Xmem. SHFT dst 执行 001010D XXX XSHF T 状态位 说明 (3)LD#lk[ ShFT ] dst >指令字长团1100010sHF日 周期数 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
312汇编语言指令举例:LD命令 ld Load Accumulator With Shift LD Load T/DP/ASM/ARP Syntax 1: LD Smem. dst Syntax 1: LD Smem. T 汇编语法2: LD Smem,Ts,ast 2: LD Smem DP 3: LD Smem. 16. dst 3: LD #k 9. DP 4: LD Smem[ SHIFTI, dst 4: LD #k5. ASM 5: LD Xmem SHFT dst 5: LD #k3. ARP 6: LD #K dst 6: LD Smem, ASM 7: LD #/k[ SHFT], dst 8: LD #/k16. dst 9: LD src, ASM[, dst I 操作数10: LD src.SHFT1,dst Operands For additional load instructions, see load T/ dPlaSmaRP on page 4-70 Smem Single data-memory operand I 0≤K≤255 Xmem Dual data- memory operand 32768≤k≤32767 src dst: A(accumulator A) -16≤SH|FT≤15 B(accumulator B) 0≤SHFT≤15
3.1.2 汇编语言指令举例: LD命令 16 汇编语法 操作数