. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  debug  [待解决] 回复[ 3次 ]   点击[ 230次 ]  
b14ck
[帖 主]   [ 发表时间:2008-12-08 20:09 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:0
注册日期:2008-12-02 16:54
mov ax,1000
mov ds,ax
mov ax,2000
mov ss,ax
mov sp,10
push [0]
push [2]
push [4]
push [6]
push [8]
push [a]
push [c]
push [e]
为什么执行到push [c]  debug就出错
b14ck
[第1楼]   [ 回复时间:2008-12-08 20:33 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:0
注册日期:2008-12-02 16:54
ntvdm cpu遇到无效指令
tianyanly1984
[第2楼]   [ 回复时间:2008-12-15 07:14 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2008-12-12 00:18
你是在windows里的虚拟86模式下用debug,如果在纯dos的实模式下不会出现这个问题,我在windows下也遇到过,我想应该是受windows保护模式的影响,对内存中的的某个数据进行了保护吧
acool
[第3楼]   [ 回复时间:2008-12-15 10:06 ]   [引用]   [回复]   [ top ] 
荣誉值:49
信誉值:0
注册日期:2008-10-15 16:15
楼上正解,这个涉及到保护模式和debug的t命令也就是中断的内容,当执行中断用栈保存一些数据而执行多次push而发生环绕..
简单的说了一句,其实可以不去管它,前言不是也说知识屏蔽嘛,留到后面去学吧,这里我们用脑袋跟踪一下就好了 :-)
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved