注册 登录
编程论坛 汇编论坛

请教一个debug的问题

lw8484654 发布于 2006-09-09 10:14, 822 次点击
在debug中用d 0:0 1f命令查看内存,结果如下:
0000:0000 70 80 f0 30 40 ef 80 87-00 e2 80 65 78 e3 4d 1a
0000:0010 62 26 e6 d6 cc 2e 3c 3b-ab ba 45 3e df 1d ds fd
ax=0,bx=0,写出寄存器的值
mov ax,1
mov ds,ax
mov ax,[0000] ax=?
mov bx,[0001] bx=?
mov ax,[0002] ax=?
怎么得到的呢?请大家指教!!!!!
8 回复
#2
srl99732006-09-18 16:14
AX 2662H
BX 0E626H
AX 2662H+0D6E6H=0FD48H
#3
lw84846542006-09-23 22:26
老兄,AX   2662H这个答案是怎么得出来的呢?请教教我!!!!!
#4
hu9jj2006-09-24 08:19
是段寄存器DS加[0000]后的地址取来的数据。
#5
lw84846542006-09-24 10:39
段寄存器DS是0001,然后*16,就变成00010,再加上[0000],得不到啊。请老兄详细指教!
#6
hu9jj2006-09-24 14:47
0010:0000=0000:0010,两种表示方式指向同一个地址。然后低字节在前,高字节在后,不就是2662H吗?
#7
lw84846542006-09-24 15:17
0010:0000=0000:0010,两种表示方式指向同一个地址
为什么这两种表示方法指向同一个地址呢?请指教!!!
#8
hu9jj2006-09-25 08:08
段地址和偏移地址相加后,得到真实的绝对地址。0010:0000是在绝对地址为0010(段地址)上偏移0000,其绝对地址不就是0010;同理,0000:0010是在绝对地址0000(段地址)上偏移0010,不就是指向同一绝对地址吗?
#9
lw84846542006-09-25 22:38
我明白了,谢谢!!!
1