. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  也问第三章最后一个实验任务,结果比书中还要奇特,更是令人一头雾水。  [已解决] 回复[ 2次 ]   点击[ 677次 ]  
towersimper
[帖 主]   [ 发表时间:2008-07-09 23:09 ]   [引用]   [回复]   [ top ] 
荣誉值:9
信誉值:3
注册日期:2008-06-12 09:16
-a
1397:0128 mov ax,2000
1397:012B mov ss,ax
1397:012D mov sp,10
1397:0130 mov ax,3123
1397:0133 push ax
1397:0134 mov ax,3366
1397:0137 push ax
1397:0138
-e 2000:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-d 2000:0 f
2000:0000  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
-r
AX=6028  BX=5CCA  CX=0000  DX=0000  SP=00FC  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=1397  SS=2200  CS=1397  IP=0128   NV UP EI PL NZ NA PE NC
1397:0128 B80020        MOV     AX,2000
-t

AX=2000  BX=5CCA  CX=0000  DX=0000  SP=00FC  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=1397  SS=2200  CS=1397  IP=012B   NV UP EI PL NZ NA PE NC
1397:012B 8ED0          MOV     SS,AX
-d 2000:0 f
2000:0000  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
-t

AX=2000  BX=5CCA  CX=0000  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=1397  SS=2000  CS=1397  IP=0130   NV UP EI PL NZ NA PE NC
1397:0130 B82331        MOV     AX,3123
-d 2000:0 f
2000:0000  00 00 00 00 00 00 00 20-00 00 30 01 97 13 FB 0D   ....... ..0.....
-t

AX=3123  BX=5CCA  CX=0000  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=1397  SS=2000  CS=1397  IP=0133   NV UP EI PL NZ NA PE NC
1397:0133 50            PUSH    AX
-d 2000:0 f
2000:0000  00 00 00 00 00 00 23 31-00 00 33 01 97 13 FB 0D   ......#1..3.....
-t

AX=3123  BX=5CCA  CX=0000  DX=0000  SP=000E  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=1397  SS=2000  CS=1397  IP=0134   NV UP EI PL NZ NA PE NC
1397:0134 B86633        MOV     AX,3366
-d 2000:0 f
2000:0000  00 00 00 00 23 31 00 00-34 01 97 13 FB 0D 23 31   ....#1..4.....#1
-t

AX=3366  BX=5CCA  CX=0000  DX=0000  SP=000E  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=1397  SS=2000  CS=1397  IP=0137   NV UP EI PL NZ NA PE NC
1397:0137 50            PUSH    AX
-d 2000:0 f
2000:0000  00 00 00 00 66 33 00 00-37 01 97 13 FB 0D 23 31   ....f3..7.....#1
-t

AX=3366  BX=5CCA  CX=0000  DX=0000  SP=000C  BP=0000  SI=0000  DI=0000
DS=FFFF  ES=1397  SS=2000  CS=1397  IP=0138   NV UP EI PL NZ NA PE NC
1397:0138 0000          ADD     [BX+SI],AL                         DS:5CCA=33
-d 2000:0 f
2000:0000  00 00 66 33 00 00 38 01-97 13 FB 0D 66 33 23 31   ..f3..8.....f3#1
尽管和书上初始的CS和IP不同(书上是CS=0B39和IP=0100,我这边是CS=01397和IP=0128,不过它们所属的范围都在RAM的逻辑地址空间),不但是发生了书中的现象,而且入栈时也是奇特无比,望大家指点一下。
wdm
[第1楼]   [ 回复时间:2008-07-12 16:41 ]   [引用]   [回复]   [ top ] 
荣誉值:342
信誉值:0
注册日期:2007-12-06 10:21
尽管和书上初始的CS和IP不同(书上是CS=0B39和IP=0100,我这边是CS=01397和IP=0128,不过它们所属的范围都在RAM的逻辑地址空间),不但是发生了书中的现象,而且入栈时也是奇特无比,望大家指点一下。
=================
呵呵呵,这个题目的想想跟cs,ip是没有太大关系的,主要是看你设置的栈空间数据的变化。这种变化都是一样的,就是栈空间中在你没有使用的空间中出现了一些莫名的数据,仔细分辨一下,发现好像还有点规律,有CS值,ip值,还有我们不知道的值(其实是标志寄存器)。这些都是因为中断例程引起的。在debug下,我们使用T命令,T命令是一个中断例程,在调用中断例程之前,cpu会将运行现场的状态数据暂时保存到当前的栈空间中,以备从中断程序中返回到但前程序的时候,能够恢复正常的运行。这个知识,将在后面的中断章节中详细的介绍哟。别着急,先提个醒。呵呵
towersimper
[第2楼]   [ 回复时间:2008-07-12 18:50 ]   [引用]   [回复]   [ top ] 
荣誉值:9
信誉值:3
注册日期:2008-06-12 09:16
此贴由 贴主 于 [ 2008-07-12 18:50 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(wdm):2分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved