各位大神,C6701 DSP程序在CCS下单步调试时会出现反汇编代码,反汇编代码里大部分时候遇到B指令并不立刻跳转,有5个延迟间隙(官方文档也是这样写的),但是也有些B指令有0个或者1个延迟间隙,为什么会有这种情况,是高速缓存有关系还是怎么回事,求告知,谢谢。
下面为反汇编代码样式:
0000384 05bce2f6 || STW.D2T2 B11,*+B15[7] 00000388 06254075 STW.D1T1 A12,*-A9[10] 0000038c 053cc2f6 || STW.D2T2 B10,*+B15[6] 00000390 009058d9 CMPGT.L1X 2,B4,A1 00000394 078000a9 || MVK.S1 0x0001,A15 00000398 05100941 || MV.D1 A4,A10 0000039c 0610005a || MV.L2 B4,B12 000003a0 960000f9 [!A1] ZERO.L1 A12 000003a4 80003d10 || [ A1] B.S1 0x000588 000003a8 06901058 MV.L1X B4,A13 000003ac 0134105a MV.L2X A13,B2 000003b0 02101058 MV.L1X B4,A4 000003b4 06b42da0 SHR.S1 A13,0x1,A13 000003b8 00b40ad9 CMPLT.L1 0,A13,A1 000003bc 00000000 || NOP 000003c0 85b4105b [ A1] MV.L2X A13,B11 000003c4 90003010 || [!A1] B.S1 0x000540 000003c8 870000f8 [ A1] ZERO.L1 A14 000003cc 85b44ca0 [ A1] SHL.S1 A13,0x2,A11 000003d0 00918af8 CMPLT.L1 A12,A4,A1
|