美文网首页
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