單片機(jī)匯編語(yǔ)言編程規(guī)范

單片機(jī)匯編語(yǔ)言編程規(guī)范

ID:34569082

大?。?24.39 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2019-03-08

單片機(jī)匯編語(yǔ)言編程規(guī)范_第1頁(yè)
單片機(jī)匯編語(yǔ)言編程規(guī)范_第2頁(yè)
單片機(jī)匯編語(yǔ)言編程規(guī)范_第3頁(yè)
單片機(jī)匯編語(yǔ)言編程規(guī)范_第4頁(yè)
單片機(jī)匯編語(yǔ)言編程規(guī)范_第5頁(yè)
資源描述:

《單片機(jī)匯編語(yǔ)言編程規(guī)范》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、匯編語(yǔ)言編程規(guī)范軟件設(shè)計(jì)更多地是一種工程,而不是一種個(gè)人藝術(shù)。如果不統(tǒng)一編程規(guī)范,最終寫(xiě)出的程序,其可讀性將較差,這不僅給代碼的理解帶來(lái)障礙,增加維護(hù)階段的工作量,同時(shí)不規(guī)范的代碼隱含錯(cuò)誤的可能性也比較大。分析表明,編碼階段產(chǎn)生的錯(cuò)誤當(dāng)中,語(yǔ)法錯(cuò)誤大概占20%左右,而由于未嚴(yán)格檢查軟件邏輯導(dǎo)致的錯(cuò)誤、函數(shù)(模塊)之間接口錯(cuò)誤及由于代碼可理解度低導(dǎo)致優(yōu)化維護(hù)階段對(duì)代碼的錯(cuò)誤修改引起的錯(cuò)誤則占了一半以上??梢?jiàn),提高軟件質(zhì)量必須降低編碼階段的錯(cuò)誤率。如何有效降低編碼階段的錯(cuò)誤呢?這需要制定詳細(xì)的軟件編程規(guī)范,并培訓(xùn)每一位程序

2、員,最終的結(jié)果可以把編碼階段的錯(cuò)誤降至10%左右,同時(shí)也降低了程序的測(cè)試費(fèi)用,效果相當(dāng)顯著。本文從代碼的可維護(hù)性(可讀性、可理解性、可修改性)、代碼邏輯與效率、函數(shù)(模塊)接口、可測(cè)試性四個(gè)方面闡述了軟件編程規(guī)范,規(guī)范分成規(guī)則和建議兩種,其中規(guī)則部分為強(qiáng)制執(zhí)行項(xiàng)目,而建議部分則不作強(qiáng)制,可根據(jù)習(xí)慣取舍。1.排版規(guī)則1程序塊使用縮進(jìn)方式,函數(shù)和標(biāo)號(hào)使用空格縮進(jìn),程序段混合使用TAB和空格縮進(jìn)??s進(jìn)的目的是使程序結(jié)構(gòu)清晰,便于閱讀和理解。默認(rèn)寬度應(yīng)為8個(gè)空格,由于Word中為4個(gè)空格,為示范清晰,此處用

3、2個(gè)代替(下同)。例如:MOVR1,#00HMOVR2,#00HMOVPMR,#PMRNORMALMOVDPS,#FLAGDPTRMOVDPTR,#ADDREEPROMread1kloop:read1kpage:INCR1MOVXA,@DPTRMOVSBUF,AJNBTI,$CLRTIINCDPTRCJNER1,#20H,read1kpageINCR2MOVR1,#00HCPLWDICJNER2,#20H,read1kloop;ENDOFEEPROM規(guī)則2在指令的操作數(shù)之間的,使用空格進(jìn)行間隔,采用這種松散方

4、式編寫(xiě)代碼的目的是使代碼更加清晰。例如:CJNER2,#20H,read1kloop;ENDOFEEPROM規(guī)則3一行最多寫(xiě)一條語(yǔ)句。規(guī)則4變量定義時(shí),保持對(duì)齊。便于閱讀和檢查內(nèi)存的使用情況。例如:RegLEDLOSSEQU30H;VARIABLE;TESTLED==RegLEDLOSS.0RegLEDRAEQU31H;VARIABLERUNLED_FlagEQU32H;VARIABLE;256ms改變一次RUNLED狀態(tài)RUNLED_DefEQU10H;STATIC;16*32ms=500ms改變一次LED狀態(tài)2.注

5、釋注釋的原則是有助于對(duì)程序的閱讀理解,注釋不宜太多也不能太少,太少不利于代碼理解,太多則會(huì)對(duì)閱讀產(chǎn)生干擾,因此只在必要的地方才加注釋?zhuān)易⑨屢獪?zhǔn)確、易懂、盡可能簡(jiǎn)潔。注釋量一般控制在30%到50%之間。規(guī)則1程序在必要的地方必須有注釋?zhuān)⑨屢獪?zhǔn)確、易懂、簡(jiǎn)潔。例如如下注釋意義不大:MOVDXCE1COUNTER,#00H;將DXCE1COUNTER賦值為0而如下的注釋則給出了額外有用的信息:JNZPcComm_Err;假如校驗(yàn)出錯(cuò)規(guī)則2注釋?xiě)?yīng)與其描述的代碼相近,對(duì)代碼的注釋?xiě)?yīng)放在其上方或右方(對(duì)單條語(yǔ)句的注釋?zhuān)┫噜徫?/p>

6、置,不可放在下面,如放于上方則需與其上面的代碼用空行隔開(kāi)。規(guī)則3頭文件、源文件的頭部,應(yīng)進(jìn)行注釋。注釋必須列出:文件名、作者、目的、功能、修改日志等。規(guī)則4函數(shù)頭部應(yīng)進(jìn)行注釋?zhuān)谐觯汉瘮?shù)的目的、功能、輸入?yún)?shù)、輸出參數(shù)、涉及到的通用變量和寄存器、調(diào)用的其他函數(shù)和模塊、修改日志等。對(duì)一些復(fù)雜的函數(shù),在注釋中最好提供典型用法。規(guī)則5對(duì)重要代碼段的功能、意圖進(jìn)行注釋?zhuān)峁┯杏玫摹㈩~外的信息。并在該代碼段的結(jié)束處加一行注釋表示該段代碼結(jié)束。規(guī)則6對(duì)于所有的常量,變量,數(shù)據(jù)結(jié)構(gòu)聲明(包括數(shù)組、結(jié)構(gòu)、類(lèi)、枚舉等),如果其命名不是充

7、分自注釋的,在聲明時(shí)都必須加以注釋?zhuān)f(shuō)明其含義。規(guī)則7維護(hù)代碼時(shí),要更新相應(yīng)的注釋?zhuān)瑒h除不再有用的注釋。保持代碼、注釋的一致性,避免產(chǎn)生誤解。3.命名規(guī)則1標(biāo)識(shí)符縮寫(xiě)形成縮寫(xiě)的幾種技術(shù):1)去掉所有的不在詞頭的元音字母。如screen寫(xiě)成scrn,primtive寫(xiě)成prmv。2)使用每個(gè)單詞的頭一個(gè)或幾個(gè)字母。如ChannelActivation寫(xiě)成ChanActiv,ReleaseIndication寫(xiě)成RelInd。3)使用變量名中每個(gè)有典型意義的單詞。如CountofFailure寫(xiě)成FailCnt。4)去掉無(wú)

8、用的單詞后綴ing,ed等。如PagingRequest寫(xiě)成PagReq。5)使用標(biāo)準(zhǔn)的或慣用的縮寫(xiě)形式(包括協(xié)議文件中出現(xiàn)的縮寫(xiě)形式)。如BSIC(BaseStationIdentificationCode)、MAP(MobileApplicationPart)。關(guān)于縮寫(xiě)的準(zhǔn)則:1)縮寫(xiě)應(yīng)該保持一致性。如Channel不要有時(shí)縮

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。