yztas 发表于 2013-8-20 21:52:45

检测点3.1的疑问,谢谢

段地址在mov ds,ax 后,数据段地址不是应该变为 0001:0000吗?怎么能从0000:0010 读数据呢? 菜鸟一枚,还请指点。 检测点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 600000: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,ax= 2662Hmov bx,bx= E626Hmov ax,bx      ax= E626Hmov ax,ax= 2662Hmov bx,bx= D6E6Hadd ax,bx      ax= FD48Hadd ax,ax= 2C14Hmov ax,0       ax=   0    mov al,ax= 00e6Hmov bx,0       bx=   0    mov bl,bx= 0026Hadd al,bl      ax= 000CH

565123 发表于 2013-8-20 21:52:46

本帖最后由 565123 于 2013-8-20 22:13 编辑

真实地址是段地址*16+偏移地址

因为0001H*10H+0000H与0000H*10H+10H是相等的,两个数据都是16,所以读的数据也一样

欠你的幸福 发表于 2013-8-20 22:20:53

搞不懂你在说什么,但你问的我用DEBUG 使了一下,

菜鸟一个a 发表于 2013-12-24 22:06:22

0001:0000 和0000:0010都换算为物理地址是一样的
页: [1]
查看完整版本: 检测点3.1的疑问,谢谢