下面这道选择题中的2,3选项为什么是错的?求解?
下列说法中正确的是:___D_
1、 8086CPU采用“段地址*16+偏移地址=物理地址”的寻址模式,所以内存是由一个一个的段组成,每一个段有一个段地址。
2、 物理地址为ffff0H的内存单元的偏移地址可能为ffffH。
3、 一个段的大小可以是8Byte。
4、 在一段没有任何跳转指令的程序中,超出64K的部分将不会被执行。 //CPU执行指令取决于CS;IP,IP最大65535,超过64K的IP不识别,CPU也就无法执行。
[解决办法]
8068物理地址=段地址*16(10h)+偏移地址。分段为00000h~0ffffh......f0000h~fffffh;比如00000h~0ffffh就是一个段,段内的内存是连续的,所以A错。B.由于物理地址为ffff0H,所以偏移地址最低位一定为0,所以B错.C.由上面得到每个段的大小为ffffh.为64KB,所以C错。因为段内连续,所以在超过64KB的时候不知道下一句程序在哪里。所以需要跳转指令,没有的话超出64K的部分将不会被执行。所以D对。