请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS320F28335 大家好、
1.
RPT #10 || PREAD *XAR2++,*XAR7
RPT #11 || PREAD *XAR2++,*XAR7
在我的客户测试后、这两条指令的执行时间不同、 3个周期 。 (CCS11.0调试->运行->时钟)
但根据 TMS320C28x CPU 和指令集(修订版 F) 页面 368 ,差异是 1个周期 。
原因是什么?
2.汇编语言部分的源代码为:
_ARRAY_MOVE: CMPB AL, #0x0 MOVL XAR7, @XAR5 SB Exit, EQ ADDB AL, #-1 MOVZ AR5, @AL RPT @AR5 || PREAD *XAR4++, *XAR7 Exit: LRETR
C:
extern void ARRAY_MOVE(Uint16* ARRAY1,Uint16* ARRAY2,Uint16 lenth)
main 函数:
ARRAY_MOVE(ARRAY1, ARRAY2,10); ARRAY_MOVE(ARRAY1, ARRAY2,11);
运行时间随着 lenth 的增加而增加多少?
--
谢谢、此致
耶鲁