. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  请各位帮助小弟~~~~监测点3.1的问题2  [待解决] 回复[ 5次 ]   点击[ 360次 ]  
zjyivad
[帖 主]   [ 发表时间:2009-08-05 17:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-07-28 22:49
我在做监测点3.1问题2的时候,怎么也调试部出来啊,你们能给出每一步的调试步骤吗?越仔细越好。谢谢大家啊
zcouyangpeng
[第1楼]   [ 回复时间:2009-08-06 07:48 ]   [引用]   [回复]   [ top ] 
荣誉值:35
信誉值:44
注册日期:2008-09-03 21:36
我题目都忘记了
deepblue
[第2楼]   [ 回复时间:2009-08-06 09:10 ]   [引用]   [回复]   [ top ] 
荣誉值:56
信誉值:0
注册日期:2008-01-19 14:51
那个不是调试的 
看图分析   , 作答   吐过有疑问,可以验证(这时采用倒了调试)
jellyyang
[第3楼]   [ 回复时间:2009-08-06 22:24 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-08-03 09:48
首先,输入题目给定的指令。
-a 1000:0
1000:0000 mov ax,2000
1000:0003 mov ds,ax
1000:0005 mov ax,[8]
1000:0008 mov ax,[2]
1000:000B
-a 2000:0
2000:0000 mov ax,6622
2000:0003 jmp 0ff0:0100
2000:0008 mov bx,ax
2000:000A

再用r命令查看下cpu寄存器的内容,
如果CS,IP,DS,AX和BX跟题目给定的值不一样的话就r命令修改。
如下所示:
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=1000  ES=13A5  SS=13A5  CS=2000  IP=0000   NV UP EI PL NZ NA PO NC
2000:0000 B82266        MOV     AX,6622
-t

AX=6622  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=1000  ES=13A5  SS=13A5  CS=2000  IP=0003   NV UP EI PL NZ NA PO NC
2000:0003 EA0001F00F    JMP     0FF0:0100
-t

AX=6622  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=1000  ES=13A5  SS=13A5  CS=0FF0  IP=0100   NV UP EI PL NZ NA PO NC
0FF0:0100 B80020        MOV     AX,2000
-t

AX=2000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=1000  ES=13A5  SS=13A5  CS=0FF0  IP=0103   NV UP EI PL NZ NA PO NC
0FF0:0103 8ED8          MOV     DS,AX
-t

AX=2000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=2000  ES=13A5  SS=13A5  CS=0FF0  IP=0105   NV UP EI PL NZ NA PO NC
0FF0:0105 A10800        MOV     AX,[0008]                          DS:0008=C389
-t

AX=C389  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=2000  ES=13A5  SS=13A5  CS=0FF0  IP=0108   NV UP EI PL NZ NA PO NC
0FF0:0108 A10200        MOV     AX,[0002]                          DS:0002=EA66

运行完毕!其实2007H~2009H地址段的命令没有执行,也就是说mov bx,ax没有执行。
zjyivad
[第4楼]   [ 回复时间:2009-08-14 08:36 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-07-28 22:49
首先,输入题目给定的指令。 
-a 1000:0 
1000:0000 mov ax,2000 
1000:0003 mov ds,ax 
1000:0005 mov ax,[8] 
 为什么我输入到 1000:0005 mov ax,[8] 这一步时候每次都跳出了,那个界面都没了,还是不明白啊,难道是我机子的问题,我是AMD的,不知道啊,小弟是新手,想不通
zjyivad
[第5楼]   [ 回复时间:2009-08-14 08:36 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-07-28 22:49
不过还是要感谢大家的热情帮助
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved