. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
主题 : :  实验2有关问题求教.  [待解决] 回复[ 4次 ]   点击[ 521次 ]  
kingwrcy
[帖 主] [ 发表时间:2009-04-10 15:59 ] 
荣誉值:0
信誉值:2
注册日期:2007-12-10 17:12
-a 2000:0
2000:0000 mov ax,2000
2000:0003 mov ss,ax
2000:0005 mov sp,10
2000:0008 mov ax,3123
2000:000B push ax
2000:000C mov ax ,3366
2000:000F push ax
2000:0010
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B62  ES=0B62  SS=0B62  CS=0B62  IP=0100   NV UP EI PL NZ NA PO NC
0B62:0100 724A          JB      014C

-rcs
CS 0B62
:2000

-rip
IP 0100
:0

-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B62  ES=0B62  SS=0B62  CS=2000  IP=0000   NV UP EI PL NZ NA PO NC
2000:0000 B80020        MOV     AX,2000

可以看到我的cs:ip已经指向第一条语句MOV     AX,2000了

但是t一步步执行时到2000:0003 mov ss,ax过后没有如书中提到的跳到2000:0008 mov ax,3123

,而是跳到了ADD     [BX+SI],AL
-r

AX=2000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B62  ES=0B62  SS=0B62  CS=2000  IP=0003   NV UP EI PL NZ NA PO NC
2000:0003 8ED0          MOV     SS,AX
-t

AX=2000  BX=0000  CX=0000  DX=0000  SP=0010  BP=0000  SI=0000  DI=0000
DS=0B62  ES=0B62  SS=2000  CS=2000  IP=0008   NV UP EI PL NZ NA PO NC
2000:0008 0000          ADD     [BX+SI],AL                         DS:0000=CD


莫名其妙...怎么不会出现书上讲的情况呢?而且我的2000:0000处的代码也被改变了.
xushuangjay
[第2楼] [ 回复时间:2009-05-01 20:30 ] 
荣誉值:0
信誉值:0
注册日期:2008-03-09 23:34
云 啊 你把你把2000:0 -2000:10当栈 有在那写指令啊  不冲突吗 
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved