《表1 不同优化方式产生的汇编程序结果对比》

《表1 不同优化方式产生的汇编程序结果对比》   提示:宽带有限、当前游客访问压缩模式
本系列图表出处文件名:随高清版一同展现
《C环境下单片机小数组操作的汇编语言优化》


  1. 获取 高清版本忘记账户?点击这里登录
  1. 下载图表忘记账户?点击这里登录

可见与IAR+STM8的环境相似,在Keil+STC89C52RC环境下,C编译器也对数组下标进行了16位符号扩展,并以16位方式将缓冲区数组下标转换为数据起始地址。此段程序共需要47个机器周期。而此时对于缓冲区小于256字节的情况,使用8位方式计算起始地址可以满足目的,以类似方式使用内嵌汇编语言对程序进行优化后,运行时间减少到24个时钟周期,优化效果不如前述的STM8环境,原因是MCS51类的单片机只能以8位方式搬运数据,需要多次寄存器与外部存储器操作,在地址计算上节约的时间相对比例较小。两种编译环境下,不同优化方式产生的汇编程序结果对比如表1所示。可见Keil+STC89C52RC环境的编译结果优于IAR+STM8环境的编译结果。