回 帖 发 新 帖 刷新版面

主题:MASM32V10如何编译程序

第一次使用MASM32编译环境,不知道该怎么使用它来编译程序,在网上也搜了一部分,按照实验也没能解决,希望各位大虾帮下忙。

回复列表 (共3个回复)

沙发

用 ML.exe 编译,用 Link.exe 连接。

两个程序都位于 BIN 文件夹内。此文件夹还有两个批处理可以一步完成。

同时,安装目录下有一个 QEdit.exe 是一个简单的 IDE 可以使用。

板凳

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 楼

有一个简单的方法,下载一个MASMED或RADASM,它们都是IDE,把MASM32V10的路径设置一下就可以编译了

我来回复

您尚未登录,请登录后再回复。点此登录或注册