. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  pop 寄存器会保留栈中的数据吗  [待解决] 回复[ 5次 ]   点击[ 275次 ]  
pepenm
[帖 主]   [ 发表时间:2011-12-21 13:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:13
注册日期:2011-10-31 15:52
我用debug测试好像pop后的原先在栈中的数据变了,不过书上讲只是复制过去,sp+2,但数据还是不变的
tomato
[第1楼]   [ 回复时间:2011-12-22 22:45 ]   [引用]   [回复]   [ top ] 
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
应该是中断保存现场将栈中的数据覆盖掉了。
qghb0802
[第2楼]   [ 回复时间:2011-12-28 21:41 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-11-10 14:20
其实,无论有还是没有,并不重要了,因为我的需要的是SP指向的数据。
andxye
[第3楼]   [ 回复时间:2012-02-01 15:56 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:6
注册日期:2011-11-15 09:34
我也遇到同样的问题了,书上说POP后,数据仍然存在,可是我用d查了下,数据变了。
一楼提到的“中断保存现场”是什么东西啊??大侠,求解啊
chinatree
[第4楼]   [ 回复时间:2012-02-01 17:09 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
就是说,中断发生的时候,会把当前的cpu的各种状态都压栈,等中断过程结束后,再恢复回去,这样在应用程序看来相当于"什么都没发生"。Debug还要多保存一些寄存器。
tomato
[第5楼]   [ 回复时间:2012-02-04 10:56 ]   [引用]   [回复]   [ top ] 
荣誉值:405
信誉值:0
注册日期:2008-01-19 14:51
后面章节会讲到中断原理。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved