資源描述:
《匯編語言編程軟件使用指南》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、匯編語言編程和調(diào)試工具一、匯編語言編程工具學(xué)習(xí)匯編語言的目的就是要用匯編語言編程來解決實際問題,下面介紹二種常用的匯編語言編程環(huán)境:宏匯編MASM6.11和TurboAssember5.0。1.1、宏匯編MASM系統(tǒng)在宏匯編MASM系統(tǒng)中,程序員可用二種方法來處理源程序:命令行和集成環(huán)境。1.1.1命令行命令1、編寫源程序可用計算機系統(tǒng)中各種能編輯文本文件的編輯器來編輯匯編源程序。常用的編輯器有:EDIT、Q、Word、記事本、寫字板、WPS等。源文件的后綴為:.ASM。2、匯編程序當(dāng)源程序編寫好后,可用M
2、ASM命令來匯編該源程序。如果源程序沒有語法錯誤,那么,將生成目標(biāo)文件(.OBJ文件),為最終生成可執(zhí)行文件作準(zhǔn)備,但如果源程序有錯誤,匯編程序?qū)@示出錯誤位置和原因,也可用列表文件(.LST文件)來查看出錯位置和原因。下面給出一些使用該命令的實例情況。例1.1:查看MASM命令的功能…>masm/?(*)用戶輸入的命令用“下劃線”來表示,系統(tǒng)顯示的內(nèi)容沒有“下劃線”。以下與此相同?!?ZiGeneratesymbolicinformationforCodeView/ZdGenerateline-numb
3、erinformation其中:選項/Zi和/Zd是經(jīng)常被引用的二個選項,因為它們與符號跟蹤有關(guān)。例1.2:用MASM命令匯編源程序…>masmtest……Invoking:ML.EXE/I./Zm/ctest.asm……Assembling:test.asm如果MASM命令顯示了類似如上的處理結(jié)果,那么,表示源文件TEST.ASM已成功匯編,并已生成了其目標(biāo)文件TEST.OBJ。13例1.3:用MASM命令匯編源程序…>masmtest……Invoking:ML.EXE/I./Zm/ctest.asm……
4、Assembling:test.asmtest.asm(10):errorA2070:invalidinstructionoperands如果MASM命令顯示了類似如上的處理結(jié)果,那么,表示源文件有錯,沒有生成其目標(biāo)文件。在本例中,顯示第10行有語法錯:非法的指令操作數(shù)。這時,要用編輯器閱讀源程序的第10行,看看輸入指令時是否有誤。假如源程序有許多錯誤,很難記住全部出錯位置,那么,可用列表文件來輔助查錯。例1.4:在匯編源程序的同時,生成其列表文件?!?masmtest,,test……Assembling:
5、test.asmtest.asm(10):errorA2070:invalidinstructionoperands列表文件TEST.LST是一個文本文件,可用編輯器直接閱讀,并可看出其錯誤的位置和原因。下面是一個列表文件的實例?!?edittest.lstMicrosoft(R)MacroAssemblerVersion6.1108/26/0018:42:57test.asmPage1-1.modelsmall.4860000.data.radix700002A080Fw2db60,11,18000300
6、0A0009w1dw10T,1001B0000.code.startupmovdl,7777htest.asm(10):errorA2070:invalidinstructionoperands00108BC2movax,dx00120FA4C201shlddx,ax,10016D1D0rclax,1.exit0end在此后面還有其它內(nèi)容,但它們對查錯沒有幫助,所以,在此省略。131、連接程序當(dāng)由源文件匯編成功后,即可用連接程序(LINK.EXE)生成其可執(zhí)行文件。例1.5:查看連接程序(LINK.EXE)
7、的具體選項?!?link/?LINK,,,,Validoptionsare:/?/ALIGNMENT/BATCH/CODEVIEW……/STACK/TINY/WARNFIXUP例1.6:用連接程序生成執(zhí)行文件。方法1:…>linktest……RunFile[test.exe]:ListFile[nul.map]:Libraries[.lib]:DefinitionsFile[nul.def]:LINK:warningL4021:n
8、ostacksegment這種方法需要確認(rèn)連接過程中的各種文件名,如果使用文件名的默認(rèn)值,那么直接按“回車”鍵即可。在上面四個文件名中,最重要二個文件名是:執(zhí)行文件名和庫文件名。一般情況下,無需更換最終生成的執(zhí)行文件名;如果在連接過程中需要其它的庫文件,則在顯示第三行提示時,輸入所需要的庫文件名。最后一行顯示一個警告信息,提出本程序沒有定義堆棧段,該警告信息可以不必理會,因為該執(zhí)行文件是可運行的,在操作系統(tǒng)裝入時