上機操作是從課本到實踐的一步跨越,這是的必須要的一步。匯編語言程序設計同樣需要上機,而且很重要。下面是我根據上課情況簡單概括的匯編語言程序設計上機步驟,當然本文所面對的是和我一樣的初學者。
本文談到的DOS即為windows下的命令提示符(cmd.exe)
工具MASM5.00、一個源程序(hello.asm)放在c盤根目錄,為方便講解,下載后解壓縮到c盤根目錄,路徑為:c:\masm
執行匯編和鏈接命令時,需要將DOS當前路徑切換到c:\masm
匯編語言源程序的上機步驟包括編輯、匯編、鏈接、調試等幾個過程,如下圖所示。
1.編輯
編輯無非就是創建一個源程序並編輯代碼。具體實現也有好幾種:可新建記事本,然后保存擴展名為.asm,然后再輸入代碼;或者可用notepad++編輯代碼,這個可以有,而且相當方便,支持代碼高亮,縮進等;又或者打開開始->運行->cmd->edit,然后打代碼。方法眾多,不一一介紹。
2.匯編
匯編過程是將源程序(.ASM)翻譯為等價的二進制機器語言的過程,所產生的文件稱為目標程序,其后綴為.OBJ。在這個階段中,將對源程序的語法進行檢驗,如果發現錯誤將給予提示。錯誤提示分為嚴重錯誤和警告錯誤兩種。嚴重錯誤指示某些指令存在語法錯誤,不能形成對應的二進制機器指令。而警告錯誤指示某些指令含義不夠明確,需要提醒程序員注意。程序員可以根據提示對源程序進行修改,直到得到正確的結果為止。
當前目錄:c:\masm
匯編命令:masm c:\hello.asm;(這條命令默認將源程序匯編到c:\masm,如果想將.OBJ文件存在其它地方,則需在后面再添加一個路徑名,如:masm c:\hello.asm c:\test;則匯編后生成的OBJ文件將在c:\test)
3.鏈接
在匯編過程中形成了目標文件(.OBJ),但是在該文件中,只是將源程序的操作碼部分變成了機器碼,而地址操作數還是可浮動的相對地址,不是實際地址,浮動地址需要再定位。只有經過鏈接過程才能形成最后的可執行文件。鏈接程序的功能就是把一個或多個目標文件合並成一個可執行文件,其后綴為.EXE。其實在鏈接過程中一共形成兩個文件:第一個是可執行文件(.EXE)。默認的可執行文件名字與源程序文件相同,也可以根據用戶要求進行修改可執行文件的名字;鏈接過程中形成的第二個文件是內存映像文件(.MAP),它給出了每個段的地址分配情況和長度。如果不需要該文件則可以在鏈接命令執行時直接輸入Enter鍵。在鏈接過程中還與一個庫文件(.LIB文件)相關。一般的匯編程序不需要庫文件。但是當匯編語言與高級語言(如C語言)接口時需要用到庫文件。此時輸入相應的庫文件名字即可。
當前目錄:c:\masm
鏈接命令:link hello.obj;(或者放在其它你想放的地方,與匯編命令的用法相似,link c:\hello.asm c:\test;即在c:\test目錄下生成hello.exe)
4.運行
通過匯編和鏈接,最終形成的可執行文件已經排出了程序中的語法錯誤,可以直接執行。但是可能還存在一些算法錯誤,這樣的錯誤則要通過調試過程來修正。常用的調試工具軟件有DEBUG等。
當前目錄:c:\masm
運行:直接輸入hello即顯示“hello,world!”
MASM5.00下載地址:
百度網盤:http://pan.baidu.com/disk/home 路徑:全部文件 > mq > mq-開發工具 > 匯編工具