Intel 80386 Reference Programmer's Manual 80386程序员参考手册 Chapter 1 -- Introduction to the 80386 第1章 - 80386的介绍 The 80386 is an advanced 32-bit microprocessor optimized for multitasking operating systems and designed for applications needing very high p…
2.1 Memory Organization and Segmentation 内存组织和分段 The physical memory of an 80386 system is organized as a sequence of 8-bit bytes. Each byte is assigned a unique address that ranges from zero to a maximum of 2^(32) -1 (4 gigabytes). 80386系统的物理内存被看做8位…
译注:本章基本未做翻译 10.6 TLB Testing TLB测试 The 80386 provides a mechanism for testing the Translation Lookaside Buffer (TLB), the cache used for translating linear addresses to physical addresses. Although failure of the TLB hardware is extremely unlikely, u…
1.1.2 Part II -- Systems Programming 系统编程 This part presents those aspects of the architecture that are customarily used by programmers who write operating systems, device drivers, debuggers, and other software that supports applications programs in…
10.2 Software Initialization for Real-Address Mode   实地址模式的软件初始化 In real-address mode a few structures must be initialized before a program can take advantage of all the features available in this mode. 在实地址模式,程序在能利用这个模式下的的所有可用特性之前,新架构必须被初始化. 10.2.1…
4.1 Systems Registers 系统寄存器 The registers designed for use by systems programmers fall into these classes: 为系统程序设计的寄存器分为如下几类: EFLAGS 标志寄存器FLAGS Memory-Management Registers 内存管理寄存器 Control Registers 控制寄存器 Debug Registers 调试寄存器 Test Registers 测试寄存器 4.1…
从上一次学习MIT的操作系统课程又过去了一年.上次学习并没有坚持下去.想来虽有种种原因,其还在自身无法坚持罢了.故此次再鼓起勇气重新学习,发现课程都已由2014改版为2016了.但大部分内容并没有改变.在这一年多的时间里,也曾学习过其他课程,比如孟宁的Linux内核分析,也看过其他人写的文章.但还是有很多内容无法全部理解,而且从网上文章或讨论中也看出,象我这种似懂非懂的状态很多人都有.比如,在看到linux0.11中的那个TSS结构时就一直在想,为什么要这样设计呀?系统明明没有使用到那么多结构成…
10.5 Initialization Example初始化的例子 译注:本来想把这个例子全部注释完,但由于对intel汇编实不熟悉,有太多的伪指令,本人也是免强看懂,所以就不再做翻译了. $TITLE ('Initial Task') #此处title为开始标识,$符号表示取地址 NAME INIT #为一段程序命名 init_stack SEGMENT RW #定义栈段 可读写 标识符为init_stack DW DUP(?) #保留20个双字位置 tos LABEL WORD #定义一个标…
10.3 Switching to Protected Mode  切换到保护模式 Setting the PE bit of the MSW in CR0 causes the 80386 to begin executing in protected mode. The current privilege level (CPL) starts at zero. The segment registers continue to point to the same linear address…
Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 are set to predefined values. These values are adequate to enable execution of a bootstrap program, but additional initialization must be performed by…