32位汇编(1) - masm32环境配置

博客介绍了32位汇编的相关操作。需安装masm32,在其安装路径下新建bat文件进行路径链接,否则会出现inc文件找不到的问题。输入测试代码时,特定语句缺失会导致出错。测试成功后,在cmd中用ml链接,注意源程序文件位置,最后用link生成exe文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

32位汇编的折磨:

  1. 安装masm32(http://www.masm32.com/)
  2. 安装后,在安装路径masm32下,新建bat文件(例如var.bat)
  3. 在var.bat文件中输入以下代码进行链接:
@echo off
rem 请根据 Masm32 软件包的安装目录修改下面的 Masm32Dir 环境变量!
set Masm32Dir=D:\Masm32
set include=%Masm32Dir%\Include;%include%
set lib=%Masm32Dir%\lib;%lib%
set path=%Masm32Dir%\Bin;%Masm32Dir%;%PATH%
set Masm32Dir=
echo on

如果不进行路径链接,会出现include中inc文件找不到现象
4. 输入测试代码(转)

.386
.model flat, stdcall
option casemap:none 

include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib

.data
    szCaption db 'Hi', 0
    szMsg     db 'Hello World!', 0

.code
start:
    invoke MessageBox, NULL, addr szMsg, addr szCaption, MB_OK
    invoke ExitProcess, NULL
end start

在测试时,第3行的“option casemap:none”是没有的,直接导致ml时候出错:错误描述
5. 测试成功后,在cmd中,使用ml进行链接。链接语句需要注意源程序文件的位置,我将源程序test.asm放在masm32中新建的test文件夹中,所以使用语句:

..\bin\ml /c /coff test.asm

..\bin\ml 表示上一级目录的bin目录中的ml.exe文件
/c 表示仅利用ml实现源程序的汇编
/coff 表示生成COFF(Common Object File Format)格式的目标模块文件,
COFF是32位Windows和UNIX操作系统使用的目标文件格式。
  1. 使用link生成exe文件
..\bin\link /subsystem:windows test.obj

这里的/subsystem:windows表示生成图形窗口的可执行文件,也可以使
用/subsystem:console生成windows控制台环境的可执行文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值