首页
社区
课程
招聘
未解决 [求助]32位汇编语言段寄存器有什么用?
发表于: 2019-5-21 19:11 2416

未解决 [求助]32位汇编语言段寄存器有什么用?

2019-5-21 19:11
2416
32位汇编语言中,段寄存器有什么用,32位CPU还支持实模式吗?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 830
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
段寄存器决定了段基址段权限段限长,CPU都是向下兼容的,肯定支持实模式。
2019-5-21 19:49
1
雪    币: 3490
活跃值: (11148)
能力值: ( LV9,RANK:240 )
在线值:
发帖
回帖
粉丝
3
段寄存器的含义,跟CPU的位数没有关系,而是跟CPU处于实模式/保护模式的状态有关。实模式时,纯粹用于计算一个20位的地址;保护模式时,最低2位为RPL,倒数第3位指示从全局/局部段描述表索引,高13为为段描述符索引。内核刚启动时,CPU就处于实模式,做好一些基础的准备后,切换进保护模式。
2019-5-22 08:37
1
雪    币: 5514
活跃值: (2254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
xinpoo 段寄存器的含义,跟CPU的位数没有关系,而是跟CPU处于实模式/保护模式的状态有关。实模式时,纯粹用于计算一个20位的地址;保护模式时,最低2位为RPL,倒数第3位指示从全局/局部段描述表索引,高13 ...
能说的在详细一些吗?刚学完16位汇编,不知32位汇编怎么学,段寄存器有什么区别,找了很多资料没看懂。
2019-5-22 11:14
0
雪    币: 3490
活跃值: (11148)
能力值: ( LV9,RANK:240 )
在线值:
发帖
回帖
粉丝
5
敏而好学 能说的在详细一些吗?刚学完16位汇编,不知32位汇编怎么学,段寄存器有什么区别,找了很多资料没看懂。
段寄存器出现的目的,是解决数据总线和地址总线位数不一致的问题,后来的CPU没这个问题了,理论上也就不再需要段寄存器了,但是拿Intel CPU来说,为了兼容依赖段寄存器的程序,还保留着,并且让段寄存器参与到了保护模式的设计,就让CPU更加离不开段寄存器(当时也很难预见这样做的不好),即使软件实现保护模式,希望利用后来更加先进的页式内存管理机制,仍然要恰当的满足段式管理的要求才行,所以像这种本不必要关心,但仍然要关心的东西,内核一般都会承担下来,你如果不是开发内核,不用关心的,你不必担心不懂这些就学不了汇编,应用程序里不会出现对段寄存器的操作了。
2019-5-22 12:51
1
雪    币: 5514
活跃值: (2254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
xinpoo 段寄存器出现的目的,是解决数据总线和地址总线位数不一致的问题,后来的CPU没这个问题了,理论上也就不再需要段寄存器了,但是拿Intel CPU来说,为了兼容依赖段寄存器的程序,还保留着,并且让段寄存器 ...
哦,谢谢,也在学习驱动开发,段寄存器在保护模式下主要用来做些什么呢,网上找了好多资料,还是看不懂。
2019-5-22 13:02
0
雪    币: 3490
活跃值: (11148)
能力值: ( LV9,RANK:240 )
在线值:
发帖
回帖
粉丝
7
敏而好学 哦,谢谢,也在学习驱动开发,段寄存器在保护模式下主要用来做些什么呢,网上找了好多资料,还是看不懂。
《Linux内核源代码情景分析》高清版,网上很容易下载到,你可以看一下1.2、1.3、2.1、2.2节。
2019-5-22 14:29
1
雪    币: 5514
活跃值: (2254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
xinpoo 《Linux内核源代码情景分析》高清版,网上很容易下载到,你可以看一下1.2、1.3、2.1、2.2节。
刚看了看,虽说很多看不懂,看感觉受益匪浅,谢谢。
2019-5-22 21:17
0
雪    币: 35
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
32位已经淘汰了别看了没用。
2019-5-22 21:50
0
游客
登录 | 注册 方可回帖
返回
//