. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  初学汇编,通过DEBUG改变段地址求寄存器的值理解不了?  [待解决] 回复[ 14次 ]   点击[ 3493次 ]  
abcabc
[帖 主]   [ 发表时间:2007-06-25 19:39 ]   [引用]   [回复]   [ top ] 
荣誉值: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 ]   [引用]   [回复]   [ top ] 
荣誉值:179
信誉值:6
注册日期:2007-07-09 19:18
指令执行时,DS=1了,这个段地址与题目中d   0:0   1f给的内存信息有关
有段地址和偏移地址得出第一条mov ax,[0000] 中ds:0的物理地址为10H所以AX为2662H
把段地址和偏移地址都换算成物理地址就容易理解了,此题重点考察物理地址的转换.
492668570
[第2楼]   [ 回复时间:2007-12-05 20:47 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:1
注册日期:2007-12-02 21:14
首先说明有关。
根据题目要求计算第一个AX的值,因为是访问的部件是内存,偏移地址为0000,所以首要是确定它的段地址,从DS中获得,即DS=0001。接着就需要我们计算出物理地址,这时lz就会发现我们需要的数据在0000:0010处的字数据2662H。
492668570
[第3楼]   [ 回复时间:2007-12-05 20:48 ]   [引用]   [回复]   [ top ] 
荣誉值:3
信誉值:1
注册日期:2007-12-02 21:14
首先说明有关。
根据题目要求计算第一个AX的值,因为是访问的部件是内存,偏移地址为0000,所以首要是确定它的段地址,从DS中获得,即DS=0001。接着就需要我们计算出物理地址,这时lz就会发现我们需要的数据在0000:0010处的字数据2662H。
psdugujian
[第4楼]   [ 回复时间:2008-06-09 07:35 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-06-06 08:42
mov ax,1           //ax = 1
mov ds,ax          //ds = 1,  ax = 1
mov ax,[0000]      //ds = 1,  ax = 2662    ax的值等于段地址ds乘以10加上偏移地址[0000]处的值,
                                           因为ax是16位,所以ax=2662;
mov bx,[0001]      //ds = 1,  bx = e626    原因同上;
zhtao315
[第5楼]   [ 回复时间:2008-07-28 11:36 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-07-25 10:35
小弟 建立了汇编语言交流群,希望大家有什么问题可以在线交流.不知道这算不算违反了论坛的规定,如果是 就请删除吧,想一起交流的加:67024984
regex
[第6楼]   [ 回复时间:2009-12-25 16:14 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:0
注册日期:2009-12-19 01:51
mov ax,1
mov ds,ax
#此处DS中存放的地址为:0010:0000

mov ax,[0000] 

#將内存单元0010:0000处内容传送至ax
ytcxl008
[第7楼]   [ 回复时间:2010-07-12 20:45 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-07 08:53
为什么每次 输入到MOV   BX,0 这个指令的时候debug就死机了 按什么键都没反应了啊
c-player
[第8楼]   [ 回复时间:2010-09-06 14:05 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-08-20 20:50
0000:0010  和 0001:0000 描述的是同一个物理地址00010
yuprxk
[第9楼]   [ 回复时间:2010-11-02 22:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2010-10-25 16:06
终于明白了
谢谢
y_xiaopeng890903
[第10楼]   [ 回复时间:2010-11-11 22:40 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-11 17:55
建群的那个,怎么搜到的群是一个销售的群?
cj0908
[第11楼]   [ 回复时间:2013-12-08 21:05 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2013-12-07 11:57
虽然学过同一物理地址可以用不同的段地址:偏移地址来表示,, 但一做题目就忘记了,呵呵

果然做题可以发现自己那些地方掌握的不牢靠,或者说不断加深对知识的记忆
wrsg
[第12楼]   [ 回复时间:2019-08-17 15:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-11-21 12:54
DS=1;
DS:0000=00010
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved