社区
汇编语言
帖子详情
为什么很多书上这样定义全局描述符表GDT
zxm0591
2012-06-05 04:08:25
我看了些资料,发现很多这样写
DSEG SEGMENT USE16 ;16位段
GDT LABEL BYTE ;全局描述符表
DUMMY DESCRIPTOR<> ;空描述符
CODE32_SEL = 08H ;代码段选择符
CODE32 DESCRIPTOR <> ;代码段描述符
;...
DSEG ENDS
为什么把段选择符写在GDT里面啊,
...全文
201
4
打赏
收藏
为什么很多书上这样定义全局描述符表GDT
我看了些资料,发现很多这样写 DSEG SEGMENT USE16 ;16位段 GDT LABEL BYTE ;全局描述符表 DUMMY DESCRIPTOR ;空描述符 CODE32_SEL = 08H ;代码段选择符 CODE32 DESCRIPTOR ;代码段描述符 ;... DSEG ENDS 为什么把段选择符写在GDT里面啊,
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fortitan
2012-06-18
打赏
举报
回复
你既然直接写出值来了写那都行。
选择符是对应描述符偏移值,一般都跟前面好取偏移。比如
选择符A = $ - GDT开头
<描述符A>
选择符B = $ - GDT开头
<描述符B>
yh_no_code
2012-06-11
打赏
举报
回复
[Quote=引用楼主 的回复:]
我看了些资料,发现很多这样写
DSEG SEGMENT USE16 ;16位段
GDT LABEL BYTE ;全局描述符表
DUMMY DESCRIPTOR<> ;空描述符
CODE32_SEL = 08H ;代码段选择符
CODE32 ……
[/Quote]
要区分哪些代码会产生实际的代码,哪些不会产生,那个就相当于C语言里的#define定义的一个宏一样,编译不产生代码
kinuxroot
2012-06-10
打赏
举报
回复
=不是定义一个宏么……这个东西汇编时代表一个常量,不会最终实际存储在生成的文件中的……也就是最后的GDT是不会有这么一个数据的。
WJN92
2012-06-05
打赏
举报
回复
这个可能只是一个结构而已
保存相关信息
用不到200行代码设计x86保护模式下的操作系统
本课程为学习Linux 0.11内核源码,以及《设计自己的x86 Linux操作系统》课程的前置课程。课程通过不到200行代码(其中汇编不到100行),演示了如何使用80386的硬件机制来创建一个32位简单的双任务切换的超小型操作系统。课程重点讲解80386保护模式下的编程,涉及的内容包括:1、计算机启动流程的介绍2、实模式和保护模式区别,进入保护模式下的方法3、
GDT
/IDT/LDT
表
介绍以及使用方法4、利用TSS来实现任务的切换5、利用8253定时器中断实现任务下下文切换6、利用调用门增加系统调用接口。学习本课程只需要你有8086汇编的基础(简单用过即可,不需要精通,我也不精通),熟悉C语言编程即可。在学习完本课程后,将为分析Linux 0.11源码、设计自己的操作系统打下坚实的硬件知识储备。可以点击我的课程主页,了解更多相关课程。
linux
全局
描述符
详解,操作系统篇之-
全局
描述符
表
格(
GDT
Global Descriptor Table)...
Windows,RedHat等通用型操作系统都是工作在保护模式下面。他们的存储机制是段式存储,这种机制是通过段寄存器(386以上的CPU的段寄存器是
gdt
r)和
GDT
中的
描述符
共同提供的。操作系统维护着一个结构书组,数组里面每个元素就是一个
GDT
全局
描述符
,
描述符
的种类
很多
,有程序段
描述符
、数据段
描述符
、系统段
描述符
、门
描述符
等。下面的例子详细描述了操作系统是如何通过段寄存器(
gdt
r)和
描述符
来...
全局
描述符
表
GDT
和局部
描述符
表
LDT
段
描述符
IA-32架构的处理器访问内存都是采用“段基址:段内偏移地址”的形式,即使到了保护模式也不例外。其次,实模式脆弱的安全性也是保护模式推出的重要原因。为了内存安全性,必须为内存段添加一些额外的安全属性,如特权级、段界限、段类型等。描述内存段属性的数据结构就叫段
描述符
。其结构
定义
如下所示: 一个段
描述符
是8字节大小,它描述了一个内存段的地址范围和各种属性。...
全局
描述符
表
GDT
写在前面添油加醋系列第二弹——剖析
GDT
头文件:https://github.com/bajdcc/MiniOS/blob/master/include/
gdt
.h实现:https://github.com/bajdcc/MiniOS/blob/master/src/kernel/
gdt
.c话说C语言的话除了刷刷OJ外,就是用来实现操作系统这个大头了。C语言比C++少了
很多
很多
臃肿的语法特性,写起...
【OS学习笔记】十三 保护模式一:
全局
描述符
表
(
GDT
)
上一篇文章,我们大致领略了现代处理器的结构和特点。点解链接查看上一篇文章:现代处理器的结构和特点 本篇文章开始,学习保护模式下的的各种机制。什么是保护模式呢? 一般来说,操作系统负责整个计算机软硬件的的管理,它做任何事情都是可以的。但是用户程序就应当有所限制,用户程序它只能访问自己的数据自己的代码,即使是转移,也只允许在自己的各个代码段之间进行转移。 但是,在本篇文章之前,我们学习的各种机制下,用...
汇编语言
21,458
社区成员
41,600
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章