1.对于一个物理地址,最多能对应多少个段:偏移
假设段值为xxxxh,偏移为yyyyh,假设xh yh = ah;
那么物理地址为=xxxxh * 10h yyyyh = xaaayh.
对于一个固定的物理地址,那么xaaayh的最高半字节和最低半字节是不会发生变化的,与可能变化的只有中间三个半字节共12位。对于这12位,俩数加和的可能值有0 - (2^12 - 1),因此总共有2^12中可能性,即可以最多有4k个段:偏移对应一个线性地址。
2.对于ffffh:ffffh的地址怎么表示?
由于8086仅仅有20位地址总线,当段偏移达到最大时,20位的地址线已不能表示(10ffefh).这时系统不会出错,只是会回卷回去,重新寻址。但是到286的时候,已经可以寻址1mb以上的地址,为了保持向下兼容,ibm使用8042键盘控制器控制第二十位。默认情况下是处于关闭状态,可以通过92h端口进行操作。
in al, 92h
and al, 1
out 92h, al
对于端口的操作只能通过in和uot指令。
3.段偏移模式适用于什么模式。
一般情况下,操作系统会有三种基本模式:实地址模式,保护模式和系统管理模式,还有一个保护模式的特例,虚拟8086模式。段偏移模式仅适用于实地址模式,而且寻址有限,只有1mb.
阅读(2187) | 评论(0) | 转发(0) |