美文网首页
orange/s 一个操作系统的实现 笔记

orange/s 一个操作系统的实现 笔记

作者: onedam | 来源:发表于2021-09-02 18:09 被阅读0次
    image.png

    作者 这个不难理解. 实在是侥幸 .
    因为这个地址间距 是8个字节(每个gdt项规定8个字节.) 这样
    8 二进制 1 0 00 rpl ti 都是0. 则指向gdt index 为1的第二项. 就正确了.
    gs 是第二项相差16字节. 0x10的二进制 1 0000 index为二进制10 是2 是gdt的第三项. ca

    [SECTION .gdt]
    ; GDT
    ;段基址,       段界限     , 属性
    LABEL_GDT:      Descriptor 0, 0, 0 ; 空描述符
    LABEL_DESC_CODE32:  Descriptor 0, SegCode32Len - 1, DA_C + DA_32; 代码段
    LABEL_DESC_VIDEO:   Descriptor 0B8000h, 0ffffh, DA_DRW     ; 显存首地址
    
    ; GDT 选择子 ;;feng 草这里侥幸啊. 亲自在草稿纸上画了下 二进制位 
    ;3位最大值是8 nnd 根据调试(输入sreg) gs 0x10 二进制 1 0 00 0 index 2
    SelectorCode32      equ LABEL_DESC_CODE32   - LABEL_GDT 
    SelectorVideo       equ LABEL_DESC_VIDEO    - LABEL_GDT
    

    相关文章

      网友评论

          本文标题:orange/s 一个操作系统的实现 笔记

          本文链接:https://www.haomeiwen.com/subject/wgjcwltx.html