. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  【疑问】为什么mov sp,0010 指令单步调试时看不到  [待解决] 回复[ 4次 ]   点击[ 343次 ]  
wbpmrck
[帖 主]   [ 发表时间:2010-02-09 13:18 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-02-08 14:15
在实际操作过程中,t命令单步调试,会只执行一步程序,然后显示下一步要进行 的操作,
比如:
mov ax,1000
mov ss,ax
mov sp,0010
push ax

这是一段初始化段寄存器和段顶指针寄存器的代码,在进行完第二步时,会发现sp的值已经改变为0010,同时显示当前指令是push ax,不知道大家遇到没有?
versaariel
[第1楼]   [ 回复时间:2010-02-09 13:24 ]   [引用]   [回复]   [ top ] 
荣誉值:62
信誉值:0
注册日期:2009-12-03 13:14
是这样的,sp紧跟在ss之后初始化,不必深究
abob
[第2楼]   [ 回复时间:2010-02-10 15:14 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
这个是debug的机制,是一种保护。

t执行命令后,系统会根据当前的ss sp压入一些数据。
一般设置ss和sp的两条指令应该是连续放的。

如果只设置ss后,就停住,在当前ss sp压入一些数据,很可能会发生混乱。
regex
[第3楼]   [ 回复时间:2010-02-10 19:03 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
【实验】2在73页特地解释了一下
qiangzi
[第4楼]   [ 回复时间:2010-02-11 00:50 ]   [引用]   [回复]   [ top ] 
荣誉值:4
信誉值:6
注册日期:2010-01-07 10:37
这个问题在后面会讲到,现在还知道就行了
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved