作者ppttcc (ppttcc)
看板ASM
标题[问题]如何解决"NTVDM CPU已经遇到不合法的提示"?
时间Thu Nov 4 00:38:45 2010
当我组译完成後,在consol下ml /AT test.asm後
再执行test.com时,就出现对话框,说啥
"NTVDM CPU已经遇到不合法的提示",我修改完後要再重新组译,
组译器的输出似乎就有点不正常,不正常的意思是原来该会有输出的一些讯息,
如什麽要指定obj档案名称,crf档那些就都没有出现.
然後是就连原本能正常执行的.com程式也无法执行了
感觉好像是被锁起来的样子??
请教一下这该如何解决?谢谢,感谢.
ps.我若用debug载入似乎会变正常
程式就只是呼叫副程式显示ASCII码而已(副程式放在结尾处,即exit的下方,就会出问题),
但我向来都是把副程式写在exit的下方,一直以来也都没事,可正常组译执行,不知为何
突然产生问题.
;***************************************
code segment
assume cs:code,ds:code
org 100h
;---------------------------------------
start: mov dl,3
call tochar
call show
exit: mov ah,4ch
int 21h
tochar proc near
mov bl,48
add dl,bl
tochar endp
show proc near
mov ah,2
int 21h
show endp
code ends
;***************************************
end start
os:xp
ml版本:6.1.2
※ 编辑: ppttcc 来自: 114.38.9.137 (11/04 01:08)
※ 编辑: ppttcc 来自: 114.38.9.137 (11/04 01:26)
1F:推 loveflames:把之前组译时新增的档案砍掉再组译看看? 11/04 01:36
2F:→ ppttcc:只要是放在exit上方一定出问题. 11/04 02:20
3F:→ ppttcc:现在debug的结果之一是就算没有呼叫副程式,也会自己执行... 11/04 03:10
4F:→ ppttcc:7月不是已经过了吗... 11/04 03:11
5F:推 loveflames:你的副程式没ret? 11/04 09:48
6F:→ ppttcc:感谢!感谢!原来昏头漏了ret,现在移到exit下也正常了 11/04 13:27