信息发布→ 登录 注册 退出

汇编语言开发过程详解

发布时间:2026-01-11

点击量:
目录
  • 一、逐步开发
    • (1)源程序的编辑
    • (2)源程序的汇编
    • (3)目标文件的连接
    • (4)可执行文件的运行
  • 二、列表文件与调试程序
    • (1)列表文件
    • (2)调试程序
  • 三、快速开发

    程序开发过程

    一、逐步开发

    (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

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!