作者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)
推 loveflames:把之前組譯時新增的檔案砍掉再組譯看看? 11/04 01:36
→ ppttcc:只要是放在exit上方一定出問題. 11/04 02:20
→ ppttcc:現在debug的結果之一是就算沒有呼叫副程式,也會自己執行... 11/04 03:10
→ ppttcc:7月不是已經過了嗎... 11/04 03:11
推 loveflames:你的副程式沒ret? 11/04 09:48
→ ppttcc:感謝!感謝!原來昏頭漏了ret,現在移到exit下也正常了 11/04 13:27