%macro Descriptor宏定义解析

1.《一个操作系统的实现》中有一个nasm汇编关于段描述符的宏定义,如下:

; 描述符
; useage: Descriptor Base, Limit, Atrr
;         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
        dw      %1 & 0FFFFh             ; 段基址1
        db      (%1 >> 16) & 0FFh       ; 段基址2
        dw      ((%2 >> 8) & 0F00h) | (%3 & 0F0FFh)     ; 属性1 + 段界符2 + 属性2
        db      (%1 >> 24) & 0FFh       ; 段基址3
%endmacro ;共 8 字节

2.为了偏于理解这个段描述符宏定义的含义,先了解一下相关背景。

  • 通用段描述符的格式如下:

即一个段描述符总共8字节,64

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值