. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
主题 : :  关于pop指令引发的一点思考  [已解决] 回复[ 9次 ]   点击[ 302次 ]  
regex
[帖 主] [ 发表时间:2009-12-27 13:47 ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
书里61页图3.12讲述了pop指令将1000CH单元的2266H出栈后, 2266H依然在1000CH处。
我可以不可以这么认为, 汇编语言没有cut指令(剪切),mov可以想象成复制指令吧?
通过debug实验也证实了这点。
mov ax,1234
mov bx,ax
所以说, 停留在1000CH里的内容将被新的push进来的信息覆盖。
parid
[第3楼] [ 回复时间:2009-12-29 08:45 ] 
荣誉值:0
信誉值:0
注册日期:2009-12-23 22:01
可我在debug里实验了下为什么就不行呢,我是这样弄的:
mov ax,1000
mov ss,ax
mov sp,8
mov bx,5
push bx   ;执行完这句后sp应该等于6
pop dx   ;执行完这句后sp应该等于8
mov sp,6 ;如果说出栈后数据仍在原来的位置,那么将sp指针的位置移到6的地方
pop ax  ;再次执行pop ,如果按照楼主所说,那么ax也应该等于5.可是得出的结果却不是5,请求高人解释一下
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved