程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 匯編語言 >> 匯編語言的藝術-准備工作(四)

匯編語言的藝術-准備工作(四)

編輯:匯編語言

二、原始檔(Source File)檔名定義

在共同設計大型模組時,程式師間的默契,全賴事先相互約定。否則程式越大,所面臨的困難將越多,經常耗時費事,甚至最後功敗垂成。
因此,在設計之初,必須妥善規劃,將一應有關的檔案、名稱、功能等,皆明確地加以定義。參與設計的程式師,更必須嚴格遵守,方能得心應手。
原始檔名的定義,其目的有三:
1,代表程式設計者:當制作的程式甚多時,一見檔名,就應能分辨出各個程式的設計人。再如某程式師所編程式在一 個以上,則應在其本人代碼之後,加一數字編號。這樣,遇有任何問題,立即可以找到來處,進行追蹤。

2,代表程式功能:每當聯結後發生問題時,應能由檔名查知問題所在,故每種功能宜給予適當的名稱。

3,代表聯結的關系:除了功能外,有時尚須表示各程式之間的聯結關系。如某一程式必須安排在另一程式之前或後,亦應在檔名最後,以數字表示順序。
若參與的程式師不超過廿人,則以一字元為限,各人事先選定一個字母,作為檔案名稱的第一字元。第二字元則視該程式師是否編寫一個以上的程式而定,是則取一數字代表之,若無則免。
功能以三到六字元為宜,能統一長度將更為方便,余下一字元留供數序用。
例:程式師代號為‘C’,本程式之編號為3,功能為‘DRAWS’,此外並無聯結關系,則其名應為:
cdraws3.asm

三、標題定義

程式在整理或測試時,最大的困擾,是尋找某一個標題的出處或功能。如果在同一檔中,尚可利用cref.exe,列印出一份對照表來;如果不知道出自哪一個檔案,在眾多的程式中,就只有望洋興歎了。
至於功能,如名稱定得太長,不僅輸入、修改不便,而且會使得程式看來雜亂無章,令人眼花撩亂。如果定得太簡單,或各人任意定名,則難以理解。
所以,標題定名之重要性,不下於程式之寫作。尤其是在參與人數眾多時,標題不僅要統一,而且要能代表所有必備的訊息。
標題所代表的訊息有:
A x x x x x x x x
│└┬┘└┬┘└── 分支代號
│ │ └──── 延伸定義
│ └─────── 功能名稱
└───────── 程式出處

1,程式出處:如果很多人同時參加一個計劃,而某程式師僅寫了一個程式,此定義即為該程式師之代碼。否則尚要附 加編號,以便隨時可查到。即使只有一個人寫作程式,程式可能不斷擴大,為了制作的方便,或為了模組的分割,常有必要將程式分到其他檔中。因此,一段程式究竟出自於哪一個檔案,全賴標題表明,以便能迅速地找到。 
程式出處一般用一個字母即可,如前述第一個字母A代表此段程式來自編號為A的原始檔;或屬於以A為代號程式師的程式。

2,功能名稱:除若干已知會用到的功能可以事先定義外,其余的多半是在發展過程中,針對需要而產生。對功能定義千萬不要掉以輕心,一個程式的再利用價值,常與其功能定義息息相關,明確的定義,可以令人對其功能及應用方式一目瞭然。
功能名稱長度以三個字母為宜,太長則輸入費時,尤其是國人不見得個個英文了得,與其寫錯,不如藏拙。
如:DSP 表示螢幕顯示功能
PRN 表示列印功能
KIN 表示鍵盤輸入功能

3,延伸定義:若功能相同的程式過多,2,中的定義方式難以分辨,則可再加一延伸定義。
如:DSPDOT表示顯示點陣
PRNCHI表示列印中文
KINASC表示輸入 ASCII 字符

4,分支代號:在程式中常有分支,分支代號最理想是由小而大,依序安排。但由於寫作時常難以預知後情,故宜先留空號,以便擴充。
如:DSPDOT10
PRNCHI06
KINASC24

四、緩沖器定義

B x x x x x x x 
││└┬┘└┬┘
││ │ └─── 延伸定義
││ └────── 功能名稱
│└──────── 類型
└───────── 緩沖器保留字

第一個字母規定用‘B’,為緩沖器保留字。
第二個字母定義其類型:
Q=QWORD 如:BQxxxx 緩沖器長度為8字元。
D=DWORD 如:BDxxxx 長度為4字元。
W=WORD 如:BWxxxx 長度為2字元。
B=BYTE 如:BBxxxx 長度為1字元。
S=STRING 如:BSxxxx 不限長度,但限BYTE型。
O=ORIGINAL 如:BOxxxx 表不可破壞的原始資料。
F=FLAG 如:BFxxxx 用作旗號。
第二字母以後所采用功能或延伸定義,與三、2,3相同。此外,所有緩沖器皆應統一設在緩沖器專用程式中,若系臨時使用,或尚未正式聯接,亦應設在各程式之首,以便於查閱、修改。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved