<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

單片機匯編程序編碼規范

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

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

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

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

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

1.排版

規則1

程序塊使用縮進(jìn)方式,函數和標號使用空格縮進(jìn),程序段混合使用TAB和空格縮進(jìn)??s進(jìn)的目的是使程序結構清晰,便于閱讀和理解。

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

例如:

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

規則2

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

例如:

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

規則3

一行最多寫(xiě)一條語(yǔ)句。

規則4

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

例如:

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.注釋

注釋的原則是有助于對程序的閱讀理解,注釋不宜太多也不能太少,太少不利于代碼理解,太多則會(huì )對閱讀產(chǎn)生干擾,因此只在必要的地方才加注釋?zhuān)易⑨屢獪蚀_、易懂、盡可能簡(jiǎn)潔。注釋量一般控制在30%到50%之間。

規則1

程序在必要的地方必須有注釋?zhuān)⑨屢獪蚀_、易懂、簡(jiǎn)潔。

例如如下注釋意義不大:

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

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

JNZ PcComm_Err ; 假如校驗出錯

規則2

注釋?xiě)c其描述的代碼相近,對代碼的注釋?xiě)旁谄渖戏交蛴曳?對單條語(yǔ)句的注釋)相鄰位置,不可放在下面,如放于上方則需與其上面的代碼用空行隔開(kāi)。


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 單片機 匯編程序 編碼規范

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>