码迷,mamicode.com
首页 > 其他好文 > 详细

NTVDM CPU遇到无效的指令

时间:2015-08-25 16:08:40      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

刚刚在做Debug下面的代码是出现了这个问题

assume cs:codesg

codesg segment
        mov ax,2000h
        mov ss,ax
        mov sp,0
        add sp,4
        pop ax
        pop bx
        push ax
        push bx
        pop ax
        pop bx
        
        mov ax,4c00h
        int 21h
codesg ends

end    

技术分享

技术分享

在网上看了一圈,以为病毒,说是什么16位程序之类

仔细看代码,问题是在pop bx时出的问题,怀疑是sp问题,改成8个

居然居然通过了,

        mov sp,0
        add sp,8
        pop ax
        pop bx

技术分享

怎么回事啊?改成6也可以。

技术分享

改成2居然说那个程序正常结束

 

NTVDM CPU遇到无效的指令

标签:

原文地址:http://www.cnblogs.com/hinice/p/4747810.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!