(1)CPU中的相关部件提供两个16位的地址,一个称为段地址,另一个称为偏移地址;
(2)段地址和偏移地址通过内部总线送入一个称为地址加法器的部件;
(3)地址加法器将两个16位地址合成一个20位的物理地址;
(4)地址加法器通过内部总线将20位物理地址卷入输入输出控制电路;
(5)输入输出控制电路将20位物理地址送上地址总线;
(6)20位物理地址被地址总线送到存储器。
地址加法器采用物理地址=段地址×16+偏移地址的方法用段地址和偏移地址合成物理地址。例如:8086CPU要访问地址为123C8H的内存单元时,此时,地址加法器的工作过程如
看到这些,我不明白了。
25 个解决方案
#1
123C8H
那个是段地址?那个是偏移地址。我都看不明白。
那个是段地址?那个是偏移地址。我都看不明白。
#2
1230 * 16h+ 00c8 = 123C8H
段地址 偏移地址 物理地址
段地址 偏移地址 物理地址
#3
如果这样计算×16再+00C8不是得123C8H?
#4
乘上16H后面补上不就是12300+00C8=123C8H
#5
就是将逻辑地址中的段地址左移4位,加上偏移地址得到20位的物理地址。
#6
10进制的16等于16进制的10H
#7
123C8H=(CS=123CH,IP=8H 或CS=1230H,IP=C8H,或 CS=1000H,IP=23C8H ,或 CS=1001H,ip=23B8HD ,或 CS=1002H,IP=23A8H 等等)
#8
多想想可以想出来的,独立思考。
#9
1230H×16 = 19020?
怎么得这个,不明白。
#10
怎么分出那个是逻辑地址,那个是偏移地址?
#11
乘上10H后面补上不就是12300+00C8=123C8H
1230H*10H 将逻辑地址中的段地址左移4位=12300H
1230H*10H 将逻辑地址中的段地址左移4位=12300H
#12
1230H × 10(这个是十进制)+00C8 = 123C8
是这样吗?
没标明是什么进制的数值,是十进制?
请问,怎么分出那个是段地址和偏移地址。
是这样吗?
没标明是什么进制的数值,是十进制?
请问,怎么分出那个是段地址和偏移地址。
#13
1230H × 10H(这个是十进制)+00C8H = 123C8H
1230H是段地址 段地址左移4位(0) 加上偏移00C8H=物理地址 123C8H
1230H是段地址 段地址左移4位(0) 加上偏移00C8H=物理地址 123C8H
#14
书中就给出123C8 是一个地址,但怎么知道是段地址呢?它有什么特点?那个是偏移地址呢?
#15
给出一个物理有多种计算法,看你要怎样算都可以.
#16
楼上不要误导初学者,数据后跟H表示这个数一定是16进制表示的数,所以10H一定是16进制数,它等于10进制数的16
#17
而16H等于10进制的22
#18
那怎么分出那个是段地址,那个是偏移地址?
知道就是知道物理的计算公式,但那个是段地址、那个是偏移地址?
知道就是知道物理的计算公式,但那个是段地址、那个是偏移地址?
#19
条条道路通罗马,要知道到罗马的是哪条路就难了,楼主最大的问题是不会举一反三啊!
#20
不懂啊。
#21
给出一个段地址,一个偏移地址,可以得到一个确定的物理地址,反过来一个确定的物理地址却可以由任意能符合计算规则的段地址+偏移地址组成
#22
地址10000H~100FFH的内存单元组成一个段,该段的起始地址(基础地址)为10000H,段地址为1000H,大小为100H;
大小为100H,为什么呢?
#23
9=9,而0-9却是10个数据,类似的ffh=255,而0-ffh=256(100h)个数据
#24
段地址*基值+偏移量=物理地址
全部操作数是二进制!
全部操作数是二进制!
#25
多谢各位耐心指点。
多谢!
多谢!
#1
123C8H
那个是段地址?那个是偏移地址。我都看不明白。
那个是段地址?那个是偏移地址。我都看不明白。
#2
1230 * 16h+ 00c8 = 123C8H
段地址 偏移地址 物理地址
段地址 偏移地址 物理地址
#3
如果这样计算×16再+00C8不是得123C8H?
#4
乘上16H后面补上不就是12300+00C8=123C8H
#5
就是将逻辑地址中的段地址左移4位,加上偏移地址得到20位的物理地址。
#6
10进制的16等于16进制的10H
#7
123C8H=(CS=123CH,IP=8H 或CS=1230H,IP=C8H,或 CS=1000H,IP=23C8H ,或 CS=1001H,ip=23B8HD ,或 CS=1002H,IP=23A8H 等等)
#8
多想想可以想出来的,独立思考。
#9
1230H×16 = 19020?
怎么得这个,不明白。
#10
怎么分出那个是逻辑地址,那个是偏移地址?
#11
乘上10H后面补上不就是12300+00C8=123C8H
1230H*10H 将逻辑地址中的段地址左移4位=12300H
1230H*10H 将逻辑地址中的段地址左移4位=12300H
#12
1230H × 10(这个是十进制)+00C8 = 123C8
是这样吗?
没标明是什么进制的数值,是十进制?
请问,怎么分出那个是段地址和偏移地址。
是这样吗?
没标明是什么进制的数值,是十进制?
请问,怎么分出那个是段地址和偏移地址。
#13
1230H × 10H(这个是十进制)+00C8H = 123C8H
1230H是段地址 段地址左移4位(0) 加上偏移00C8H=物理地址 123C8H
1230H是段地址 段地址左移4位(0) 加上偏移00C8H=物理地址 123C8H
#14
书中就给出123C8 是一个地址,但怎么知道是段地址呢?它有什么特点?那个是偏移地址呢?
#15
给出一个物理有多种计算法,看你要怎样算都可以.
#16
楼上不要误导初学者,数据后跟H表示这个数一定是16进制表示的数,所以10H一定是16进制数,它等于10进制数的16
#17
而16H等于10进制的22
#18
那怎么分出那个是段地址,那个是偏移地址?
知道就是知道物理的计算公式,但那个是段地址、那个是偏移地址?
知道就是知道物理的计算公式,但那个是段地址、那个是偏移地址?
#19
条条道路通罗马,要知道到罗马的是哪条路就难了,楼主最大的问题是不会举一反三啊!
#20
不懂啊。
#21
给出一个段地址,一个偏移地址,可以得到一个确定的物理地址,反过来一个确定的物理地址却可以由任意能符合计算规则的段地址+偏移地址组成
#22
地址10000H~100FFH的内存单元组成一个段,该段的起始地址(基础地址)为10000H,段地址为1000H,大小为100H;
大小为100H,为什么呢?
#23
9=9,而0-9却是10个数据,类似的ffh=255,而0-ffh=256(100h)个数据
#24
段地址*基值+偏移量=物理地址
全部操作数是二进制!
全部操作数是二进制!
#25
多谢各位耐心指点。
多谢!
多谢!