ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

段描述符

2022-09-12 01:01:39  阅读:185  来源: 互联网

标签:gdts code ring3 equ 描述符 dw data


在保护模式中,不可避免的要用到数据段和代码段,堆栈段。

在menuetos32系统中,这些段的描述符定义在sys32.inc中的第122行到243GDT之中。其中ring3的代码段和数据段如下:

    ring3_code_l:

      dw 0xffff
      dw 0x0000
      db 0x00
      dw 11011111b *256 +11111010b
      db 0x00

    ring3_data_l:

      dw 0xffff
      dw 0x0000
      db 0x00
      dw 11011111b *256 +11110010b
      db 0x00

其中,dw 11011111b *256 +11111010b和dw 11011111b *256 +11110010b是描述符的属性。

它们于GDT的偏移量则定义在了kernel.asm中的第128行到144行之间。如下:

    os_data     equ     os_data_l-gdts ; GDTs
    os_code      equ      os_code_l-gdts
    int_code      equ      int_code_l-gdts
    int_data          equ        int_data_l-gdts
    tss0sys     equ     tss0sys_l-gdts
    graph_data         equ      3+graph_data_l-gdts
    tss0        equ      tss0_l-gdts
    tss0i       equ      tss0i_l-gdts
    tss0t       equ      tss0t_l-gdts
    app_code      equ      3+app_code_l-gdts
    app_data       equ                 3+app_data_l-gdts
    ring3_data          equ                 3+ring3_data_l-gdts
    ring3_code         equ                 3+ring3_code_l-gdts
              ring2_data          equ                  2+ring2_data_l-gdts
              ring2_code         equ                  2+ring2_code_l-gdts
    ring1_data          equ                 1+ring1_data_l-gdts
    ring1_code         equ                 1+ring1_code_l-gdts

标签:gdts,code,ring3,equ,描述符,dw,data
来源: https://www.cnblogs.com/menuetos32/p/16685235.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有