汇编语言开发过程详解
程序员文章站
2022-03-24 08:22:34
程序开发过程一、逐步开发(1)源程序的编辑 源程序文件是无格式文件、纯文本类型 以.asm为扩展名,可使用任何文本编辑器 ►windows的记事本notepad►其他程序...
程序开发过程
一、逐步开发
(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
到此这篇关于汇编语言开发过程的文章就介绍到这了,更多相关汇编语言开发过程内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: MySQL锁等待与死锁问题分析