匯編語言開發過程詳解
程序開發過程
一、逐步開發
(1)源程序的編輯
- 源程序文件是無格式文件、純文本類型
- 以.ASM為擴展名,可使用任何文本編輯器
►Windows的記事本Notepad
►其他程序開發工具中的編輯環境
►專註於源程序編寫的編輯軟件,例如UltraEdit32
; eg0000.asm in Windows Console include io32.inc .data msg byte 'Hello World' ; 數據定義 .code start: mov eax,offset msg call dispmsg exit 0 end start
(2)源程序的匯編
- 生成目標模塊文件(.OBJ)
- MASM 6.x的匯編程序是ML.EXE
BIN\ML /c /coff eg0101.asm
►參數“/c”(小寫字母)實現源程序的匯編
►參數“/coff”(小寫字母)生成COFF格式目標模塊文件
ML.EXE的參數區別大小寫
將源文件放在MASM目錄
(3)目標文件的連接
- 把一個或多個目標文件和庫文件合成一個可執行文件
- 可執行文件以.EXE為擴展名
- 32位連接程序被更名為LINK32.EXE
BIN\LINK32 /subsystem:console eg0101.obj
►“/subsystem:console”生成Windows控制臺(Console)文件
►“/subsystem:windows”生成Windows圖形窗口的可執行文件
使用批處理文件方便操作
匯編程序隻指出語法錯誤
(4)可執行文件的運行
- 進入控制臺(或模擬DOS)環境
- 在命令行提示符下輸入文件名(可以省略擴展名)按下回車鍵運行
eg0101.exe
運行錯誤,就需要
- 靜態排錯:閱讀分析源程序
- 動態排錯:利用調試程序
不要在Windows下雙擊運行
二、列表文件與調試程序
(1)列表文件
列表文件(.LST)含有源程序和目標代碼
BIN\ML /c /coff /Fl eg0101.asm
“/Fl”創建列表文件(大寫F、小寫l,不是數字1)
列表文件有兩部分內容
- 第一部分:源程序及其代碼
- 第二部分:各種標識符
(2)調試程序
- WinDbg是微軟提供的Windows調試程序
- WinDbg支持源程序級調試,但匯編、連接時要加入參數
匯編時用“/Zi”(大寫Z、小寫i)參數
BIN\ML /c /coff /Fl /Zi eg0101.asm
連接時用“/debug”參數
BIN\LINK32 /subsystem:console /debug eg0101.obj
三、快速開發
快速開發的批處理文件MAKE32.BAT
@echo off BIN\ML /c /coff /Fl /Zi %1.asm if errorlevel 1 goto terminate BIN\LINK32 /subsystem:console /debug %1.obj if errorlevel 1 goto terminate DIR %1.* :terminate @echo on
快速開發過程
① 進入MASM目錄:雙擊文件WIN32.BAT
② 生成可執行文件:make32 eg0101
到此這篇關於匯編語言開發過程的文章就介紹到這瞭,更多相關匯編語言開發過程內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 解析批處理命令call和start
- Windows 批處理cmd/bat常用命令詳解
- windows中dos批處理之命令特殊符號通配符與轉義符(推薦)
- 批處理位運算演示代碼
- x86匯編DOS編程環境搭建過程