. : : 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