回 帖 发 新 帖 刷新版面

主题:[讨论]求助!简单程序不能运行

一个简单程序:
.386
.model flat,stdcall
.stack 100h
.code
start:
mov ah,1
int 21h
end start
编译、连接都通过(obj为coff格式),运行时却出现对话框“文件名.exe has encountered a problem and needs to close.  We are sorry for the inconvenience.”
其中“mov ah,1
int 21h”改成其他任何代码结果都一样。请高人指点!

回复列表 (共2个回复)

沙发

代码象是对的 但是你的assembler和linker可能有问题吧 试试用masn和link再不行试试把mov ah,1转成 mov ah, 4c 但是我想应该问题不在这

板凳


问题已经找到。因为我是在windows下运行的,所以对dos中断的调用会产生异常。正确做法是:在程序开始包含一堆库文件:windows.inc, kernel32.inc, user32.inc, kernel32.lib, user32.lib, 最后用 invoke ExitProcess,0 结束程序。不过还是谢谢你的回答。

我来回复

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