[讨论] IAR编译器 - VS -- CCS编译器 (效率比较)

dontium   2014-3-24 18:33 楼主
(不是同一款单片机作比较,可能会些不妥。)


1、IAR使用7.1版,编译M0
2、CCS使用5.5版,编译C2000
3、端口的位取反

以下是IAR:
(低优化)
//  112                 GPIOC->ODR ^= (1<<6);
        LDR      R0,??DataTable1_1  ;; 0x48000814
        LDRH     R0,[R0, #+0]
        MOVS     R1,#+64
        EORS     R1,R1,R0
        LDR      R0,??DataTable1_1  ;; 0x48000814
        STRH     R1,[R0, #+0]

(高优化)

//  112                 GPIOC->ODR ^= (1<<6);
        LDR      R0,??DataTable1_1  ;; 0x48000814
        LDRH     R1,[R0, #+0]
        MOVS     R2,#+64
        EORS     R2,R2,R1
        STRH     R2,[R0, #+0]


以下是CCS:
   (不优化)
      // GpioDataRegs.GPADAT.all ^= (1<<6);
        MOVW      DP,#_GpioDataRegs     ; [CPU_U]
        MOVL      ACC,@_GpioDataRegs    ; [CPU_] |17|
        XORB      AL,#0x40              ; [CPU_] |17|
        MOVL      @_GpioDataRegs,ACC    ; [CPU_] |17|


   (4级优化)
       // GpioDataRegs.GPADAT.all ^= (1<<6);

       MOVW      DP,#_GpioDataRegs     ; [CPU_U]
        MOVL      ACC,@_GpioDataRegs    ; [CPU_] |18|
        XORB      AL,#0x40              ; [CPU_] |18|
        MOVL      @_GpioDataRegs,ACC    ; [CPU_] |18|



这是同一条C语言语句的情况


回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复