I/O许可位图

来源:百度知道 编辑:UC知道 时间:2024/06/05 18:52:43
I/O许可位图的检查细节
(1)若CPL<=IOPL,则直接转步骤(8);
(2)取得I/O位图开始偏移;
(3)计算I/O地址对应位所在字节在I/O许可位图内的偏移;
(4)计算位偏移以形成屏蔽码值,即计算I/O地址对应位在“字节”中的第几位;;;(是哪个字节,是对应字节偏移还是I/O许可位图的字节)
(5)把字节偏移加上位图开始偏移,再加1,所得值与TSS界限比较,若越界,则产生出错码为0的通用保护故障;
(6)若不越界,则从位图中读对应字节及下一个字节;(这两个字节是分开开运算还是把它当作一个字来运算)
(7)把读出的两个字节与屏蔽码进行与运算,若结果不为0表示检查未通过,则产生出错码为0的通用保护故障;
(8)进行I/O访问。
请不要复制上面的那些,最好用最直接最简单的方法说明一下(最好个举例子)

/O许可位图的检查细节
(1)若CPL<=IOPL,则直接转步骤(8);
(2)取得I/O位图开始偏移;
(3)计算I/O地址对应位所在字节在I/O许可位图内的偏移;
(4)计算位偏移以形成屏蔽码值,即计算I/O地址对应位在“字节”中的第几位;;;(是哪个字节,是对应字节偏移还是I/O许可位图的字节)
(5)把字节偏移加上位图开始偏移,再加1,所得值与TSS界限比较,若越界,则产生出错码为0的通用保护故障;
(6)若不越界,则从位图中读对应字节及下一个字节;(这两个字节是分开开运算还是把它当作一个字来运算)
(7)把读出的两个字节与屏蔽码进行与运算,若结果不为0表示检查未通过,则产生出错码为0的通用保护故障;
(8)进行I/O访问。
请不要复制上面的那些,最好用最直接最简单的方法说明一下(最好个举例子)