. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
主题 : :  初学汇编,通过DEBUG改变段地址求寄存器的值理解不了?  [待解决] 回复[ 14次 ]   点击[ 3496次 ]  
abcabc
[帖 主] [ 发表时间:2007-06-25 19:39 ] 
荣誉值:24
信誉值:3
注册日期:2007-06-06 11:53
检测点3.1  
  (1)在Debug中用“d   0:0   1f”查看内存,结果如下:  
  0000:0000   70   80   F0   30   EF   60   30   E2-00   80   80   12   66   20   22   60  
  0000:0010   62   26   E6   D6   CC   2E   3C   3B-AB   BA   00   00   26   06   66   88  
  下面的程序执行前,AX=0,BX=0,写出每条汇编指令执行完后相关寄存器中的值。  
  MOV   AX,1  
  MOV   DS,AX  
  MOV   AX,[0000]         AX=___  
  MOV   BX,[0001]         BX=_____  
  MOV   AX,BX                 AX=___  
  MOV   AX,[0000]         AX=___  
  MOV   BX,[0002]         BX=_____  
  ADD   AX,BX                 AX=___  
  ADD   AX,[0004]         AX=___  
  MOV   AX,0                   AX=___  
  MOV   AL,[0002]         AX=___  
  MOV   BX,0                   BX=_____  
  MOV   BL,[000C]         BX=_____  
  ADD   AL,BL                 AX=___  
   
   
  (指令执行时,DS=0001吗?这个段地址与题目中d   0:0   1f给的内存信息有关吗?)
cxn
[第1楼] [ 回复时间:2007-07-15 21:15 ] 
荣誉值:179
信誉值:6
注册日期:2007-07-09 19:18
指令执行时,DS=1了,这个段地址与题目中d   0:0   1f给的内存信息有关
有段地址和偏移地址得出第一条mov ax,[0000] 中ds:0的物理地址为10H所以AX为2662H
把段地址和偏移地址都换算成物理地址就容易理解了,此题重点考察物理地址的转换.
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved