This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
err = fabs(ClaLoop->err); 00009196: 73E10000 MMOV32 MR2, *MAR0, UNCF 00009198: 7E20000A MABSF32 MR2, MR2 0000919a: 74E08CD0 MMOV32 @0x8cd0, MR2 0000919c: 7FA00000 MNOP 0000919e: 7FA00000 MNOP 000091a0: 7FA00000 MNOP 119 if(ClaLoop->err < -1.0) 000091a2: 73E10000 MMOV32 MR2, *MAR0, UNCF 000091a4: 78C2BF80 MCMPF32 MR2, #0xbf80 000091a6: 7FA00000 MNOP 000091a8: 7FA00000 MNOP 000091aa: 7FA00000 MNOP 000091ac: 79840074 MBCNDD 0x74, LT 000091ae: 7FA00000 MNOP 000091b0: 7FA00000 MNOP 000091b2: 7FA00000 MNOP 132 else if( ClaLoop->err > 1.0) 000091b4: 73E10000 MMOV32 MR2, *MAR0, UNCF 000091b6: 78C23F80 MCMPF32 MR2, #0x3f80 000091b8: 7FA00000 MNOP 000091ba: 7FA00000 MNOP 000091bc: 7FA00000 MNOP 000091be: 798500CA MBCNDD 0xca, LEQ 000091c0: 7FA00000 MNOP 000091c2: 7FA00000 MNOP 000091c4: 7FA00000 MNOP 134 if(ClaLoop->out < CpuLoop->max_duty) 000091c6: 7FD1000C MMOV16 MAR0, MR1, #0xc 000091c8: 7FA00000 MNOP 000091ca: 7FA00000 MNOP 000091cc: 7FA00000 MNOP 000091ce: 73E10000 MMOV32 MR2, *MAR0, UNCF 000091d0: 7FD00004 MMOV16 MAR0, MR0, #0x4 000091d2: 7FA00000 MNOP 000091d4: 7FA00000 MNOP 000091d6: 7FA00000 MNOP 000091d8: 73F10000 MMOV32 MR3, *MAR0, UNCF 000091da: 7D00000B MCMPF32 MR3, MR2 000091dc: 7FA00000 MNOP 000091de: 7FA00000 MNOP 000091e0: 7FA00000 MNOP 000091e2: 798300A6 MBCNDD 0xa6, GEQ 000091e4: 7FA00000 MNOP 000091e6: 7FA00000 MNOP 000091e8: 7FA00000 MNOP 136 ClaLoop->err_sum += ClaLoop->err; 000091ea: 7FD00002 MMOV16 MAR0, MR0, #0x2 000091ec: 7FF00000 MMOV16 MAR1, MR0, #0x0 000091ee: 7FA00000 MNOP 000091f0: 7FA00000 MNOP 000091f2: 73E10000 MMOV32 MR2, *MAR0, UNCF 000091f4: 73F20000 MMOV32 MR3, *MAR1, UNCF 000091f6: 7C20002E MADDF32 MR2, MR3, MR2 000091f8: 74E10000 MMOV32 *MAR0, MR2 137 if( err > ( CpuLoop->ref*0.0625) ) 000091fa: 7FD10008 MMOV16 MAR0, MR1, #0x8 000091fc: 7FA00000 MNOP 000091fe: 7FA00000 MNOP 00009200: 7FA00000 MNOP 00009202: 73E10000 MMOV32 MR2, *MAR0, UNCF 00009204: 778A3D80 MMPYF32 MR2, #0x3d80, MR2 00009206: 73F08CD0 MMOV32 MR3, @0x8cd0, UNCF 00009208: 7D00000B MCMPF32 MR3, MR2 0000920a: 7FA00000 MNOP 0000920c: 7FA00000 MNOP 0000920e: 7FA00000 MNOP 00009210: 79850078 MBCNDD 0x78, LEQ 00009212: 7FA00000 MNOP 00009214: 7FA00000 MNOP 00009216: 7FA00000 MNOP
见上面debug时获取的汇编代码,赋值语句,比较语句,编译出来都有大量的空指令。我的CLA程序执行时间需要尽可能的短。所以,有什么办法(比如有什么设置选项)可以减少空指令嘛。