当前位置: 代码迷 >> 汇编语言 >> ntvdm cpu遇到无效的指令,该如何解决
  详细解决方案

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

热度:4084   发布时间:2013-02-26 00:00:00.0
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 ?

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

What 's wrong with CSDN? 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