. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  栈底的几个编码好神奇,高手帮帮忙  [待解决] 回复[ 2次 ]   点击[ 464次 ]  
wu136626
[帖 主]   [ 发表时间:2009-08-22 23:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-08-22 07:47
根据第三章最后一个实验  
发现每次  mov ax,??   mov ss,ax  
在栈底都会出现固定的 3E0CA206这串码   再前面还有SS的数据  另外一个根据sp变化的我参透不了

这串编码有什么用呢?  
我试着空栈的时候 pop ax  
正常应该得到 ax=2a0c   
但结果是ax不变   这是为什么? 
 
push ax,这串代码会前移两位 这里面究竟是怎么操作的  这串代码的机理是什么? 

望高手回答
tinyparticle
[第1楼]   [ 回复时间:2009-08-24 20:33 ]   [引用]   [回复]   [ top ] 
荣誉值:188
信誉值:4
注册日期:2009-07-05 19:26
debug下T命令引发单步中断过程,在调用中断例程之前,中断过程会使用当前栈空间保存一些cpu运行现场的数据,以便从中断例程返回到你的程序的时候,依然能够正确运行你的程序。
cpu则先将标志寄存器进栈,再把当前的cs的值进栈,最后将ip的值进栈,这个后面学到中断有讲,这是一种保护,这涉及到中断的知识,后面的章节会学习到的。
wu136626
[第2楼]   [ 回复时间:2009-08-24 23:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-08-22 07:47
谢谢
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved