首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 組合語言

匯編語言的藝術:準備工作——工具簡化與參考資料整理(二)

     編輯:組合語言

四、工具指令簡化:單字母別名加速操作

頻繁使用的工具,建立單字母別名放入 \DOS 目錄並加入 PATH,配合 F3「重複上一指令」鍵,大幅縮減輸入:

原指令別名效果示範
edlin.come.com輸入 e myfile.asm → 按 M → F3 → 變 m myfile.asm
masm.exem.exe同理快速切換編譯
link.exel.exe快速聯結
debug.exed.exe快速偵錯
symdeb.exes.exe快速符號偵錯

編譯時加分號 m myfile.asm; 可抑制 .lst 產生。看似小技,實戰中節省大量鍵盤操作與認知負擔。

五、必備參考資料庫

  • MS-DOS Software Reference:中斷呼叫規格核心手冊。注意:部分中斷功能經由 BIOS 轉發,會降低速度,能直接操作硬體者優先直呼。
  • IBM Programmer's Manual (BIOS 篇):週邊控制必備,中文系統開發(輸入、顯示、列印)更需熟稔。
  • 鍵盤輸入碼表:編程基礎資料,書附錄三有簡表。

IBM PC 記憶體結構速查表

段位址功能用途
0000:0000H中斷向量表
0000:0500HDOS 及系統作業區
0000:4C00H週邊控制程式
0000:5400HCOMMAND 作業區
0000:E0A0H使用者作業空間(各廠牌不同)
000A:0000H螢幕緩衝區 (VGA)
000B:0000H螢幕緩衝區 (CGA/EGA)
000C:0000HEMS 擴充記憶體區
000F:0000HROM BIOS 程式區

註:載入段暫存器時,000AH 應為 0A00H,其餘類推。

第二節 應用工具的製作:自動化聯結與入口點管理

一、建立 do.bat 自動聯結腳本

; do.bat 內容
LINK/M @xxxx
; xxxx 為記錄檔,列出所有 .obj 檔名,異動時只改此檔

記錄檔範例(產生 draw.exe):

DR-SEG+
dr1+dr2+..+drn
DRAW,DRAW,,

執行 do 後產生 draw.exe 與 draw.sym,可直接測試。初期可在記錄檔第四行加 symdeb draw.exe draw.sym 實現編譯聯結測試一條龍。

二、入口點控制策略

.asm 結尾 END START 指定入口。多模組聯結時,聯結器採第一個遇到的入口標號。解決方案:聯結負責人預先整理記錄檔,將帶入口標號的模組置最前;或刪除其他模組的入口標號(前者效率更高)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved