安裝TASM 5.0很簡單,您只需要下載本站[相關工具]中的"TASM50.zip"文件,解壓後在Windows9x/NT下執行"INSTALL.EXE"即可開始安裝。
1.如果你在安裝TASM5.0之後安裝Delphi 1.0或Borland C++ 4.x及更高版,你需要手動更改系統的設置以使這些產品可以共存於同一個系統中——檢查“System.ini”文件的[386Enh]一節是否有多個TDDEBUG.386驅動項。刪除多余的TDEBUG.386項,保證只有這個版本的TDDEBUG.386裝入。這可通過檢查[386Enh]小節來確認,如果安裝完TASM 5.0,未見其更改,請手工在System.ini文件的[386Enh]小節中增加:
device=c:\tasm\bin\windpmi.386——支持TASM5.0的32位工具。
device=c:\tasm\bin\tddebug.386——支持我們的調試器。
2.配置Windows NT命令行提示符(相當於Windows9x的MS DOS方式)
在NT命令行提示符下運行16位保護方式程序如tlink,需要參照以下所示在CONFIG.NT文件中增加一行:
ntcmdprompt
3.定制安裝TASM5.0時的選項:
16-bit command line tools [3085K]
安裝16位工具(TASM、TLINK等),這也是最小化安裝的默認選項。(建議不安裝)
32-bit command line tools [3163K]
安裝32位工具(TASM32、TLINK32)
Turbo Debugger for DOS [1041K]
安裝Turbo的DOS調試工具,也是最小化安裝的默認選項。(建議不安裝)
Turbo Debugger for Windows [1533K]
安裝Turbo的Windows調試工具及相關的其它調試工具。
Turbo Debugger for Win32 [1502K]
安裝Turbo的Win32程序調試工具。
Examples [580K]
安裝Borland TASM的例程。
Documentation Files [6K]
安裝說明文檔。
4.如何在Windows9x/NT下運行TASM32等32位工具
TASM5.0安裝程序會在Windows程序管理器下建立TASM5.0組,但是它不會為那些在命令行提示符下運行的工具建立相應的PIF文件。TASM.EXE等16位可執行工具不需要特別的PIF文件就能夠運行在常規的Windows MS-DOS方式下。但要從Windows MS-DOS方式下運行TASM32等32位工具,則需要為其建立相對應的PIF文件。最簡單的方法是利用B32TOOLS.PIF(在TASM\BIN目錄下)在Windows MS-DOS方式下運行這些32位工具—在WIndows下雙擊B32TOOLS.PIF,會激活一個DOS窗口,之後可以在其下運行TASM32.EXE和TLINK32等32位工具。
TASM 5.0 文件清單
X:\TASM
BIN TASM5.0工具包執行文件(77個)
TD.PIF 為調試工具TD生成一個供其運行的命令提示符環境
B32TOOLS.PIF ★★定義一個Tasm5.0 32位工具運行的命令提示符環境
TASM.EXE 16位實模式匯編編譯器
TASMX.EXE 16位保護模式匯編編譯器
TASM32.EXE ★★★32位保護模式匯編編譯器
TLINK.EXE 16位連接程序(只能連接16位的目標文件)
TLINK32.EXE ★★★32位連接程序(只能連接32位的目標文件)
BRC.EXE 16位的資源編譯/綁定程序
BRCC.EXE 16位的資源編譯程序
BRC32.EXE ★★★32位的資源編譯/綁定程序
BRCC32.EXE ★★32位的資源編譯程序(單純的資源編譯器,功能與BRC32一致)
MAKE.EXE ★★★一個能調用MAKEFILE並按此文件的規定完成編譯、鏈接的工具
MAKER.EXE MAKE的NT版(在WindowsNT下運行MAKE程序遇到困難時用它試試)
TLIB.EXE ★★★Tasm庫管理工具
IMPLIB.EXE ★★★由動態鏈接庫生成相應引入庫的工具(一個絕對有用的工具)
IMPDEF.EXE ★★由動態鏈接庫生成其模塊定義文件的工具
H2ASH.EXE 由C/C++頭文件生成Tasm頭文件(包含文件)的轉換工具(16位)
H2ASH32.EXE ★★由C/C++頭文件生成Tasm頭文件(包含文件)的轉換工具(32位)
WINSTUB.EXE 給Windows程序附加一個DOS頭(這樣在DOS下運行PE程序會出現提示)
MAKESWAP.EXE 虛擬內存工具(出現內存溢出錯誤時可以用它建立一個磁盤交換文件)
OBJXREF.EXE 將OBJ轉化為REF文件的轉換工具
RLINK.EXE 資源連接器(把編譯後的資源文件同可執行文件裝配到一起)
TDUMP.EXE ★★文件觀察器(主要用於獲取.EXE或.OBJ或.LIB文件的相關信息)
THUNK.EXE 微軟Thunk工具,主要用於16/32位程序的轉換(詳細說明見EXAMPLES)
TOUCH.EXE 設置列表中文件的日期、時間為當前或指定日期、時間的工具
JITIME.EXE 即時調試安裝工具
GROUPS.EXE 在Windows的程序管理器下建立Tasm5.0的程序組
32RTM.EXE (沒用過)
TDSTRIP.EXE 符號表解析程序(for 16位)
TDSTRP32.EXE 符號表解析程序(for 32位)
TDMEM.EXE TD內存觀察器(僅運行於DOS方式下)
TDRF.EXE TD遠程文件傳輸工具
TD.EXE DOS程序調試工具(集成環境)
TDW.EXE Windows程序調試工具(集成環境)
TD32.EXE Win32程序調試工具(集成環境)
TDINST.EXE TD.EXE的配置工具(集成環境)
TDWINST.EXE TDW.EXE的配置工具(集成環境)
TD32INST.EXE TD32.EXE的配置工具(集成環境)
TDWINI.EXE TD顯示動態連接庫配置工具(for Windows)
TDREMOTE.EXE 遠程調試工具(for DOS)
WREMOTE.EXE 遠程調試工具(for Windows)
WRSETUP.EXE 遠程驅動設置程序(for Windows)
GREP.COM (沒用過)
WINDPMI.386 驅動程序,應該增加到“System.ini”文件[386Enh]一節
TDDEBUG.386 調試程序的驅動程序
BUILTINS.MAK ★內建makefile文件(如果用戶缺省makefile文件則MAKE.EXE調用它)
TLINK.CFG TLINK的配置文檔
TLINK32.CFG TLINK32的配置文檔
TASM.HLP Turbo Assembler幫助文件(Windows幫助文件格式)
TDWINI.HLP TD顯示動態連接庫配置工具幫助文件
TDHELP.TDH TD.EXE的幫助文件
TDWHELP.TDH TDW.EXE的幫助文件
TD32HELP.TDH TD32.EXE的幫助文件
RTM.EXE 非獨立工具,由其他工具調用(相當於一個覆蓋文件)
TDCON32.EXE 非獨立工具,由TDW.EXE調用(相當於一個覆蓋文件)
DPMI16BI.OVL 覆蓋文件
DPMI32VM.OVL 覆蓋文件
RLINK32.DLL 動態連接庫
RW32CORE.DLL 動態連接庫
RWRES.DLL 動態連接庫
BWCC.DLL 動態連接庫
TDKBD32.DLL 動態連接庫
TDVID16.DLL 動態連接庫
TDWINTH.DLL 動態連接庫
DUAL8514.DLL 顯示驅動動態連接庫
STB.DLL 顯示驅動動態連接庫
SVGA.DLL 顯示驅動動態連接庫
SVGA32.DLL 顯示驅動動態連接庫
TDWGUI.DLL 顯示驅動動態連接庫
HELP.ICO 圖標文件
TDDOS.ICO 圖標文件
TDOSINST.ICO 圖標文件
TD32.ICO 圖標文件
TD32INST.ICO 圖標文件
TDW.ICO 圖標文件
TDWINST.ICO 圖標文件
WORKOPT.DOS (不知道,名稱含義好象是工作選項?)
INCLUDE
TASM 5.0包含文件(3個)
(建議把你的包含文件放置於此)
MMSYSTEM.INC 16位包含文件
TOOLHELP.INC 16位包含文件
WINDOWS.INC 16位包含文件
LIB TASM 5.0庫文件(2個)
(建議把你的引入庫文件放置於此)
IMPORT.LIB 16位引入庫文件
IMPORT32.LIB 32位引入庫文件
EXAMPLES TASM 5.0例程
(其下文件略) .
DOC TASM 5.0說明文檔(10個)
MAKE.TXT MAKE和MAKER的使用說明
TDUMP.TXT TDUMP的使用說明
TLIB.TXT IMPLIB、IMPDEF和TLIB的使用說明
TLINK.TXT TLINK(TLINK32),TLINK.CFG,Response files,模塊定義文件使用說明
TSM_HELP.TXT 本文件解答了Turbo Assembler的一些常見問題
TSM_UTIL.TXT TDSTRIP(TDSTRP32)、TDMEM、TDWINI、TDRF使用說明
TD_ASM.TXT TURBO DEBUGGER Assembler-level debugging
TD_HDWBP.TXT TURBO DEBUGGER USING THE HARDWARE DEBUGGING FEATURES
TD_RDME.TXT TURBO DEBUGGER Turbo Debugger Readme file
TD_UTILS.TXT H2ASH
UNPAK.EXE . 解包程序
README.COM . 安裝完成時運行一次,以後好象沒什麼作用了
TSM_INST.TXT . TASM 5.0安裝說明文檔
TSM_RDME.TXT . TASM 5.0總概
TASM 5.0 技術支持及升級
寶藍(Borland)站點:http://www.borland.com/
寶藍TASM網頁:http://www.borland.com/borlandcpp/cppcomp/tasmfact.html
寶藍TASM新聞組:news://newsgroups.borland.com/borland.public.tasm/
最小的TASM 5.0 工具包
如果您想用匯編語言編制一個Windows程序,那麼您的TASM 5.0工具包至少需要包含以下文件:
TASM32.EXE ;編譯器
TLINK32.EXE ;連接器
BRC32.EXE ;資源編譯器
TLIB.EXE ;庫管理工具
IMPLIB.EXE ;參見上面
當然,如果你不想用最後兩個工具,可以用Turbo ASM5.0的“import32.lib”取代它們,只是前者是“漁”,後者是“魚”,您要哪個呢?最後你必須再擁有一個文本編輯器——最簡單的就是Windiows9x的記事本了,可是不十分趁手,因為編寫程序總希望編輯器能有記憶、塊拷貝功能,不過不要著急,本站終究要推出幾個用匯編編寫的實用程序,其中就有9x&2K下的匯編語言編輯器了!
編譯器TASM/TASMX/TASM32簡介
[暫只介紹TASM32]
Turbo Assembler Version 5.0 Copyright (c) 1988, 1996 Borland International
Syntax: TASM32 [options] source [,[object] [,[listing] [,[xref]]]] [;]
句法:
TASM32 [選項] 源文件名 [,[目標文件名] [,[清單(或列表)文件名] [,[索引(或符號)表文件名]]]] [;]
說明:(句法英文行非原文,是本站根據實際修改而得,更能反映實際情況)
1. “選項”可以是下面任意一項或幾項的組合。請根據具體情況選用,也可不要。不過稍後你會發現,其中一些選項在編譯Win32匯編語言程序時起著很重要的作用。翻譯是我結合經驗采用意譯方式表述的,錯誤之處,還請指正。更詳細的說明,將在論壇專題中一一說明和示例。 /a,/s Alphabetic or Source-code segment ordering
規定在生成目標文件時,按英文字母順序還是源代碼段順序寫段(默認為/s)
/c Generate cross-reference in listing
在清單文件中產生交叉引用索引
/dSYM[=VAL] Define symbol SYM = 0, or = value VAL
定義匯編程序符號(供條件編譯使用,以使條件編譯時得變量或信息的初始值可以通過TASM32命令行傳遞獲取)
/e,/r Emulated or Real floating-point instructions
創建防真的或實際的符點指令的代碼
/h,/? Display this help screen
在屏幕上顯示本幫助信息
/iPATH Search PATH for include files
設置包含文件搜索路徑
/jCMD Jam in an assembler directive CMD (eg. /jIDEAL)
輸入一個匯編指令(如:/jIDEAL)
/kh# Hash table capacity # symbols
散列表容納#個符號
/l,/la Generate listing: l=normal listing, la=expanded listing
規定匯編清單文件:l=正常清單文件,la=擴充的清單文件
/ml,/mx,/mu Case sensitivity on symbols: ml=all, mx=globals, mu=none
設置編譯時對符號大小寫敏感度:ml=全部敏感,mx=對公共或外部名稱大小寫敏感,mu=不敏感
/mv# Set maximum valid length for symbols
設置符號的最大有效長度(符號超過設置值長度部分將被忽略)
/m# Allow # multiple passes to resolve forward references
允許第#次編譯(掃描)可以向前引用(編譯一般采用二次掃描,所以一般使用:/m1、/m2)
/n Suppress symbol tables in listing
取消清單文件中的表
/os,/o,
/op,/oi Object code: standard, standard w/overlays, Phar Lap, IBM
規定目標代碼格式,分別對應:標准格式,標准w/overlays格式,Phar Lap格式和IBM格式
/p Check for code segment overrides in protected mode
檢查非純代碼(實模式下可寫代碼段,而保護模式下就會產生問題,保護模式下寫代碼段一般是通過別名段描述符來實現的,參見‘例程精選’中的‘Pm09.zip’——題外話,呵呵)
/q Suppress OBJ records not needed for linking
在目標文件取消那些和鏈接無關的數據記錄
/t Suppress messages if successful assembly
如果編譯成功則取消所有信息
/uxxxx Set version emulation, version xxxx
設置版本沖突檢測
/w0,/w1,/w2 Set warning level: w0=none, w1=w2=warnings on
設置出錯告戒級別
/w-xxx,/w+xxx Disable (-) or enable (+) warning xxx
使不能(/w-)或使能(/w+)出錯警戒
/x Include false conditionals in listing
在清單文件中包含假條件(條件匯編有用:可以在清單文件中包括不符合條件分支的代碼)
/z Display source line with error message
在錯誤信息中顯示源代碼行
/zi,/zd,/zn Debug info: zi=full, zd=line numbers only, zn=none
調試信息:zi=全部,zd=僅有行號,zn=無
2. “源文件名”,必選項,是你用任意文本編輯器編寫的匯編語言程序文件的名稱,文本格式。如果該文件使用的是推薦擴展名“ASM”,式中可以不輸入文件名的擴展部分。當然,你也可以指定其它擴展名,但在式中一定要輸入程序文件的全名——建議源程序使用推薦擴展名。
3. “目標文件名”,可選項,是我們編譯的目的,供鏈接程序鏈接裝配時使用,二進制格式。如果編譯正確,一個目標文件就會建立。如果你在式中未指定名稱(包括擴展名),編譯程序就會自動以“源程序文件名”+“.OBJ”作為它的文件名(默認),否則就按你指定的——建議采用默認的。
4. “清單文件名”,也稱“列表文件名”,可選項,便於我們查找源程序中的各種錯誤,文本格式。默認擴展名為“.LST”。
5. “索引表文件名”,也叫“符號表文件名”,可選項,其中包含了程序中的各種符號、碼段等信息,二進制格式,默認擴展名為“.XRF”。為了能閱讀這種文件,我們應該使用CREF命令將其轉換為文本文件。CREF命令最常用的格式是:
CREF [符號表文件名];
示例:
TASM32 myfile,,,
按默認方式,編譯"myfile.asm"文件,生成"myfile.obj"、"myfile.lst"和"myfile.crf"文件。
TASM32 myfile;
按默認方式,編譯"myfile.asm"文件,只生成"myfile.obj"文件。
TASM32 /v /z myfile,,;
編譯期間將全部狀態信息和出錯信息顯示在屏幕上,並生成"myfile.obj"、"myfile.lst"文件。