ntvdm cpu遇到无效的指令,该如何解决

ntvdm cpu遇到无效的指令
.model small
.data
.stack 100h
.code

main proc far

mov ax,@data
mov ds,ax
MOV           AH,00H                                        
                MOV           AL,12H
                INT           10H        
.exit 0


main   endp
end


这个程序用的编译器是ml6.15
程序在有的机上运行正常,可在我机上就不行,那个程序是使dos界面置成640*480模式   16色图形
当al=5以下的模式都不能在我的机上运行就会出现“ntvdm     cpu遇到无效的指令”的错误,
我的系统是xp     显示器是液晶,cpu是双核。


------解决方案--------------------
mengshijie_1981() ( )
鍦╔P涓嬭繍琛岃繖涓▼搴忥紝浣犺涓哄悎閫傚悧

-------------
搴旇涓嶆槸杩欎釜闂鍚? 璁剧疆鍥惧舰鏄剧ず妯″紡, 濂藉儚鏄彲浠ョ殑, 鍙槸浼氬垏鎹㈠埌鍏ㄥ睆妯″紡
鍦?end 璇彞鍚庡姞涓?main 璇曡瘯: end main ?

**** 鍦ㄦ悶浠€涔?
------解决方案--------------------
Try append Main to end line, like 'end main ' ?

What 's wrong with ****? Coded the replies to UTF-8 mode and saved it, without decoding while outputting?
Can 't enter word directly in the reply box, only by paste method selected from the mouse right menu?
------解决方案--------------------
楼主的程序似乎应该运行于实模式,因此,保护模式下的DOS模拟器并不能完全反映实模式下的执行情况,所以应该在DOS下运行该程序才是正宗。
------解决方案--------------------
在启动图形模式之前需要保存现有现实模式,之后再还原回来
------解决方案--------------------
打错了,是显示模式,参考代码:
mov ah,0fh
int 10h
mov save,al