Advertisement

Bochs源代码分析第23章:页表构建汇编分析

阅读量:

前言

上一篇文章中, 我们通过C++实现了简单的内存分页机制; 接下来我们将深入解析汇编代码, 了解其构造方式; 对于新手来说可能会感到困惑; 较早时候我对这份代码感到迷惑不解的状态维持了一段时间; 现在大家一起来逐步解读吧

页表构建代码分析

代码如下,在《x86/x64体系探索及编程》的ex11-2\protected.asm中,来负责初始化页表。

复制代码
 ;---------------------------------------------

    
 ; init_32bit_paging(): 建立 32-bit paging 环境
    
 ;---------------------------------------------
    
 init_32bit_paging:
    
 ; 1) 0x000000-0x3fffff 映射到 0x0 page frame, 使用 4M 页面
    
 ; 2) 0x400000-0x400fff 映射到 0x400000 page frame 使用 4K 页面
    
  
    
 ;; PDT 表物理地址设在 0x200000 位置上, PT表物理地址在 0x201000位置上
    
 ; 1) 设置 PDT[0](映射 0 page frame)
    

全部评论 (0)

还没有任何评论哟~