第4章TMS320c54X汇编指令系统 41指令系统中的符号和缩写 4.2指令系统
第4章 TMS320C54x汇编指令系统 ◼ 4.1 指令系统中的符号和缩写 ◼ 4.2 指令系统
41指令系统中的符号和缩写 表4-1指令系统中的符号和缩写 符号 含义 一累加器A ALU 算术逻辑单元 AR 辅助寄存器〔泛指〕 ARx 指定某个特定的辅助寄存器(0≤x≤7〕 ARP ST0中的3位辅助寄存器指针位,用3位表示当前的辅助寄存器 ASM sI中的5位累加器移位方式位(16≤AM≤15 累加器B BRAF ST1中的块重复指令有效标志 BRC 块重复计数器 BITC 4位BITC,决定位测试指令对指定的数据存储单元的哪一位〔0≤BITC≤15)测试 C16 ST1中的双16位双精度运算方式位 ST0中的进位位 CC 2位条件码(0≤CC≤3 CMPT ST1中的兼容方式位,决定ARP是否可以修正 CPL ST1中的编辑方式位 表示一种条件的操作数,用于条件执行指令 延迟选项 返回首页
4.1 指令系统中的符号和缩写 表4-1 指令系统中的符号和缩写 返回首页
DAB D地址总线 DAR DAB地址寄存器 16位立即数数据存储器地址(0≤dmad≤65535 Dm数据存储器操作数 DP ST0中的9位数据存储器页指针〔0≤DP≤511 目的累加器〔A或B 另一个目的累加器:如果dst=A,则dt=B:如果dst=B,则dst=A EAB E地址总线 EAR EAB地址寄存器 23位立即数程序存储器地址 FACT ST1中的小数方式位 hi(a) 累加器A的高16位〔位31~16) HM ST1中的保持方式位 IFR 中断标志寄存器 INTM ST1中的全局中断屏蔽位 少于9位的短立即数 3位立即数(0≤k3≤7 5位立即数(16≤k5≤15
9位立即数〔0≤k9≤511) 16位长立即数 Armen 使用长字寻址的32位单数据存储器操作数 mmMR存储器映象寄存器 MMRx 存储器映象寄存器,ARD~AR7或SP MRI XC指令后面的字数,n=1或n=2 RSBX和SSBX指令中指定修改的状态寄存器:N=0,ST0;N=1,ST1 OVA ST0中累加器A的溢出标志 OVB T0中累加器B的溢出标志 ot目的累加器(A或B)的出标志 ODst 另一个目的累加器〔A或B)的谥出标志 Osrc 源累加器〔A或B)的溢出标志 OVM T1中的溢出方式位 PA 16位立即数表示的端口地址〔0≤PA≤65535 PAR 程序存储器地址寄存器 PC 程序计数器
16位立即数程序存储器地址〔0≤dmad≤65535) Pmem 程序存储器操作数 PMST 处理器方式状态寄存器 prog 程序存储器操作数 舍入选项 重复计数器 REA 块重复结束地址寄存器 nd 舍入 RSA 存器 块重复起始地址寄存 RTN RETFL指令中用到的快速返回寄存器 SBIT 用RSBX、SSBX和XC指令所修改的指定状态寄存器的位号〔0≤SBT≤15 SHFT 4位移位数〔0≤SHFT≤15
SHIFT 5位移位数〔16≤SHFT≤15 Sind 间接寻址的单数据存储器操作数 Smem 16位单数据存储器操作数 堆栈指针 源累加器A或B sTsr1状态寄存器0,状态寄存器 SXM sT中的符号扩展方式位 T 暂存器 TC ST0中的测试控制标志位 TOS 堆栈顶部 TRN 状态转移寄存器 由T寄存器的5~0位所规定的移位数 uns 无符号数 ST1中的XF引脚状态位 xPc程序计数器扩展奇存器 Kmem 在双操作数指令以及某些单操作数指令中所用的16位双数据存储器操作数 Yemn在双操作数指令中所用的16位双数据存储器操作数 返回本
返回本节
4.2指令系统 421算术运算指令 42,2逻辑运算指令 423程序控制指令 4.24加载和存储指令 返回首页
4.2 指令系统 ◼ 4.2.1 算术运算指令 ◼ 4.2.2 逻辑运算指令 ◼ 4.2.3 程序控制指令 ◼ 4.2.4 加载和存储指令 返回首页
4.2.1算术运算指令 c54x的算术运算指令包括加法指令、减法指令、 乘法指令、乘累加指令与乘法减法指令、双字双 精度运算指令及专用指令。分别如表42、表43、 表4-4、表45、表46、表47所示
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 sr=src+ Sperm≤TS|操作数移位后加至累加器 ADD Smem, 16, src dst] dst=sm+smem<≤16操作数左移16位加至累加器 ADD SmemL SHIFT, srcL dst|ct=+ mem < SHIFT操作数移位后加至累加器2 ADD Xmem, SHFT, src sr=sre+xmem<SHFT操作数移位后加至累加器 ADD Xmem, Mem, dst dst Xmem <<16+ 两个操作数分别左移16位后 Mem << 16 加至累加器 ADD并耿[SHFT],cde|t=sk<HFT长立即数移位后加至累加器22 ADD #Ik, 16, src[ dst] 长立即数左移16位后加至累 dst=src +#k <<16 加器 ADs时t+8HT累加器移位后相加 ADD sr, ASM[ dst dst=t+s<ASM累加器按ASM移位后相加 ADDC Smem, src src src +Smem +C 操作数带进位加至累加器 ADDM Ik, Smem Smm=长立却数加至果加器 ADDS Smem,src sr=src t uns(Smem 无符号数加法,符号位不扩展
表4-2 加法指令
表4-3减法指令 语法 表达式 说明 字数周期 SUB Smem, src src= src-Smem 从累加器中减去操作数 SUB Smem, TS, src src=src-Smem<≤Ts 从累加器中减去移位后的操 作数 SUB Smem, 16, src[ dst] dst=src-Smem<<16 从累加器中减去左移16位后 的操作数 SUB Smem[SHIF冂,sst=s- Sperm≤sSHT从累加器中减去移位后的操 作数 UB Xmem, sHF,a0- Xmem < SHFT从累加器中减去移位后的操11
表4-3 减法指令