. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  迷惑?实验任务 (2)  [待解决] 回复[ 2次 ]   点击[ 480次 ]  
zizhuzifeng
[帖 主]   [ 发表时间:2008-11-27 12:51 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-10 17:14
AX=2000  BX=0000  CX=0000  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=1375  ES=1375  SS=2000  CS=1375  IP=0108   NV UP EI PL NZ NA PO NC
1375:0108 B82331        MOV     AX,3123
-d2000:0 f
2000:0000  00 00 00 00 00 00 00 20-00 00 08 01 75 13 D9 0D   ....... ....u...
看了论坛的一些解答 了解用T命令单步执行会产生中断,CPU先将标志寄存器(0DD9)进栈,再把cs(1375)和ip(0108)进栈。继续执行:
-t

AX=3123  BX=0000  CX=0000  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=1375  ES=1375  SS=2000  CS=1375  IP=010B   NV UP EI PL NZ NA PO NC
1375:010B 50            PUSH    AX
-d2000:0 f
2000:0000  00 00 00 00 00 00 23 31-00 00 0B 01 75 13 D9 0D   ......#1....u...
T单步执行的是 MOV AX,3123 。为什么栈段中的20-00会变成23 31(AX的内容)?继续执行:
-t

AX=3123  BX=0000  CX=0000  DX=0000  SP=000E  BP=0000  SI=0000  DI=0000
DS=1375  ES=1375  SS=2000  CS=1375  IP=010C  NV UP EI PL NZ NA PO NC
1375:010C B86633        MOV     AX,3366
-d2000:0 f
2000:0000  00 00 00 00 23 31 00 00-0C 01 75 13 D9 0D 23 31   ......#1....u...
T单步执行的是 PUSH AX 。吧AX(3123)压入栈中,为什么不覆盖D9 0D呢?好像是栈中内容全部向低地址移2个字节。而CPU只是执行PUSH AX,计算机靠什么完成上诉如此负责的操作呢(个人认为)?
zizhuzifeng
[第1楼]   [ 回复时间:2008-11-27 12:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-04-10 17:14
上面遗漏了一个小错误。ip的值由010B变成了010C.
mess
[第2楼]   [ 回复时间:2008-11-27 18:25 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
楼主分析的不错,如果是刚接触汇编的话,按照书上说的:楼主很有天赋。

t命令也叫单步中断。而中断执行后会有一些操作的,这点可以等到第十二章学习的时候再学,这里也不用去理解。

单步执行的是 PUSH AX 。吧AX(3123)压入栈中,为什么不覆盖D9 0D呢?好像是栈中内容全部向低地址移2个字节。而CPU只是执行PUSH AX,计算机靠什么完成上诉如此负责的操作呢(个人认为)?
-----------------
这个正是中断执行的时候,cpu按照规定做的,等十二章就学到了。楼主上面也是提到标志寄存器了么。

T单步执行的是 MOV AX,3123 。为什么栈段中的20-00会变成23 31(AX的内容)?继续执行:
-----------------
因为ax的变化了啊,至于debug执行t命令的时候为什么最后把ax的值也保存了,这个我也不太清楚,中断内容也没有提到,猜测是debug的一个内部设定,没有什么研究的价值。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved