. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->CALL和RET指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  保护现场  栈  [待解决] 回复[ 2次 ]   点击[ 310次 ]  
rhq2009
[帖 主]   [ 发表时间:2009-06-07 19:22 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-05-28 12:55
执行call指令 或调用子程序要要把相关寄存器入栈 
这个栈是不是不用我们去定义的啊  会不会跟我们自己定义的有冲突? 
怎么区别它的栈和我们自己定义的栈 , 比如要压栈 怎么知道是压低那个栈 
 
 
          回帖内容:
abob
[第1楼]   [ 回复时间:2009-06-08 10:53 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
怎么区别它的栈和我们自己定义的栈 , 比如要压栈 怎么知道是压低那个栈 
---------------
pop和push执行的执行,也就是出栈入栈,是严格按照第三章push pop的执行步骤进行的,根据当前的ss sp进行操作。

只要你写一个小程序,跟踪一下,上面的问题就迎刃而解了。
rhq2009
[第2楼]   [ 回复时间:2009-06-08 17:56 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-05-28 12:55
但你 用你call指令的时候你并没有定义栈  这个栈那里来的 (有的说是系统栈 不理解)
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved