第一節 系統
一、系統之選擇
只因真正瞭解電腦的人太少,迷信名氣的結果,使得 IBM PC/AT占有了市場。為求電腦普及應用,我們唯有因陋就簡,針對 IBM PC/AT及其兼容系統,作進一步的分析和說明。
盡管使用 80486 CPU的微電腦已問世,我個人認為以其造價及功能而言,並不符合效率法則。在從事藝術工作的立場,價值的高低,與所采用的材料沒有絕對的關系。更何況我們正要證明,利用組合語言的制作技巧,能夠使功能不高的微電腦發揮最大的邊際效益。故本書僅以8088 CPU指令為研討對象,至於程式應用在什麼機型,就不在本書的考慮范圍內了。
二、目錄及磁盤
假定讀者為有經驗的程式師,且電腦為 IBM PC/XT/AT。 則在著手制作程式之初,應該先將系統准備妥當。即所謂「工欲善其事,必先利其器」,如果未能注意到下面所提的細節,僅僅制作一、兩個程式尚可應付。待工作量一大,程式漸漸增多,不是某些程式找不到,就是找到了也不能一目瞭然。結果是心煩意躁,馬馬虎虎,另外再寫一個,勉強應付了事。
硬盤空間較大,應行注意的事相對的也較多。首先應妥善規劃好目錄及子目錄的分類及應用方式,否則每當要找一個檔案時,往往有大海撈針之歎。再不然,在修改程式時,如果將不同的版本放在一起,一定會張冠李戴,錯誤百出。
每位程式師都應該有自己的目錄,而且每個不同的整套檔案都應有不同的子目錄,這樣方能明確的分辨以及應用。而最有效率的方法是,在每一子目錄中,檔案數不宜太多,且僅存放在同一工作項目下所需要的程式。
一旦硬盤壞了,所有貯存資料均將付諸流水。為了安全,一定要用軟盤備份。最好每天復制一次,雖然每次復制,相當麻煩,但是萬一程式被毀壞,那種損失是無從估計的。
最好的方法,是制作一個專門復制的工具,一般用 .bat 應用程式,每天工作完畢,只要執行一次即可。
三、應用工具
程式寫作是為了控制電腦運作,應用工具則是將程式師的觀念和理解轉化為能夠連續執行的指令。因此,市面上的應用工具雖多,卻不見得對程式的寫作有所助益。下面列了幾種,只要運用純熟,絕對夠用了。
程式寫作:EDLIN ,PE II,WS等。
程式編譯:masm.exe
早期 (1.25) 版本容許較多的「外界標題」,即external label,但該版本僅限用於8088指令,較宜大型程式處理。
4.0 以前的版本,於檔案開始時,可用.xcref以產生標題及緩沖器的位址對照表。但後期的版本會發生錯誤,不能再用。
程式聯接:link.exe
早期的版本對 segment public 'xxxx' 有些規定,但 3.0以後,除了對code及 data 有效外,其他如 byte 及 word 等皆無作用。
程式偵錯:debug.exe 或 symdeb.exe 及 mapsym.exe
後兩者為套件,必須另購。其優點為在偵錯過程中,可以使用原程式中的標題名稱,且可設「斷點」等,偵錯方便,功能較強。
系統處理:pctools.exe 是 dos下很有用的工具,可以作檔案管理,也可用來直接修改程式機器碼。此外,連機時可以用ll.exe 或xtalk.exe等。尤其是系統程式的偵錯,經常需要用聯機的方式,以另一台微電腦作為監視器。
這些工具應統一放在 \dos 子目錄中,且須在系統之自動執行程式(autoexec.bat)裡,先設妥優先通道(path)如:
1:PATH=\DOS;
是則,不論在哪一個子目錄中,前述之工具皆可使用。