新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 高效的C編程之:條件執(zhí)行

        高效的C編程之:條件執(zhí)行

        作者: 時間:2013-09-30 來源:網(wǎng)絡 收藏

        4.3

        指令都是可以的。在代碼中使用指令可以減小代碼密度并提高程序執(zhí)行效率。典型的條件執(zhí)行語句用在比較指令之后,形成程序的分支跳轉結構。下面的例子顯示了條件執(zhí)行指令的典型用法。

        本文引用地址:http://www.104case.com/article/257022.htm

        CMPx,#0

        MOVGEy,#1

        MOVLTy,#0

        但當代碼中連續(xù)的條件執(zhí)行指令超過4條時,就會影響程序的執(zhí)行速度。所以編譯器在編譯程序時,限制條件指令連續(xù)出現(xiàn)的次數(shù)。

        編譯器常把C語言中的if…else結構編譯成條件執(zhí)行指令,但子程序調(diào)用一般是不能條件執(zhí)行的。所以在編程時盡可以地使用簡單的if…else結構完成程序的分支操作,而避免使用過多的子程序調(diào)用。

        下面的例子顯示了編譯器如何利用指令的條件執(zhí)行。

        intg(inta,intb,intc,intd)

        {if(a>0b>0c0d0)/*程序分組條件*/

        returna+b+c+d;

        return-1;

        }

        g

        CMPa1,#0

        CMPGTa2,#0

        BLE|L000024.J4.g|

        CMPa3,#0

        CMPLTa4,#0

        ADDLTa1,a1,a2

        ADDLTa1,a1,a3

        ADDLTa1,a1,a4

        MOVLTpc,lr

        |L000024.J4.g|

        MVNa1,#0

        MOVpc,lr



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 彭州市| 县级市| 吉安市| 抚州市| 嘉定区| 政和县| 酉阳| 嵊州市| 宁海县| 定日县| 家居| 宽甸| 满城县| 怀来县| 牡丹江市| 宜宾县| 陆川县| 澄迈县| 仁寿县| 高要市| 上饶县| 肇源县| 哈巴河县| 石屏县| 璧山县| 南城县| 温泉县| 兴文县| 张家口市| 永胜县| 淮北市| 凭祥市| 高雄市| 上栗县| 三台县| 绥德县| 永嘉县| 晋江市| 分宜县| 上饶县| 株洲市|