wufadeshou 发表于 2012-9-5 18:48:45

王爽汇编语言关于检测点3.1

检测点3.1
(1)在DEBUG中,用 "D 0:0 lf" 查看内存,结果如下:
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这句就是将 00000000 00000001存入ax寄存器中
mov   ds,ax 这句是将00000000 00000001存入段寄存器ds中
mov    ax,ax=2662   也就是在段地址0001的基础上偏移0

但是题目中给的没有段地址0001 (或者根本就是我理解错的)
对于0000:0000我的理解是前面是段地址,后面是偏移地址

我的迷惑如上。。望大神能给解决下



lukelqz 发表于 2012-9-5 18:48:46

0000:0010 和 0001:0000对应一样的物理地址呀。基础不牢哦
都是00010h这个实际地址哦,都是对应的62这个值嘛。段地址+偏移地址只是表达形式而已啊。可以对应同一实际物理地址的呀

GeV20 发表于 2012-9-5 19:09:19

貌似没看懂你的问题{:5_100:}

s0512 发表于 2012-9-5 19:20:35

mov   ax,1将1H赋值给AX;
mov   ds,ax 将(数据)段地址设为AX(1H);
mov    ax,ax=2662   将段地址(DS)0001:0(偏移)地址中的值赋值给AX;
====================================================
没看明白您的问题,我也刚刚看到这里{:1_1:},一起努力:lol
PS:用DEBUG尽量避开低地址段,用D查看都是00的地比较好,不太容易出错:lol


青鸟 发表于 2012-9-5 19:50:15

段地址你不是已经通过ax赋值给ds了,自然明确了段地址是0001。0000:0000构成一个物理地址,就是段地址乘上16加偏移地址

吹着凘风 发表于 2012-9-5 21:41:18

你理解是对的,但是你写的到最后没看懂

wufadeshou 发表于 2012-9-5 22:39:07

最佳答案回答的太完美了!!

lyoal 发表于 2012-10-18 10:18:49

看到lukelqz的回复,我才算是懂了,前面的章节,小甲讲过。同一个物理地址可以用不同的方式进行表示。最后的结果只要是同一个目标即可表示同一个地址。非常高兴,谢谢。

〓Self 发表于 2015-1-25 13:08:45

懂了!!谢谢楼主热心网友啊~~太感谢 么么哒{:1_1:}{:1_1:}{:1_1:}{:1_1:}

hexiaofengye 发表于 2015-6-9 14:25:12

多谢

黑龍 发表于 2016-2-23 22:32:28

lukelqz 发表于 2012-9-5 18:48
0000:0010 和 0001:0000对应一样的物理地址呀。基础不牢哦
都是00010h这个实际地址哦,都是对应的62这个值 ...

开始我觉得题出问题了后来就发现了
页: [1]
查看完整版本: 王爽汇编语言关于检测点3.1