主题:MASM32V10如何编译程序
shadowperson
[专家分:0] 发布于 2010-02-17 00:19:00
第一次使用MASM32编译环境,不知道该怎么使用它来编译程序,在网上也搜了一部分,按照实验也没能解决,希望各位大虾帮下忙。
回复列表 (共3个回复)
沙发
臭石头雪球 [专家分:23030] 发布于 2010-02-20 20:14:00
用 ML.exe 编译,用 Link.exe 连接。
两个程序都位于 BIN 文件夹内。此文件夹还有两个批处理可以一步完成。
同时,安装目录下有一个 QEdit.exe 是一个简单的 IDE 可以使用。
板凳
taoyouya [专家分:30] 发布于 2010-02-26 12:24:00
1.设置编译环境:
新建 var.bat文件, 我的masm32安装在d:\masm32目录中,文件内容如下:
@echo off
set include=d:\masm32\INCLUDE;
set lib=d:\masm32\LIB;
set path=d:\masm32\BIN;%path%
@echo on
2. 运行 var.bat
3. 用编译test.asm作为win32例子:
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
.data
szHello db 'Hello, World!',0
.code
main:
invoke MessageBox,NULL,offset szHello,offset szHello,NULL
xor eax,eax
invoke ExitProcess,NULL
end main
(1)命令行运行var.bat
(2) 命令行编译test.asm:
ml /c /coff test.asm
(3) 命令行编译test.obj:
link /subsystem:windows test.obj
4 用ml编译dos16位汇编
stack segment stack
db 100 dup(?)
stack ends
data segment
szHello db 'Hello, World!',0dh,0ah,'$'
data ends
code segment
assume cs:code,ds:data,ss:stack
start:
mov ax,data
mov ds,ax
mov ah,9
mov dx,offset szHello
int 21h
mov ah,4ch
int 21h
code ends
end start
(1) 命令行运行var.bat
(2) 命令行编译test16.asm:
ml /Zm /c test16.asm
(3) 命令行编译test16.obj:
link16 test16.obj
3 楼
强强 [专家分:4740] 发布于 2010-02-28 02:17:00
有一个简单的方法,下载一个MASMED或RADASM,它们都是IDE,把MASM32V10的路径设置一下就可以编译了
我来回复