关于80286——《x86汇编语言:从实模式到保护模式》读书笔记15
一、80286的工作模式
80286首次提出了实模式和保护模式的概念。
实模式:和8086的工作方式相同;
保护模式:提供了存储器管理机制和保护机制,支持多任务。
二、80286的寄存器
(一)通用寄存器
80286的通用寄存器和8086一样,有AX,BX,CX,DX,BP,SP,SI,DI;
(二)IP
80286的指令指针寄存器也和8086一样,没有什么特别的。
(三)标志寄存器
80286的标志寄存器同8086相比,增加了IOPL(特权级)和NT(子任务嵌套),这两个字段只在保护模式中使用。
(四)MSW
MSW(机器状态字)是80286新设置的16位寄存器,在80386及其后续的CPU中,已经把MSW扩展为4个32位的控制寄存器CR0、CR1、CR2和CR3,原来的MSW功能由CR0的低16位来实现。
MSW的位0是启用保护模式(Protection Enable)标志,也就是我们常说的PE位。PE=1时,开启保护模式;PE=0时表示工作在实模式。
(五)段寄存器
8086中的段寄存器,在808286中称为段选择子或者段选择器。当进行逻辑地址到实地址的变换时,用它来选择描述符表中的一个描述符。段选择子的格式和含义同32位处理器的段选择子相同,这里不再赘述。
(六)段描述符
字段说明
P位、DPL位、A位同32位处理器的段描述符含义相同。
【S】S=1代表代码段或者数据段描述符;S=0代表非段描述符;
【E】相当于32位处理器描述符的X位。E=1表示代码段描述符;E=0表示数据段描述符;
对于代码段描述符:
【C】相当于32位处理器段描述符的C(一致性)位。
【R】相当于32位处理器段描述符的R位。R=1时可读,可执行;R=0时仅执行;
对于数据段描述符:
【ED】相当于32位处理器段描述符的E(扩展方向)位。
【W】相当于32位处理器段描述符的W(是否可写)位。
(七)存储器寻址
物理地址由段描述符中的24位的段基址和16位的偏移量相加而成。
关于80286——《x86汇编语言:从实模式到保护模式》读书笔记15的更多相关文章
- 16位模式/32位模式下PUSH指令探究——《x86汇编语言:从实模式到保护模式》读书笔记16
一.Intel 32 位处理器的工作模式 如上图所示,Intel 32 位处理器有3种工作模式. (1)实模式:工作方式相当于一个8086 (2)保护模式:提供支持多任务环境的工作方式,建立保护机制 ...
- ASM:《X86汇编语言-从实模式到保护模式》第10章:32位x86处理器的编程架构
★PART1:32位的x86处理器执行方式和架构 1. 寄存器的拓展(IA-32) 从80386开始,处理器内的寄存器从16位拓展到32位,命名其实就是在前面加上e(Extend)就好了,8个通用寄存 ...
- 存储器的保护(三)——《x86汇编语言:从实模式到保护模式》读书笔记20
存储器的保护(三) 修改本章代码清单,使之可以检测1MB以上的内存空间(从地址0x0010_0000开始,不考虑高速缓存的影响).要求:对内存的读写按双字的长度进行,并在检测的同时显示已检测的内存数量 ...
- 存储器的保护(一)——《x86汇编语言:从实模式到保护模式》读书笔记18
本文是原书第12章的学习笔记. 说句题外话,这篇博文是补写的,因为让我误删了,可恶的是CSDN的回收站里找不到! 好吧,那就再写一遍,我有坚强的意志.司马迁曰:“文王拘而演<周易>:仲尼厄 ...
- 进入保护模式(三)——《x86汇编语言:从实模式到保护模式》读书笔记17
(十)保护模式下的栈 ;以下用简单的示例来帮助阐述32位保护模式下的堆栈操作 mov cx,00000000000_11_000B ;加载堆栈段选择子 mov ss,cx mov esp,0x7c00 ...
- 进入保护模式(二)——《x86汇编语言:从实模式到保护模式》读书笔记14
首先来段题外话:之前我发现我贴出的代码都没有行号,给讲解带来不便.所以从现在起,我要给代码加上行号.我写博客用的这个插入代码的插件,确实不支持自动插入行号.我真的没有找到什么好方法,无奈之下,只能按照 ...
- 《X86汇编语言:从实模式到保护模式》读书笔记之引言
有幸结识了<X86汇编语言:从实模式到保护模式>一书.我觉得这本书非常好,语言活泼,通俗易懂,源码丰富,受益匪浅.读罢一遍,意犹未尽.于是打算再读一遍,并把自己的读书所学总结成笔记,一来给 ...
- 硬盘和显卡的访问与控制(一)——《x86汇编语言:从实模式到保护模式》读书笔记01
本文是<x86汇编语言:从实模式到保护模式>(电子工业出版社)的读书实验笔记. 这篇文章我们先不分析代码,而是说一下在Bochs环境下如何看到实验结果. 需要的源码文件 第一个文件是加载程 ...
- 程序的载入和运行(五)——《x86汇编语言:从实模式到保护模式》读书笔记25
程序的载入和运行(五)--<x86汇编语言:从实模式到保护模式>读书笔记25 前面几篇博文最终把代码分析完了.这篇就来说说代码的编译.运行和调试. 1.代码的编译及写入镜像文件 之前我们都 ...
随机推荐
- Transaction And Lock--两种方式实现可重复读
一些需求要求两次查询数据之间不允许数据被修改,即可重复读取 可重复读REPEATABLE READ与串行化SERIALIZABLE的区别在于串行化要求满足该查询的数据不被修改且无新满足该查询条件的数据 ...
- C#判断一个字符串是否是数字或者含有某个数字
第一种就是 最常见的 用Try..Catch.. 再try中强转你要确认的string 类型 成功就是int catch 就不是 string a = "avdfd"; try ...
- .net core i上 K8S(六).netcore程序的service网络代理模式
上一章我们讲了pod的hostip模式,但在生产环境中,我们都是通过service来访问k8s集群的,service有两种模式来暴漏端口,今天我们来分享一下 1.clusterIP模式 我们在创建se ...
- CentOS 下安装 SNMP 服务
CentOS 中搭建 SNMP 服务 0.前言 首先这个服务我不知道有什么用,学习CCNA的也许有了解.所以这里仅仅只是教做题,下面还有一些搜到的配置文件希望会大家有所帮助. 简单网络管理协议(SNM ...
- jupyter notebook 的安装及使用
推荐使用Python3 版本 安装pip3 版本 打开终端输入,安装jupyter notebook(ipython4之后命名) pip3 install jupyter notebook 启动jup ...
- POJ3666 Making the Grade
POJ3666 Making the Grade 题意: 给定一个长度为n的序列A,构造一个长度为n的序列B,满足b非严格单调,并且最小化S=∑i=1N |Ai-Bi|,求出这个最小值S,1<= ...
- luogu3292 [SCOI2016]幸运数字
link 题目大意:给一棵树,每个点有个权值,N<=2万 20万次询问,每次询问查询某两个点路径上所有点的权值xjb异或的最大值 首先看到xjb异或就可以断定是线性基了 并且由于这是树上问题我们 ...
- MPMoviePlayerViewController不能播放本地mp4的解决办法.
之前一直用MPMoviePlayerViewController进行网络播放,最近下载文件然后本地播放,发现怎么播放都是黑屏.后来发现MPMoviePlayerViewController的本地URL ...
- 初级算法49题 — LeetCode(20181122 - )
Array: Single Number class Solution { public int singleNumber(int[] nums) { if (nums == null || nums ...
- git获取代码,拉取最新代码,更新代码等
有句话说的很好:git是弓,我们的代码是箭,github就是靶子.我们需要把自己的代码存放到github的仓库上. 下图为截取的阮一峰博客的关于git常用命令总结的一张图片: 1.一开始从零获取代码 ...