标签:权限 06 Mov MOV 描述符 AX ax DPL RPL
1、CPU分级
2、如何查看程序处于几环?
CPL(Current Privilege Level) :当前特权级
CS和SS中存储的段选择子后2位.
3、DPL(Descriptor Privilege Level) 描述符特权级别
3、DPL(Descriptor Privilege Level) 描述符特权级别
DPL存储在段描述符中,规定了访问该段所需要的特权级别是什么.
通俗的理解:
如果你想访问我,那么你应该具备什么特权.
举例说明:
mov DS,AX
如果AX指向的段DPL = 0 但当前程序的CPL = 3 这行指令是不会成功的!
4、RPL(Request Privilege Level) 请求特权级别
RPL是针对段选择子而言的,每个段的选择子都有自己的RPL。
5、RPL(Request Privilege Level) 请求特权级别
举例说明:
Mov ax,0008 与 Mov ax,000B //段选择子
Mov ds,ax Mov ds,ax //将段描述
指向的是同一个段描述符,但RPL是不一样的.
6、数据段的权限检查
参考如下代码:
比如当前程序处于0环,也就是说CPL=0
Mov ax,000B //1011 RPL = 3
Mov ds,ax //ax指向的段描述符的DPL = 0
数据段的权限检查:
CPL <= DPL 并且 RPL <= DPL (数值上的比较)
注意:
代码段和系统段描述符中的检查方式并不一样,具体参加后面课程.
7、总结:
CPL CPU当前的权限级别
DPL 如果你想访问我,你应该具备什么样的权限
RPL 用什么权限去访问一个段
为啥要有RPL?
我们本可以用“读 写”的权限去打开一个文件,但为了避免出错,有些时候我们使用“只读”的权限去打开。
标签:权限,06,Mov,MOV,描述符,AX,ax,DPL,RPL 来源: https://blog.csdn.net/weixin_39269078/article/details/110264916
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。