第4章TMS320c54X汇编指令系统 41指令系统中的符号和缩写 4.2指令系统
第4章 TMS320C54x汇编指令系统 ◼ 4.1 指令系统中的符号和缩写 ◼ 4.2 指令系统
4.1指令系统中的符号和缩写 表4-1指令系统中的符号和缩写 符号 人 累加器A ALU 算术逻辑单元 AR 辅助寄存器〔泛指〕 ARX 指定某个特定的辅助奇存器(0≤x≤7 5T0中的3位辅助奇存器指针位,用3位表示当前的助奇存器 ASM sT中的5位累加器移位方式位(16≤ASM≤15 累加器B BRAF s1中的块重复指令有效标志 BRC 块重复计数器 4位BITC,决定位测试指令对指定的数据存储单元的哪一位〔0≤BITC≤15)测试 C16 sT1中的双16位精度运算方式位 ST0中的进位位 CC 2位条件码〔0≤CC≤3 CMPT sT1中的兼容方式位,决定ARP是否可以修正 CPL sT1中的编辑方式位 cmd表示一种条件的操作数,用于条件执行指令 延迟选项 返回首页
4.1 指令系统中的符号和缩写 表4-1 指令系统中的符号和缩写 返回首页
DAB D地址总线 DAR DAB地址寄存器 16位立即数数据存储器地址〔0≤dmad≤65535 Dmem 数据存储器操作数 DP ST0中的9位数据存储器页指针〔0≤DP≤511 目的累加器〔A或B 另一个目的累加器:如果dst=A,则dt=B:如果dst=B,则dst=A EAB E地址总线 EAR EAB地址寄存器 e对pmd2位立即数程序存储器地址 FRCT ST1中的小数方式位 累加器A的高16位〔位31~16 HM sT1中的保持方式位 IFR 中断标志寄存器 INTM ST1中的全局中断屏蔽位 K 少于9位的短立即数 3位立即数〔0≤k3≤7 k5 5位立即数〔16≤k5≤15
9位立即数〔0≤9≤511) 16位长立即数 Lmem 使用长字寻址的3位单数据存储器操作数 mmx. MR存储器映象寄存器 MIVRx 存储器映象寄存器,AR0~AR7或SP IvIR n XC指令后面的字数,1=1或n=2 RSB和SBX指令中指定修改的状态寄存器:N=0,sT0:N=1,sT OvA sT0中累加器A的溢出标志 OVB ST0中累加器B的溢出标志 目的累加器〔A或B)的溢出标志 ODst 另一个目的累加器〔A或B)的出标志 OSrc 源累加器〔A或B)的溢出标志 OVM sT1中的溢出方式位 PA 16位立即数表示的端口地址〔0≤PA≤65535) PAR程序存储器地址寄存器 程序计数器
16位立即数程序存储器地址〔0≤dmad≤65535 5 Pmem 程序存储器操作数 PST 处理器方式状态寄存器 程序存储器操作数 ] 舍入选项 重复计数器 REA 块重复结束地址寄存器 md 舍入 RSA 「块重复起始地址寄存器 RTN RETF指令中用到的快速返回寄存器 SBIT 用RSBX、SsBX和XC指令所修改的指定状态寄存器的位号〔0≤SBIT≤15 SHFT 4位移位数〔0≤SHFT≤15
SHIFT 5位移位数〔16≤SHFT≤15 Sind 间接寻址的单数据存储器操作数 Smem 16位单数据存储器操作数 堆栈指针 源累加器A或B ST0,ST1状态寄存器0,状态寄存器1 SXM sT1中的符号扩展方式位 暂存器 TC sT0中的测试控制标志位 TOS 堆栈顶部 TRN 状态转移寄存器 由T寄存器的5~0位所规定的移位数 无符号数 XF ST1中的XF引脚状态位 xPC程序计数器扩展寄存器 在双操作数指令以及某些单操作数指令中所用的16位双数据存储器操作数 Ymm在双操作数指令中所用的16位双数据存情器操作数 回本节
返回本节
4.2指令系统 4.21算术运算指令 4.22逻辑运算指令 4.23程序控制指令 424加载和在储指令 首页
4.2 指令系统 ◼ 4.2.1 算术运算指令 ◼ 4.2.2 逻辑运算指令 ◼ 4.2.3 程序控制指令 ◼ 4.2.4 加载和存储指令 返回首页
4.21算术运算指令 c54x的算术运算指令包括加法指令、减法指令、 乘法指令、乘累加指令与乘法减法指令、双字/双 精度运算指令及专用指令。分别如表4-2、表4-3、 表4-4、表45、表4-6、表4-7所示
4.2.1 算术运算指令 ◼ C54x的算术运算指令包括加法指令、减法指令、 乘法指令、乘累加指令与乘法减法指令、双字/双 精度运算指令及专用指令。分别如表4-2、表4-3、 表4-4、表4-5、表4-6、表4-7所示
表4-2加法指令 语法 表达式 说明 字数周期 ADD Smem, src srC =src smem 操作数加至累加器 ADD Smem TS, src 88+mmxT操作数移位后加至果加器11 ADD Smem, 16, src dst] dt=8+memx16操作数左移16位加至累加器 ADD Smem[ L SHIFT,s[ac|act:=s+mmHr操作数移位后加至累加器 ADD Xmem, SHFT, src sr=src+xmem<sHFT操作数移位后加至累加器 dst=Xmem<≤16+ ADD Xmem, Mem, dst 两个操作数分别左移16位后 Mem <<16 加至累加器 AD#ⅨSHFT:d|t=0+<sHFr长立即数移位后加至累加器22 ADD #Ik, 16, src[ dst dst=src+组<16 长立即数左移16位后加至累 加器 22 ADD src SHIFT][ dst dt= dst +src < SHIFT累加器移位后相加 ADD src, ASM[ dst dst dst +src < ASM 累加器按ASM移位后相加 ADDC Smem, src srC src Smem +C 操作数带进位加至累加器 ADDM #Ik, Smem Smem=Smer+组 长立即数加至累加器 ADDS Smem, src src= src t uns(Smem 无符号数加法,符号位不扩展
表4-2 加法指令
表4-3减法指令 语法 表达式 说明 字数周期 SUB Smem, src SIc Smem 从累加器中减去操作数 SUB Smem, TS, src srC=srC-Smem << TS 从累加器中减去移位后的操 作数 SUB Smem, 16, src L dst] dst=src-Smem<< 16 从累加器中减去左移16位后 的操作数 11 SUB Smem LSHIFT], src [ dst] dst=src- Smem < SHIFT从累加器中减去移位后的操 作数 SUB Xmem, SHFT, src sr=sre-Xmem<≤SHFT从累加器中减去移位后的操11
表4-3 减法指令