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

[求助]Hello World程序错在哪里?

chn365 发布于 2006-05-15 11:35, 1144 次点击

我是汇编程序的初学者,我编写的Hello World程序如下:

.386
.model flat,stdcall
option casemap:none
includelib msvcrt.lib
printf PROTO C :ptr sbyte,:vararg
.data
szmsg byte 'hello world!',0ah,0
.code
start:
invoke printf,OFFSET szmsg
ret
end start

我反复试了一周,还是不能正常运行,运行时提示说3、5、7、10行出错,我实在弄不出来,特向各位高手请教!我用的编译器是Win-Masm,不知是我用的编译器不对,还是程序本身不对。

我的QQ:67651188。

5 回复
#2
公子吕2006-05-15 14:22

386汇编我也才刚学
我用的也是ms的汇编器ML.EXE,是机械工业出版社出版的<<80x86汇编语言与计算机体系结构>>里面光盘附带的,其中有作者写的io文件和数字与ascii转换函数,用起来很简单,不过也导致我对kernel32的调用知道的很少,所以想帮你心有余力不足...

你的程序一个错误没有,汇编格式如下:
ml /c /coff file.asm
不过无法链接,因为我的汇编环境里没有你的那个库文件msvcrt.lib

#3
chn3652006-05-15 15:30

谢谢公子吕兄!我还没有入门呢,希望能得到你更多的帮助啊!

我这个编译器是自动编译链接运行的,不用写ml /c /coff file.asm这个指令。运行时总不对,哪里有好编译器可下载?

#4
公子吕2006-05-16 12:15
不用客气,我用的就是masm6.11,也曾用过集成环境的masm不过都不太理想.你可以找到你安装文件里面的ML.EXE 和LINK.EXE进行单独的汇编和连接.(自动汇编链接也要经过这两个步骤吧,而且这么一次性汇编,难以发现错在汇编,还是错在连接).
如果你需要我的汇编环境和io文件,可以确认一下这个邮箱是不是你的,我可以发给你.
w111666@163.com ?
#5
chn3652006-05-19 00:18
非常谢谢,这个是我的邮箱。w111666@163.com
#6
神经塔2006-09-03 15:48
俺也想要一个,我也刚学汇编!俺的信箱是:lss30@163.com
1