欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

masm6.11编译有关问题

更新时间: 2014-01-05 03:18:01 责任编辑: Author_N1

 

masm6.11编译问题 求助
大家好 
我刚刚学习汇编
.386
.model flat
option casemap:none
;include windows.inc
;include user32.inc
;include kernel32.inc
;includelib user32.lib
;includelib kernel32.lib
.data
num db 0
pro1 db "how many do you want?",0aH,0dH,0
pro2 db "the sum is:",0aH,0dH,0
pro3 db "the average is:",0aH,0dH,0
.code
_start:
lea edx,pro1
mov al,09H
;int 21

xor eax,eax
;    invoke ExitProcess,NULL
;end    main
PUBLIC _start
END

我用一下命令生成console程序总是出错
ml /c /coff test.asm
link /subsystem:console /entry:start test/obj

而如果加入windows界面改为subsystem:windows就没问题,谢谢各位了
--参考方法--
你这个是win32程序,当然不能生成16位dos啦
--参考方法--
link /subsystem:console改成link /subsystem:windows试试。
--参考方法--
你调用API也不声明调用方式是stdcall的,你能编译通过?不管是console还是windows都不行的吧。

	.386
.model flat,stdcall
option casemap:none

include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib

.data
num db 0
pro1 db "how many do you want?",0aH,0dH,0
pro2 db "the sum is:",0aH,0dH,0
pro3 db "the average is:",0aH,0dH,0
.code
_start:
invoke GetStdHandle,STD_OUTPUT_HANDLE
push eax
invoke WriteFile,eax,offset pro1,pro2 - pro1, NULL, 0
pop eax
invoke CloseHandle,eax
xor eax,eax
    invoke ExitProcess,NULL
end    _start
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:18:01
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20587/
本文WWW.DOC100.NET DOC100.NET版权所有。