. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  检测点3.1  [待解决] 回复[ 8次 ]   点击[ 678次 ]  
kingmoon
[帖 主]   [ 发表时间:2010-07-17 04:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-16 17:50
1.题目太长不抄题了. 
mov ax,1 
mov ds,ax 
mov ax,[0000] AX=2662H  
mov bx,[0001] BX=E626H 
mov ax,bx     AX=E626H 
mov ax,[0000] AX=2662H 
mov bx,[0002] BX=D6E6H 
add ax,bx     AX=FD48H 
add ax,[0004] AX=2C14H 
mov ax,0      AX=0000H 
mov al,[0002] AX=00E6H 
mov bx,0      BX=0000H 
mov bl,[000C] BX=0026H 
add al,bl     AX=00DCH 
2.(1)  
               CS:IP 2000:0H 
               CS:IP 2000:3H 
mov ax,6622H   AX=6622H  BX=0H DS=1000H 
               CS:IP 2000:5H 
jmp 0ff0:0100  AX=6622H  BX=0H DS=1000H 
               CS:IP 0ff0:0100H 
mov ax,2000H   AX=2000H  BX=0H DS=1000H 
               CS:IP 0ff0:0103H 
mov ds,ax      AX=2000H  BX=0H DS=2000H 
               CS:IP 0ff0:0106H 
mov ax,[0008]  AX=C389H  BX=0H DS=2000H 
               CS:IP 0ff0:0109H 
mov ax,[0002]  AX=EA66H  BX=0H DS=2000H 
注解: 上面是按照程序的执行过程来写的.即先执行CS:IP+*在执行语句内容 
4点多了终于写完了哈哈
yysagitar
[第1楼]   [ 回复时间:2010-07-18 01:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-17 22:44
第一题最后一空怎么是00DC的?不是E6+26=GC吗?
yysagitar
[第2楼]   [ 回复时间:2010-07-18 01:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-17 22:44
不是000C吗?
mouse
[第3楼]   [ 回复时间:2010-07-19 09:38 ]   [引用]   [回复]   [ top ] 
荣誉值:472
信誉值:12
注册日期:2007-10-16 15:34
debug也能验证。

先更改内存,保证读取的内存数据和书上的一样。

然后写入代码并跟踪。
ts_e520
[第4楼]   [ 回复时间:2010-07-20 21:44 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-20 21:40
晕,那个ds直接影响指令运行的结果的。所以书上的那些0000:0000 1f的那些内存内容是与程序无关的。要查看0001:0000 1f。
liuquanhao7232
[第5楼]   [ 回复时间:2010-07-21 18:21 ]   [引用]   [回复]   [ top ] 
荣誉值:8
信誉值:0
注册日期:2010-07-12 08:47
楼主写错了吧。。。第一题的最后一个是000CH。
第二题。
                  CS:IP 2000:0H  
               CS:IP 2000:3H  
mov ax,6622H   AX=6622H  BX=0H DS=1000H  
               CS:IP 2000:8H  
jmp 0ff0:0100  AX=6622H  BX=0H DS=1000H  
               CS:IP 0ff0:0100H  
mov ax,2000H   AX=2000H  BX=0H DS=1000H  
               CS:IP 0ff0:0103H  AX=2000H 
mov ds,ax      DS=2000H  
               CS:IP 0ff0:0105H  
mov ax,[0008]  AX=C389H  DS=2000H  
               CS:IP 0ff0:0108H  
mov ax,[0002]  AX=EA66H   DS=2000H  
 
我看mov bx,ax根本就没有执行嘛。。在jmp 0ff0:0100就跳转了。。它哪有机会执行呀?
red_light
[第6楼]   [ 回复时间:2010-07-29 10:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-27 16:10
回复:[第5楼]
------------------
mov bx,ax确实没有执行
ynkmsd
[第7楼]   [ 回复时间:2010-08-25 20:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-08-11 17:28
一开始我没注意,要-e写入数据 害我怎么想都没明白 哈哈
tiger888
[第8楼]   [ 回复时间:2010-08-31 21:04 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-08-10 16:34
学习了,谢谢
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved