书上的例子,不知道出了什么问题????

tongxinren 2009-02-04 11:32:00
.386
.model flat, stdcall

option casemap:none

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\windows.inc

.data
MsgText db "Hello world!",0
MsgTitle db "This is a messagebox",0

.code

start:
invoke MessageBox, NULL, ADDR MsgText, ADDR MsgTitle, MB_OK or

MB_ICONINFORMATION
invoke ExitProcess, NULL

end start


========================================
@echo off
ml /c /coff first.asm
link /subsystem:windows first.obj
pause>nul

书上说这样打~用masm编译,我用的是6.15
1,echo off是什么意思?
2,出现这样的错误
error A4910:cannot open file: c:\masm6.15\ml.err
first.asm<9>:fatal error A1000: : \masm32\include\kerne132.inc

还请各位指教
...全文
288 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
星梦桃子 2009-11-13
  • 打赏
  • 举报
回复
我用masm611编译出现此问题。也是书上的例子,不知什么原因。
  • 打赏
  • 举报
回复
up一下。。。
cnzdgs 2009-02-05
  • 打赏
  • 举报
回复
1,echo off是什么意思?
echo off用在批处理文件中,使后面的命令行不显示出来。前面加上@表示该行也不显示。这行命令没有实际意义,可有可无。

2,出现这样的错误
error A4910:cannot open file: c:\masm6.15\ml.err
这个错误是你的MASM缺少ml.err文件,编译遇到错误时无法显示出具体的错误信息。
first.asm <9>:fatal error A1000: : \masm32\include\kerne132.inc
这行是无法找到kerne132.inc这个文件,因为你用的是MASM6.15,要用MASM32等编译Win32程序的MASM版本才行。
Zijian_Zhang 2009-02-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 tongxinren 的帖子:]
.386
.model flat, stdcall

option casemap:none

includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\user32.lib

include \masm32\include\kernel32.inc
include \masm32\include\user32.inc
include \masm32\include\windows.inc

.data
MsgText db "Hello world!",0
MsgTitle db "This is a messagebox",0

.code

start:
invoke MessageBox, NULL, ADDR MsgText, ADDR MsgTitle, MB_OK or


[/Quote]

这个地方
[code=BatchFile]@echo off
ml /c /coff first.asm
link /subsystem:windows first.obj
pause>nul[/code]是BAT批处理,不是汇编的一部分。

至于那个错误,是找不到那个文件吧。
sll0807 2009-02-05
  • 打赏
  • 举报
回复
用 MASMPlus
BAYNPU 2009-02-05
  • 打赏
  • 举报
回复
要使用《inteal汇编程语言计设》MASM615的MAKE32批处理文件进行汇编才能通过呀。
在CSDN下载:inteal汇编程语言计设(第四、五版)。
yuzl32 2009-02-05
  • 打赏
  • 举报
回复
找不到文件:\masm32\lib\kernel32.lib,查看该目录下是否有这个文件
killbug2004 2009-02-05
  • 打赏
  • 举报
回复
库和头文件包含要使用全路径
includelib D:\masm32\lib\user32.lib
include D:\masm32\include\kernel32.inc
。。。。。
上面的汇编代码保存为first.asm

下面保存为.bat批处理
========================================
@echo off
ml /c /coff first.asm
link /subsystem:windows first.obj
pause>nul

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧