第3章 TMS320C55x的指令系统 3.1.3 间接寻址模式 CPU支持的间接寻址模式有AR间接寻址、双AR间 接寻址、CDP间接寻址和系数间接寻址。利用这些模式 可以进行线性或循环寻址。 1,AR间接寻址模式 该模式通过一个辅助寄存器ARn(n=0,1,2,3,4, 5,6,或7)访问数据空间。而ST2-55的ARMS位决定了 AR间接寻址的操作类型: 当ARMS-O,DSP模式:CPU提供DSP增强应用的高 效执行功能。 当ARMS=1,控制模式:针对控制系统的应用,CPU 能够优化代码的长度。 下面分别给出了AR间接寻址的DSP模式和控制模式。 2010年7月18日 TMS320C55xDSP原理及应用 16
第3章 TMS320C55x的指令系统 AR间接寻址DSP模式 序号 操作数 地址修改 1 *ARn ARn未修改 在生成地址之后增加:16位操作,ARn=ARn+1 2 *Arn+ 32位操作,ARn=ARn+2 在生成地址之后减少:16位操作,ARn=ARn-1 3 *Arn- 32位操作,ARn=Arm-2 4 米+ARn 在生成地址之前增加:16位操作,ARn=ARn+1 32位操作,ARn=ARn+2 在生成地址之前减少:16位操作,ARn=ARn-1 5 *-ARn 32位操作,ARn=ARm-2 在生成地址之后,ARn加上T0或ARn中16位带符 号的常数: 6 *(ARn+TO/ARO) 如果C54CM=0,ARn=ARn+T0 如果C54CM=1,ARn=ARn+AR0 2010年7月18日 TMS320C55xDSP原理及应用 17
第3章 TMS320C55x的指令系统 AR间接寻址DSP模式(续) 在生成地址之后,ARn减去T0或ARn中16位带符号 7 *(ARn-TO/ARO) 的常数:如果C54CM=0,ARn=ARn-T0 如果C54CM=1,ARn=ARn-AR0 8 *ARn (TO/ARO) ARn未被修改。ARn被作为基指针,T0或AR0中16 位带符号常数被作为偏移量 在生成地址之后,ARn加上T0或ARn中16位带符号 的常数:如果C54CM=0,ARn=ARn+T0 9 *(ARn +TOB/AROB) 如果C54CM=1,ARn=ARn+AR0 按位倒序模式相加 在生成地址之后,ARn减去T0或ARn中16位带符号 10 的常数:如果C54CM=0,ARn=AR-T0 *(ARn-TOB/AROB) 如果C54CM=1,ARn=ARn-AR0 按位倒序模式相减 [注1]:C54CM是状态寄存器ST1-55中TMS320C54x兼容模式。 2010年7月18日 TMS320C55xDSP原理及应用 18
第3章 TMS320C55x的指令系统 AR间接寻址DSP模式(续) 在生成地址之后,ARn加上T1中16位带符号的常数: 11 *(ARn+T1) ARn =ARn +T1 12 在生成地址之后,ARn减去T1中16位带符号的常数: *(ARn-T1) ARn =ARn-T1 13 ARn未被修改。ARn被作为基指针,T1中16位带符号 *ARn(T1) 常数被作为偏移量 14 *ARn(#K16) ARn未被修改。ARn被作为基指针,16位带符号常数 (K16)被作为偏移量 15 *+ARn(#K16) 在地址生成之前,ARn加上16位带符号常数(K16) 2010年7月18日 TMS320C55xDSP原理及应用 19
第3章 TMS320C55x的指令系统 AR间接寻址控制模式 序号 操作数 地址修改 *ARn ARn未修改 *ARn+ 在生成地址之后增加: 16位操作,ARn=ARn+1 2 32位操作,ARn=ARn+2 在生成地址之后减少:16位操作,ARn=ARn-1 3 *ARn- 32位操作,ARn=ARn-2 在生成地址之后,ARn加上T0或AR0中16位带符号的常 4 *(ARn+TO/ARO) 数:如果C54CM=0,ARn=ARn+T0 如果C54CM=1,ARn=ARn+AR0 在生成地址之后,ARn减去T0或AR0中16位带符号的常 5 *(ARn-TO/ARO) 数:如果C54CM=0,ARn=ARn-T0 如果C54CM=1,ARn=ARn-AR0 2010年7月18日 TMS320C55xDSP原理及应用 20