《微机原理》这本课程学过,不过后来我忘记了。今天复习的时候,作为学渣的我解了好大一个疑惑。
书上说,8086CPU有16位的数据总线和20位的地址总线。
所以,为了能让16位的cpu能够驱动20位的内存,采用了分段的形式。
原理和内容都在这里,不详细展开了
分段的地址怎么计算呢:
我们知道段寄存器是16位的,16为的ip指针指向偏移量。
举个例子
段寄存器中的数值为: 2000H(16进制)
IP偏移量指针的指向: 1100H(16进行)
那么,cpu实际想指向的逻辑地址是多少呢?
书上一直讲,段寄存器后面补4个0+偏移量指针。
这里是16进制,所以后面补一个0。
所以结果是 2000H *10H + 1100H = 21100H
这个结果是什么意思呢?
意思是: