摘要: 下述代码展示了如何启动分页机制,及页目录及页表项的初始化: ; ========================================== ; pmtest6.asm ; 编译方法:nasm pmtest6.asm -o pmtest6.com ; ========================================== %include    "pm.inc"    ; 常... 阅读全文
posted @ 2011-01-18 22:17 Aoysme 阅读(1019) 评论(3) 推荐(1)
摘要: A.分页机制概述(如图)    Segmentation部分为分段机制,逻辑地址通过段选择子,从GDT中对应的段描述符中确定段基址,然后在加上偏移确定线性地址    Paging部分为分页机制:物理地址=f(线性地址)        分页机制使用两级转换表,第一级叫做页目录(Page Directory),存储在一个物理页中.大小为4KB,每个表项4字节,     共有1024个表项(Pag... 阅读全文
posted @ 2011-01-18 21:31 Aoysme 阅读(575) 评论(0) 推荐(1)
摘要: 完成有效的特权级的转移及使用局部任务返回实模式: ; ========================================== ; pmtest5.asm ; 编译方法:nasm pmtest5.asm -o pmtest5.com ; ========================================== %include    "pm.inc"    ; 常量, 宏,... 阅读全文
posted @ 2011-01-18 20:34 Aoysme 阅读(523) 评论(0) 推荐(1)
摘要: 我们在进入ring3后,实现了高特权级到低特权级的转移,我们在原有代码上稍作修改,实现低特权级到高特权级的转移: 修改的代码如下: 1.修改调用门描述符和选择的特权级 ; 门                               目标选择子,偏移,DCount, 属性 LABEL_CALL_GATE_TEST: Gate SelectorCodeDest,   0,     0, DA_... 阅读全文
posted @ 2011-01-18 20:08 Aoysme 阅读(361) 评论(0) 推荐(1)
摘要: 在上一节的代码中稍作修改,通过转移进入ring3: ; ========================================== ; pmtest5a.asm ; 编译方法:nasm pmtest5a.asm -o pmtest5a.com ; ========================================== %include    "pm.inc"    ; 常量... 阅读全文
posted @ 2011-01-18 19:51 Aoysme 阅读(449) 评论(0) 推荐(1)