. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  检测点3.1答案(请高手指点)  [待解决] 回复[ 26次 ]   点击[ 2167次 ]  
leeyeye
[帖 主]   [ 发表时间:2008-05-16 20:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2008-02-23 16:11
(1)
AX=2662
BX=E662
AX=E662
AX=2662
BX=D6E6
AX=FD48
AX=2C14
AX=0
AX=00E6
BX=0
BX=0026
AX=000C
hidden
[第1楼]   [ 回复时间:2008-05-17 07:39 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:13
注册日期:2008-04-28 19:46
add ax,[0004];    AX=2C14H    请问下你 你这个是怎么算的  能详细说明吗
black
[第2楼]   [ 回复时间:2008-05-23 16:33 ]   [引用]   [回复]   [ top ] 
荣誉值:37
信誉值:0
注册日期:2008-01-29 18:06
还是让leeyeye帮你解释一下把
huangaozhuo
[第3楼]   [ 回复时间:2008-05-24 21:42 ]   [引用]   [回复]   [ top ] 
荣誉值:10
信誉值:0
注册日期:2008-05-08 12:02
1楼的弟兄,这需要算吗?
直接在debug里运行不就好了.先利用e命令创造题目中的环境.
-d 0:0 1F
0000:0000  70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60   p..0.`0…..f “`
0000:0010  62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88   b&….<;….&.f.
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B1C  ES=0B1C  SS=0B1C  CS=0B1C  IP=0100   NV UP EI PL NZ NA PO NC
0B1C:0100 E473          IN      AL,73
用A命令写入内存:
-a 1000:0
0B1C:0100 mov ax,1
0B1C:0103 mov ds,ax
0B1C:0105 mov ax,[0000]
0B1C:0108 mov bx,[0001]
0B1C:010C mov ax,bx
0B1C:010E mov ax,[0000]
0B1C:0111 mov bx,[0002]
0B1C:0115 add ax,bx
0B1C:0117 add ax,[0004]
0B1C:011B mov ax,0  
0B1C:011E mov al,[0002]
0B1C:0121 mov bx,0
0B1C:0124 mov bl,[000C]  
0B1C:0128 add al,bl  
0B1C:012A 
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B1C  ES=0B1C  SS=0B1C  CS=0B1C  IP=0100   NV UP EI PL NZ NA PO NC
0B1C:0100 B80100        MOV      AX,0001       
-t
AX=0001  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B1C  ES=0B1C  SS=0B1C  CS=0B1C  IP=0103   NV UP EI PL NZ NA PO NC
0B1C:0103 8ED8          MOV      DS,AX                     
-t
AX=0001  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0105   NV UP EI PL NZ NA PO NC
0B1C:0105 B81E0100      MOV      AX,[0000]                DS:0000=2662
-t
AX=2662  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0108   NV UP EI PL NZ NA PO NC
0B1C:0108 B80100        MOV      BX,[0001]                DS:0001=E626
-t
AX=2662  BX=E626  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=010C   NV UP EI PL NZ NA PO NC
0B1C:010C 89D8          MOV      AX,BX
-t
AX=E626  BX=E626  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=010E   NV UP EI PL NZ NA PO NC
0B1C:010E A10000        MOV      AX,[0000]                DS:0000=2662
-t
AX=2662  BX=E626  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0111   NV UP EI PL NZ NA PO NC
0B1C:0111 8B1E0200      MOV      BX,[0002]                DS:0002=D6E6
-t
AX=2662  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0115   NV UP EI PL NZ NA PO NC
0B1C:0115 01D8          ADD      AX,BX
-t
AX=FD48  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0117   NV UP EI PL NZ NA PO NC
0B1C:0117 03060400      ADD      AX,[0004]                DS:0004=2ECC
-t
AX=2C14  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=011B   NV UP EI PL NZ NA PO NC
0B1C:011B B80000        MOV      AX,0000
-t
AX=0000  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=011E   NV UP EI PL NZ NA PO NC
0B1C:011E A00200        MOV      AL,[0002]                DS:0002=E6
-t
AX=00E6  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0121   NV UP EI PL NZ NA PO NC
0B1C:0121 BB0000        MOV      BX,0000
-t
AX=00E6  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0124   NV UP EI PL NZ NA PO NC
0B1C:0124 8A1E0C00      MOV      BL,[000C]                DS:000C=26
-t
AX=00E6  BX=0026  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0128   NV UP EI PL NZ NA PO NC
0B1C:0128 B80100        ADD      AL,BL
-t
AX=000C  BX=0026  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=012A   NV UP EI PL NZ NA PO NC
0B1C:012A 46            INC      SI
ytbxass
[第4楼]   [ 回复时间:2008-06-13 14:19 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2008-05-18 08:07
bx=e626  不知道有没有看错
yigeling
[第5楼]   [ 回复时间:2008-06-13 17:48 ]   [引用]   [回复]   [ top ] 
荣誉值:7
信誉值:0
注册日期:2008-01-29 17:57
没看错,leeyeye 的写错了。
xtjjcel
[第6楼]   [ 回复时间:2008-06-14 09:46 ]   [引用]   [回复]   [ top ] 
荣誉值:8
信誉值:0
注册日期:2008-05-25 09:41
mov ax,1
mov ds,ax ; 初始化数据段
执行
mov ax,[0000]                       

   0001
 +  0000
-----------------    
   00010


   0000
 +  0010
----------------
   00010
snakelgz
[第7楼]   [ 回复时间:2008-07-20 15:55 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2008-06-25 01:27
受教啦!!哈哈哈哈……
weiqijun
[第8楼]   [ 回复时间:2008-09-20 00:05 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2008-08-15 09:59
add ax,[0004];    AX=2C14H    请问下你 你这个是怎么算的  能详细说明吗
------------------
回复:这个是怎么算的啊?有谁能详细解说一下?
till
[第9楼]   [ 回复时间:2008-09-22 16:05 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:0
注册日期:2008-06-04 16:24
mov ax,bx         ax=E626H BX=E626H
mov ax,[0000]     ax=2662H BX=E626H
mov bx,[0002]     bx=D6E6H
add ax,bx         ax=FD48H
add ax,[0004]     ax=2C14H 
由add ax,bx  得出了ax=FD48H , 00010:0004等价于0000:0014,此处存放的字型数据为:2ECC
FD48H+2ECC=12C14H 再由于:AX是16位的,所以答案是2C14H
anly2782
[第10楼]   [ 回复时间:2008-09-23 17:17 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-09-21 15:29
那个OB1C怎么出来的,我上面怎么没有
hanlsheng
[第11楼]   [ 回复时间:2008-12-18 16:50 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2008-12-15 16:17
1楼的弟兄,这需要算吗?
直接在debug里运行不就好了.先利用e命令创造题目中的环境.
-d 0:0 1F
0000:0000  70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60   p..0.`0…..f “`
0000:0010  62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88   b&….<;….&.f.
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B1C  ES=0B1C  SS=0B1C  CS=0B1C  IP=0100   NV UP EI PL NZ NA PO NC
0B1C:0100 E473          IN      AL,73
用A命令写入内存:
-a 1000:0
0B1C:0100 mov ax,1
0B1C:0103 mov ds,ax
0B1C:0105 mov ax,[0000]
0B1C:0108 mov bx,[0001]
0B1C:010C mov ax,bx
0B1C:010E mov ax,[0000]
0B1C:0111 mov bx,[0002]
0B1C:0115 add ax,bx
0B1C:0117 add ax,[0004]
0B1C:011B mov ax,0  
0B1C:011E mov al,[0002]
0B1C:0121 mov bx,0
0B1C:0124 mov bl,[000C]  
0B1C:0128 add al,bl  
0B1C:012A 
-r
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B1C  ES=0B1C  SS=0B1C  CS=0B1C  IP=0100   NV UP EI PL NZ NA PO NC
0B1C:0100 B80100        MOV      AX,0001       
-t
AX=0001  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0B1C  ES=0B1C  SS=0B1C  CS=0B1C  IP=0103   NV UP EI PL NZ NA PO NC
0B1C:0103 8ED8          MOV      DS,AX                     
-t
AX=0001  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0105   NV UP EI PL NZ NA PO NC
0B1C:0105 B81E0100      MOV      AX,[0000]                DS:0000=2662
-t
AX=2662  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0108   NV UP EI PL NZ NA PO NC
0B1C:0108 B80100        MOV      BX,[0001]                DS:0001=E626
-t
AX=2662  BX=E626  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=010C   NV UP EI PL NZ NA PO NC
0B1C:010C 89D8          MOV      AX,BX
-t
AX=E626  BX=E626  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=010E   NV UP EI PL NZ NA PO NC
0B1C:010E A10000        MOV      AX,[0000]                DS:0000=2662
-t
AX=2662  BX=E626  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0111   NV UP EI PL NZ NA PO NC
0B1C:0111 8B1E0200      MOV      BX,[0002]                DS:0002=D6E6
-t
AX=2662  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0115   NV UP EI PL NZ NA PO NC
0B1C:0115 01D8          ADD      AX,BX
-t
AX=FD48  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0117   NV UP EI PL NZ NA PO NC
0B1C:0117 03060400      ADD      AX,[0004]                DS:0004=2ECC
-t
AX=2C14  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=011B   NV UP EI PL NZ NA PO NC
0B1C:011B B80000        MOV      AX,0000
-t
AX=0000  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=011E   NV UP EI PL NZ NA PO NC
0B1C:011E A00200        MOV      AL,[0002]                DS:0002=E6
-t
AX=00E6  BX=D6E6  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0121   NV UP EI PL NZ NA PO NC
0B1C:0121 BB0000        MOV      BX,0000
-t
AX=00E6  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0124   NV UP EI PL NZ NA PO NC
0B1C:0124 8A1E0C00      MOV      BL,[000C]                DS:000C=26
-t
AX=00E6  BX=0026  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=0128   NV UP EI PL NZ NA PO NC
0B1C:0128 B80100        ADD      AL,BL
-t
AX=000C  BX=0026  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=0001  ES=0B1C  SS=0B1C  CS=0B1C  IP=012A   NV UP EI PL NZ NA PO NC
0B1C:012A 46            INC      SI
------------------
回复:学计算机就要这个样学!
wozhuai159
[第12楼]   [ 回复时间:2009-01-20 03:19 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-01-18 19:19
疑问:
用A命令写入内存: 
-a 1000:0 
0B1C:0100 mov ax,1 
0B1C:0103 mov ds,ax 
0B1C:0105 mov ax,[0000] 
0B1C:0108 mov bx,[0001] 
0B1C:010C mov ax,bx 
0B1C:010E mov ax,[0000] 
0B1C:0111 mov bx,[0002] 
0B1C:0115 add ax,bx 
0B1C:0117 add ax,[0004] 
0B1C:011B mov ax,0   
0B1C:011E mov al,[0002] 
0B1C:0121 mov bx,0 
0B1C:0124 mov bl,[000C]   
0B1C:0128 add al,bl   
0B1C:012A
当中的0B1C是不是应该为1000?
maxm
[第13楼]   [ 回复时间:2009-01-21 10:51 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:4
注册日期:2009-01-15 22:41
回复:[第1楼]
------------------
相当与ax = ax + [ds:0004]
fexzi
[第14楼]   [ 回复时间:2009-02-06 00:21 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-02-03 15:47
直接在debug里运行不就好了.先利用e命令创造题目中的环境.
-d 0:0 1F 
应该是-e 0:0 1F 吧
zhaozhao
[第15楼]   [ 回复时间:2009-02-12 13:53 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-11-16 22:43
我想请问一下,最后一个答案为什么是000CH。我的理解是虽然al是八位的寄存器,但是最后问的是AX的值,我认为是可以进位的,为什么高位变成0了。有一点不明白,希望给我解释一下,是为什么,谢谢各位了。
dxw543
[第16楼]   [ 回复时间:2009-02-23 14:47 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-02-20 09:49
zhaozhao :0B1C:0128 add al,bl 是对字节操作
al,bl与ah,bh 是没有关系的不同寄存器了 所以不能进位
chuanqiliu
[第17楼]   [ 回复时间:2009-03-06 12:38 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-02-16 11:01
马上也到DEBUG中验证。
gtv
[第18楼]   [ 回复时间:2009-03-10 18:03 ]   [引用]   [回复]   [ top ] 
荣誉值:5
信誉值:0
注册日期:2009-03-05 11:27
3楼的方法很好 赞
taijituishou
[第19楼]   [ 回复时间:2009-03-24 05:53 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-03-12 06:06
-d 0:0 1F 
0000:0000  70 80 F0 30 EF 60 30 E2-00 80 80 12 66 20 22 60   p..0.`0…..f “` 
0000:0010  62 26 E6 D6 CC 2E 3C 3B-AB BA 00 00 26 06 66 88   b&….<;….&.f. 

本人机子上是 68 10 a7 00 8B 01 70 00-16 00 A5 03 8B 01 70 00  
           8B 01 70 00 B9 06 12 02-40 07 12 02 FF 03 12 02

问:为什么不同?

-r 
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000 
DS=0B1C  ES=0B1C  SS=0B1C  CS=0B1C  IP=0100   NV UP EI PL NZ NA PO NC 
0B1C:0100 E473          IN      AL,73 

本人机子:DS=0AFE ES=0AFE SS=0AFE CS=0AFE IP=0100
何解?


执行 -a 1000:0后为何是0B1C:0100 ?
本机执行后ax的依然为0,BX却变成了9800,这是怎么回事?
second
[第20楼]   [ 回复时间:2009-03-25 20:37 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-03-22 17:01
BX=E662 
第二行就已经错了。
ddspace
[第21楼]   [ 回复时间:2009-03-26 17:27 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2009-03-14 15:44
都正确吧  这个不用讨论了吧
ndxhoubin
[第22楼]   [ 回复时间:2009-03-29 19:30 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2008-11-29 19:08
这怎么可能呢,mov ax,1 
           mov ds,ax 
           mov ax,[0000]
DS的值就是0001这里只能把0001:0000的值给AX嘛,怎么会把0000:0010字单元的值给他呢,大侠们解释一下
hou0912
[第23楼]   [ 回复时间:2009-04-02 10:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-03-08 00:10
0001:0000
等价于
0000:0010
kingwrcy
[第24楼]   [ 回复时间:2009-04-10 14:34 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2007-12-10 17:12
这怎么可能呢,mov ax,1 
           mov ds,ax 
           mov ax,[0000]
DS的值就是0001这里只能把0001:0000的值给AX嘛,怎么会把0000:0010字单元的值给他呢,大侠们解释一下
------------------
回复:

楼上正解.同一个物理地址有N种段地址*16+偏移地址构成.

所以 0001:0000 等价于 0000:0010

物理地址 = 0001H*16+0000H = 00010H
物理地址 = 0000H*16+0010H = 00010H

2个是一样的.
16141602
[第25楼]   [ 回复时间:2014-12-09 22:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-12-04 23:43
对已一个新手来说~每天有这么多人回答问题!作为新手!我又有自信前进了。希望汇编网强大起来。
16141602
[第26楼]   [ 回复时间:2014-12-09 22:20 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2014-12-04 23:43
饿~挖坟贴!瞬间又失望了!
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved