关于80286——《x86汇编语言:从实模式到保护模式》读书笔记15

时间:2022-03-21 01:25:30

一、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位处理器的段选择子相同,这里不再赘述。

(六)段描述符

关于80286——《x86汇编语言:从实模式到保护模式》读书笔记15

字段说明

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位的偏移量相加而成。