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

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

編輯:匯編語言

四、簡化名稱

前述各種工具,在程式偵錯過程中使用頻繁,為了應用上的方便,如果能少輸入一些字符,不僅節省時間,且可避免錯誤。令用者在慣性反應下,得以集中精神,思考其他細節。
簡化名稱是最簡單的方法,最好只用一個字母,由於長度相等,其後面的檔案名稱,就可以利用系統所提供的“F3”「復制上行」功能,不必再行輸入。

是以:edlin.com 改為 e.com
masm.exe 改為 m.exe
link.exe 改為 l.exe
debug.exe 改為 d.exe
symdeb.exe 改為 s.exe
例如:在完成一個程式後,若要匯編,只要改第一個字母即可。
c:\>e myfile.asm ( 原來在系統中輸入的字符 )
此時僅輸入“M”,再按“F3”鍵,立即變為:
c:\>m myfile.asm
此外,如不需 .lst 等檔案,則再加一“;”即可。
c:\>m myfile.asm;
“L”及“D”等同樣都可依循上面的方法,看來是雕蟲小技,但實際上所節省的時間及精力卻不同凡響。

五、參考資料

除專門性的資料外,程式師應該備妥各種有關輸出、入,各種周邊設備的參考資料或手冊等,以便隨手查閱。
最重要的是軟件參考手冊 MS-DOS Software Reference,其中有各種中斷命令的使用規格。唯應注意的,是有一些中斷功能與IBM BIOS相同,我建議讀者不要使用這些中斷,因其調用過程中,要借道BIOS,會使速度減慢。
其次為 IBM Programmer's Manual 的BIOS中斷規格, 是處理所有周邊設備必需的工具。
正因為它涉及周邊設備,在設計中文系統時,輸出入、顯示及列印等功能都有待修改,這本手冊更須徹底瞭解。
此外還有鍵盤的輸入碼表,也是編程必備的資料,本書附錄三即為簡要的碼表介紹。
如果是編寫應用程式,上述的資料已足夠應付,但若涉及系統,則尚需瞭解系統的記憶空間安排,下表為 IBM微電腦的記憶區結構。各種廠牌設計理念雖有差別,但大同小異。
系統段 位 址 機 能 用 途
┌──────────────┐
0000 0000H │中斷調用表 │
├──────────────┤
0000 0500H │DOS 及系統操作區 │
├──────────────┤
0000 4C00H │周邊控制程式 │
├──────────────┤
0000 5400H │COMMAND 運用 │
├──────────────┤
0000 0E0A0H │使用者操作空間 │
├──────────────┤
000A 0000H │螢幕緩沖區(VGA) │
├──────────────┤
000B 0000H │螢幕緩沖區(CGA,EGA) │
├──────────────┤
000C 0000H │EMS 記憶體擴充區 │
├──────────────┤
000F 0000H │ROM BIOS 程式區 │
└──────────────┘
上述之系統段,調入段暫存器中時,原來的 000AH應該是0A00H,余同。
又使用者操作空間的起始點,因各家設計而異。
第二節 應用工具的制作

一、聯接目標檔(OBJ Files)

程式完成以後,相互間的聯結,越大越難,有時是結構的改變,有時是檔名的變動。不論什麼因素,在在都需要加以維護,而且對工作效率關系重大。

因此,需先建立一個 do.bat 的執行檔,其內容為:
1:LINK/M @XXXX
此 XXXX 為一記錄檔,其中記載所有需聯結的目標檔名,如果有任何異動,直接更改此檔即可。
在聯結時,執行 DO 即可。

例如:要制作 draw.exe 檔,已有 dr1.obj .. drn.obj 以及dr-seg.obj 等檔,則此 xxxx 檔內容應為:
1: DR-SEG+
2: dr1+dr2+.. drn
3: DRAW,DRAW,,
在執行 do 後,如果沒有錯誤,所產生的 draw.exe 以及draw.sym 即可供測試。

也可在第三條後加入:
4: symdeb (或僅用 s)draw.exe draw.sym
似此,在發展初期,立即可以測試。如果不需再次聯結,將第四條另外作一 .bat 檔,隨時執行亦可。

另外有一點需要注意的是,為了要讓可執行的程式由指定的起點開始,應在原始檔 .asm 的結束格式標記‘end ’後,加一起點的標題名稱。
此標記不論有多少,聯接目標檔時,會以第一個找到的標題為唯一的入口。如果程式很多,參與工作的程式師也多,在分開測試時,經常使用自己的入口,一旦聯接在一起,就可能發生錯誤。
解決的方法是由負責聯接的程式師,事先准備好前述XXXX記錄檔,將帶有入口標記的程式放在最前面即可。當然,將其他程式標記後的標題刪除亦可,但不如前法效率高。

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