注册 登录
编程论坛 汇编论坛

[求助]一开始学汇编就遇到问题

kinte 发布于 2007-05-03 13:14, 1046 次点击

这是要编译成EXE文件时遇到的问题 请问是哪里错了?

以下是源码
————————————————
.486
.Model Flat, StdCall

Option CaseMap:None

includelib \masn32\lib\kernel32.lib
includelib \masn32\lib\user32.lib

include \masn32\INCLUDE\user32.inc
include \masn32\INCLUDE\windows.inc
include \masn32\INCLUDE\kernel32.inc


.data
msgtitle db "Hellow world!",0
msgtitle db "This is a messagebox",0

.code

start:
invoke messagebox, null,addr msgtext,addr msgtitle, MB_OK or mb_iconinformation

end start
——————————————————————————————

只有本站会员才能查看附件,请 登录

[此贴子已经被作者于2007-5-3 13:14:40编辑过]

11 回复
#2
jhkdiy2007-05-03 19:19
错误提示是找不到inc文件,请确认masm32的路径。如果没错,但还是有错,请使用radasm来试试。radasm的使用可以看论坛的帖子。
#3
kinte2007-05-03 23:09
用其他编辑器也没能解决……出现新情况了 不知道是不是代码错误……
只有本站会员才能查看附件,请 登录

#4
菜鸟上路2007-05-04 12:29
把程序发上来看看哈
#5
kinte2007-05-04 22:50
源码在1楼……
#6
菜鸟上路2007-05-04 23:22

.486
.Model Flat, StdCall

Option CaseMap:None

includelib kernel32.lib
includelib user32.lib

include user32.inc
include windows.inc
include kernel32.inc


.data
msgtitle db "Hellow world!",0
msgtext db "This is a messagebox",0

.code

start:
invoke MessageBox, NULL,offset msgtext,offset msgtitle, MB_OK or MB_ICONINFORMATION

end start

#7
kinte2007-05-05 22:31
只有本站会员才能查看附件,请 登录

又来麻烦斑竹了 我想问一下在编写的时候一定要注意字母的大小写?

用了斑竹的方法后在点确定退出后出现了以上错误信息……
#8
爱以走远2007-05-05 22:38
在汇编里 大写和小写一般是不一样的
后面的我不知道
#9
菜鸟上路2007-05-05 22:46
汇编里是不区分大小写的,但这个程序调用了Windows的函数MessageBox,所以必须得大写
#10
菜鸟上路2007-05-05 22:55

可能是invoke的时候与哪块内存有冲突吧,具体也不知道,不过可以用下面这段试试
.486
.Model Flat, StdCall

Option CaseMap:None

includelib kernel32.lib
includelib user32.lib

include user32.inc
include windows.inc
include kernel32.inc


.data
msgtitle db "Hellow world!",0
msgtext db "This is a messagebox",0

.code

start:
push MB_OK+MB_ICONINFORMATION
push offset msgtitle
push offset msgtext
push NULL
call MessageBox
ret
end start

#11
爱以走远2007-05-05 23:05
对的哈 不好意思 好象大小写是没好大的关系哈
我想错拉
#12
kinte2007-05-06 11:46
谢谢各位斑竹 终于OK了
用了10楼的方法没有出现错误
努力学习!!!
1