新聞中心

        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ū)

        關閉
        主站蜘蛛池模板: 昂仁县| 文成县| 嘉峪关市| 郧西县| 马龙县| 巢湖市| 前郭尔| 周口市| 丰宁| 石台县| 宜昌市| 汉寿县| 南澳县| 珠海市| 会同县| 南安市| 武川县| 沙湾县| 银川市| 汕头市| 柘荣县| 清苑县| 乌兰县| 兴宁市| 阿城市| 区。| 九龙县| 海门市| 尼勒克县| 桓台县| 台北市| 建平县| 临高县| 黄龙县| 哈尔滨市| 高安市| 广汉市| 金塔县| 香港| 辉南县| 浏阳市|