摘要:匯編語言作為效率最優的計算機程序開發語言,隨著計算機科學技術的發展其開發環境也在向前發展。經歷了基于命令行方式的編輯、匯編、鏈接、運行和DEBUG調試的上機過程,從MASM6.X開始,開發匯編源程序不僅可以以命令行方式進行,而且也可以在程序員工作平臺PWB這一集成式開發環境下實現匯編語言源程序的上機調試全過程。
關鍵詞:匯編語言;PWB;CodeView;集成開發環境
中圖分類號:TP312文獻標識碼:A文章編號:1009-3044(2008)34-2009-02
The Hands-on Process of Assemble Language’s Source Program under the Integrated Development Environment
CUI Wei-dong
(Department of Computer Science, Shangqiu Normal University, Shangqiu 476000, China)
Abstract: As the most efficient development language, the Assemble Language and it’s development environment also develop well with the development of Computer science and technology. After going through the debugging process of Assemble Language’s Source Program which based on command line way such as edit, link, run and DEBUG, with the beginning of MASM 6.x the Assemble Language’s Source Program can not only run on with the base of command line way, but also complete the whole Hands-on process under the Integrated Development Environment of the Programmer’s WorkBench.
Key words: Assemble Language; PWB; CodeView; Integrated Development Environment
1 引言
匯編語言是計算機能提供給用戶最快而又最有效的語言,作為可以直接對計算機硬件進行操作的語言,無論語言和架構如何發展,其最高的執行效率和最直接的硬件操作都是不可替代的,這也是為什么絕大多數語言中都可以內嵌匯編語言的原因。而在實際工作中,能使用匯編語言熟練編寫程序的工作人員卻相當匱乏,究其原因,除了匯編語言比較抽象,難于掌握以外,一個主要的原因就是匯編語言的上機環境普遍使用的是基于命令行的匯編、鏈接程序,沒有集成開發環境,造成程序在編制和調試上的困難。不過,現在這方面可有所改善,經歷了基于命令行方式的編輯、匯編、鏈接、運行和DEBUG調試匯編語言源程序的過程,從MASM6.X開始,開發匯編源程序不僅可以以命令行方式進行,而且也可以在程序員工作平臺PWB(Programmer’s WorkBench)這一集成式開發環境下實現匯編語言程序的上機調試全過程。本文以MASM6.11軟件包的使用為例較為詳細的敘述匯編語言源程序上機實現的過程,希望對各位計算機同仁工作中學習上能有所幫助。
2 MASM6.11安裝過程及安裝后的任務簡介
Microsoft的MASM6.11完整版的壓縮文件不到5MB,解壓后運行setup.exe文件進行安裝。MASM可以在各種版本的Windows操作系統中使用,如:DOS/Windows NT,MS-DOS/Microsoft Windows,Microsoft Windows NT。在安裝過程中對系統的提問多采用默認設置,默認的安裝路徑是C:\\MASM611。MASM6.11軟件包提供了匯編語言集成開發環境,其主要功能有四種:匯編器/鏈接器、在線幫助QuickHelp、 PWB和CodeView,它們都安裝在C: \\MASM611\\BIN目錄下。PWB是一個集成開發環境,在PWB中利用編輯器、在線幫助、匯編器/鏈接器和CodeView可以完成所有任務。CodeView(簡稱CV)是一種調試工具,提供了符號調試手段。它允許一次執行單條指令,幾條指令或整個程序。在調試過程中可以在不同的窗口中顯示寄存器、內存單元的內容。
安裝后的必需任務一是建立TOOLS.INI,該文件用于記錄PWB和CV的各種設置。安裝程序后,在目錄C:\\MASM611\\init中有一個名為TOOLS.pre的文件,可以復制該文件至C: \\MASM611\\BIN下,然后改名為TOOLS.INI即可。不管用戶使用的是哪一種操作系統,都必須設置必要的環境變量才能使MASM6.11正常運行。其次每次使用MASM前要先執行C: \\MASM611\\BIN目錄下的一名為NEW-VARS.BAT的批處理文件,該文件將設置MASM的運行環境變量,包括DOS搜索路徑。
3 PWB系統的進入和退出
運行PWB有兩種方法:1) 在桌面上選擇“開始”→“運行”,在“打開”文本框中輸入命令command或cmd進入DOS環境,執行C: \\MASM611\\BIN下的可執行文件pwb.exe;2) 在桌面上選擇“開始”→“程序”→“附件”→“命令提示符”進入DOS環境,執行C: \\MASM611\\BIN下的pwb.exe。PWB可在窗口方式和全屏幕方式兩種狀態下運行,通過
若要退出PWB,可以選擇File菜單中的Exit選項或快捷鍵Alt+F4。
4 PWB開發環境的設置
集成開發環境PWB提供了各種選項,以滿足用戶編輯、匯編、鏈接、運行和調試的不同要求,所以啟動PWB后,一般需做一些設置工作。尤其當我們調試運行的匯編語言源程序沒有屏幕輸出功能時,這一步驟就顯得尤其重要。
設置PWB的開發環境主要有三個必需的步驟,這三個步驟都是通過Options下拉菜單設置完成:
步驟一:選擇生成的可執行文件的格式是.EXE、.COM、.DLL、.LIB等。
具體步驟是在Options菜單中選擇Project Templates選項,在下一級菜單中選擇Set Project Template。在Runtime Support中當前有兩個選項:None和Assembler,如果安裝有其他程序開發語言的話,這里也會顯示出來。我們一般選擇None,因為大部分的程序不需要和其他庫鏈接。在匯編語言和C/C++,BASIC,PASCAL等高級語言的混合編程或Windows編程時,需要相應庫的支持。下一步選擇DOS.EXE,表明最后產生的可執行文件是.EXE文件。如圖1所示。完成設置后,選擇對話框底部的OK選項。
步驟二:設置生成的可執行文件為調試類型還是發布類型。
在Options菜單中選擇Build Options選項,在Build Options對話框中有兩個選項:Use Debug Options和Use Release Options,如圖2所示。一般選擇前者,因為使用該選項生成的可執行文件帶有符號信息,便于CodeView的調試。如果使用Release選項創建可執行文件,則在調試程序時看不見符號信息,不利于程序的調試。
步驟三:選擇生成列表文件等輔助信息。
具體步驟是從Options菜單中選擇Language options,然后再選擇MASMOptions,這時出現圖3所示的對話框。
在圖3中,取消選擇Warning Treated as Errors,然后選擇Set Debug Options選項。出現圖4所示的對話框。
一般情況下,需要選擇Generate Listing File命令,該命令用于匯編時產生列表文件.lst,在列表文件中包含源程序和目標代碼。點擊兩個對話框底部的OK選項完成設置。
配置好PWB環境后,就可以開始著手進行匯編語言源程序的編輯、匯編、鏈接和運行。其過程和高級語言的上機過程非常相似,在上述操作完成以后,把要調試的匯編語言源程序編輯錄入,File菜單下Save或Save As,文件保存時擴展名注意必須是.asm,然后使用Project菜單下Compile File進行匯編,有錯誤的話根據錯誤提示的出錯位置和英文信息排查修改錯誤,無嚴重性錯誤再鏈接Build生成可執行.EXE文件,最后使用Run菜單下的Execute運行。若運行的程序沒有輸出功能的話這時則須使用CodeView調試器進行調試觀察了。
5 CodeView 調試器的使用
CodeView是一個簡單、直觀的多窗口全屏幕調試工具,其功能比DEBUG強大得多??烧{試多種語言的源程序所生成的執行代碼,支持16位和32位匯編語言指令,允許用戶運行程序或單步執行,可以設置斷點,在程序運行中查看并修改內存和寄存器的內容。
建立.EXE文件后,在PWB中選擇Run菜單中的Debug選項可進入CodeView調試環境,CodeView的調試窗口如圖5所示。
如果想退出CodeView,可以選擇File菜單項中的Exit選項,此時系統返回到PWB。圖五顯示窗口畫面的左上窗口Sourse1是調試器的主窗口,其顯示被調試的源程序或執行代碼。右窗口Reg是顯示寄存器窗口,它可顯示16位和32位寄存器的內容。左下窗口Memory1是內存窗口,顯示內存單元的內容。除了這三個窗口,CodeView中還有許多其他窗口,每種窗口都有不同的作用和功能。這些窗口的打開和關閉可以通過Windows的下拉菜單根據需要進行控制。在程序調試運行過程中可以使用功能鍵F8跟蹤執行程序指令,F10單步執行程序指令。在指令執行的過程中,如果指令的運行涉及到內存或寄存器內容的改變,則相應變化后的內容反向高亮顯示。
6 結束語
“匯編語言程序設計”是一門實踐性很強的學科,要求我們在學習理論知識的同時更重視上機環節的實踐操作能力的培養。隨著計算機科學技術的不斷向前發展,高版本的匯編語言集成開發環境的出現,在一定程度上降低了匯編語言源程序調試方面的難度。
參考文獻:
[1] Microsoft Corporation.Environment and Tools.Microsoft?誖 MASM Assembly-Language Development System Version 6.1 For MS-DOS?誖 and WindowsTM Operating Systems[S].2000.
[2] 吳向軍,羅源明,劉廣旋.匯編語言程序設計[M].北京:高等教育出版社,2002.
[3] 馬力妮.80X86匯編語言程序設計[M].北京:機械工業出版社,2004.
[4] 崔衛東.VC++與匯編語言混合編程的研究與實現[J].福建電腦,2007(5).