汇编语言中的物理地址,段基址和偏移地址的具体含义,及作用,要详细一点,

问题描述:

汇编语言中的物理地址,段基址和偏移地址的具体含义,及作用,要详细一点,
除了上面的解释以外,还有比如在这个例子中:
SUB1 DB 03H,35H
这个命令中,SUB1代表的是什么地址,属于上述什么性质?
1个回答 分类:综合 2014-10-02

问题解答:

我来补答
物理地址就是数据在内存中实际存放的位置.因为8086或8088有20条地址线,寻址能力有2的20次方,1MBit.而8086或8088内部寄存器是是16位的,无法用一个位完全表示出来.所以采用段首地址+偏移量两个寄存器来表示的方式,俗称PC或CS:IP来表示一个实际的物理地址,这就是所谓的虚拟地址.例如段首地址为0000H,而偏移量的范围就在0000H-FFFFH之间,就表示00000H-0FFFFH的实际内存单元.就是说一个段的大小在64Kb.
SUB1 DB 03H,35H 这个命令中,SUB1表示存放03H,35H这两个数据的首地址,相当于C语言中字符串数组的首地址.假如这个SUB1在数据段中,有专门的数据段寄存器DS,它的实际地址就是DS:SUB1
 
 
展开全文阅读
剩余:2000