日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機匯編程序編碼規(guī)范

          單片機匯編程序編碼規(guī)范

          作者: 時間:2013-02-26 來源:網(wǎng)絡(luò) 收藏

          軟件設(shè)計更多地是一種工程,而不是一種個人藝術(shù)。如果不統(tǒng)一編程規(guī)范,最終寫出的程序,其可讀性將較差,這不僅給代碼的理解帶來障礙,增加維護階段的工作量,同時不規(guī)范的代碼隱含錯誤的可能性也比較大。

          分析表明,編碼階段產(chǎn)生的錯誤當中,語法錯誤大概占20%左右,而由于未嚴格檢查軟件邏輯導致的錯誤、函數(shù)(模塊)之間接口錯誤及由于代碼可理解度低導致優(yōu)化維護階段對代碼的錯誤修改引起的錯誤則占了一半以上。

          可見,提高軟件質(zhì)量必須降低編碼階段的錯誤率。如何有效降低編碼階段的錯誤呢?這需要制定詳細的軟件編程規(guī)范,并培訓每一位程序員,最終的結(jié)果可以把編碼階段的錯誤降至10%左右,同時也降低了程序的測試費用,效果相當顯著。

          本文從代碼的可維護性(可讀性、可理解性、可修改性)、代碼邏輯與效率、函數(shù)(模塊)接口、可測試性四個方面闡述了軟件編程規(guī)范,規(guī)范分成規(guī)則和建議兩種,其中規(guī)則部分為強制執(zhí)行項目,而建議部分則不作強制,可根據(jù)習慣取舍。

          1.排版

          規(guī)則1

          程序塊使用縮進方式,函數(shù)和標號使用空格縮進,程序段混合使用TAB和空格縮進。縮進的目的是使程序結(jié)構(gòu)清晰,便于閱讀和理解。

          默認寬度應(yīng)為8個空格,由于Word中為4個空格,為示范清晰,此處用2個代替(下同)。

          例如:

          MOV R1, #00H

          MOV R2, #00H

          MOV PMR, #PMRNORMAL

          MOV DPS, #FLAGDPTR

          MOV DPTR, #ADDREEPROM

          read1kloop:

          read1kpage:

          INC R1

          MOVX A, @DPTR

          MOV SBUF, A

          JNB TI, $

          CLR TI

          INC DPTR

          CJNE R1, #20H, read1kpage

          INC R2

          MOV R1, #00H

          CPL WDI

          CJNE R2, #20H, read1kloop ;END OF EEPROM

          規(guī)則2

          在指令的操作數(shù)之間的,使用空格進行間隔,采用這種松散方式編寫代碼的目的是使代碼更加清晰。

          例如:

          CJNE R2, #20H, read1kloop ;END OF EEPROM

          規(guī)則3

          一行最多寫一條語句。

          規(guī)則4

          變量定義時,保持對齊。便于閱讀和檢查內(nèi)存的使用情況。

          例如:

          RegLEDLOSS EQU 30H ; VARIABLE ;

          TESTLED==RegLEDLOSS.0

          RegLEDRA EQU 31H ; VARIABLE

          RUNLED_Flag EQU 32H ; VARIABLE ;

          256ms改變一次RUNLED狀態(tài)

          RUNLED_Def EQU 10H ; STATIC ;

          16*32ms=500ms改變一次LED狀態(tài)

          2.注釋

          注釋的原則是有助于對程序的閱讀理解,注釋不宜太多也不能太少,太少不利于代碼理解,太多則會對閱讀產(chǎn)生干擾,因此只在必要的地方才加注釋,而且注釋要準確、易懂、盡可能簡潔。注釋量一般控制在30%到50%之間。

          規(guī)則1

          程序在必要的地方必須有注釋,注釋要準確、易懂、簡潔。

          例如如下注釋意義不大:

          MOV DXCE1COUNTER, #00H ; 將DXCE1COUNTER賦值為0

          而如下的注釋則給出了額外有用的信息:

          JNZ PcComm_Err ; 假如校驗出錯

          規(guī)則2

          注釋應(yīng)與其描述的代碼相近,對代碼的注釋應(yīng)放在其上方或右方(對單條語句的注釋)相鄰位置,不可放在下面,如放于上方則需與其上面的代碼用空行隔開。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉