这个问题很讨厌,我曾研究过,用keil C 终究到不到汇编的效果,假设是idata型,只要使用for(s=s,d=b,i=BUFLEN;i!=0;i--,s++,b++),s和d就不能保存到r0,r1中,而直接使用for(i=0;i<10;i++) a=b; 编译器到自动使用r0,r1做指针,并增量,但i又不能使用djnz 指令, c51是大端方式,且8位机不存在对齐方式,但直接使用mcmcpy还是太复杂,不如直接写的效率高。反正不管怎样,不出错就好,谁也不指望提高这点效率就能让51去做数据处理。 |