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

【请教一下各位】两个汇编的小问题

Kiss_零 发布于 2010-04-14 21:19, 501 次点击
小弟因工作需要,所以学习汇编(初学),遇到两个问题,请教一下吧里的各位
问题1:
假设寄存器的初始值CS=2000H,IP=0,DS=1000H
现在我需要对AX和BX赋值,问题是寻址的时候是以CS为标准还是以DS为标准,为什么呢?
问题2:
mov ax,1
mov ds,ax

题目给出的是0000:0000 001F的内存数据,我就纳闷了DS的值是1,而且也没说是1D还是1H,即使是1H的话,似乎给出的地址中没有0001呀,是不是我理解错了?

书看的是王爽老师的《汇编语言》(第二版)
2 回复
#2
hahayezhe2010-04-15 18:27
DS为数据段寄存器  CS为代码段寄存器 所以寻址取数据时是DS

物理地址 = 16*段地址 + 偏移地址   假设你的偏移地址为f
mov ax,1
mov ds,ax  所以 1*16 + f =物理地址
#3
codewriter2010-04-15 20:09
mov ax,1
mov ds,ax
其中的1,是1H,是十六位数据,是一个数值,不是内存地址,如果是内存地址的话,应该是:mov  ax,[1H]
1