匯編語言開發過程詳解

程序開發過程

在這裡插入圖片描述

一、逐步開發

在這裡插入圖片描述

(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!