. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  怎么想也想不明白啊,求教。。。  [已解决] 回复[ 2次 ]   点击[ 410次 ]  
lxnokxie
[帖 主]   [ 发表时间:2013-05-11 09:37 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2013-05-03 11:48
刚才看到一兄弟发的帖子,其中有这样一道题:
 

能够将ax中的内容送到内存0000:0200H处的指令序列是_4__。   
        1、         mov ds,0   
                   mov bx,200h   
                   mov [bx],ax   
        2、         mov ax,200h   
                   mov ds,ax   
                   mov bx,0   
                   mov [bx],ax   
        3、         mov ax,20h   
                   mov ds,ax   
                   mov bx,0   
                   mov [bx],ax   
        4、         mov bx,20h   
                   mov ds,bx   
                   mov bx,0   
                   mov [bx],ax   

我就很纳闷啊,这道题选择第4个???第四个有问题吧??? 
第一行和第二行代码执行完毕即mov bx,20h和mov ds,bx执行完毕后,
ds中的值为20h, 也即段地址为20
mov bx,0后,bx为0,
再执行代码mov [bx],ax不是将ax中的值放入了0200:0000处吗? 
我怎么感觉这代码应该是下面这样? 
mvo bx,0 
mov ds,bx 
mov bx,200h 
mov [bx],ax 

是不是我理解错了??求指点。。。。
lxnokxie
[第1楼]   [ 回复时间:2013-05-12 16:59 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2013-05-03 11:48
晕啊,我真是笨啊。。。原来是 0020:0000和 0000:0200的地址是一样的。。。。。都运算就稀里糊涂下结论。。。。。晕死哦。。。。。
lxnokxie
[第2楼]   [ 回复时间:2013-05-12 17:00 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2013-05-03 11:48
此贴由 贴主 于 [ 2013-05-12 17:00 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved