GDT

; 描述符
; usage: Descriptor Base, Limit, Attr
;        Base:  dd
;        Limit: dd (low 20 bits available)
;        Attr:  dw (lower 4 bits of higher byte are always 0)
%macro Descriptor 3
    dw    %2 & 0FFFFh  ; 段界限 1   (2 字节)
    dw    %1 & 0FFFFh  ; 段基址 1   后16位     (2 字节)
    db    (%1 >> 16 ) & 0FFh ; 段基址 2    16-24位    (1 字节)
    dw    ((%2 >> 8 ) & 0F00h ) | (%3 & 0F0FFh)    ; 属性 1 + 段界限 2 + 属性 2        (2 字节)
    db    (%1 >> 24 ) & 0FFh ; 段基址 3    24-32位    (1 字节)
%endmacro ; 共 8 字节

gdt的描述符.. 根据mj的猜想,这个数据结构写成这样应该是为了兼容16位。

Tags: , ,

打开了评论功能,但是需要被审核,所以请耐心等待。