Chapter 9 Exceptions and Interrupts 第9章 异常和中断 Interrupts and exceptions are special kinds of control transfer; they work somewhat like unprogrammed CALLs. They alter the normal program flow to handle external events or to report errors or exceptional…
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位…
从上一次学习MIT的操作系统课程又过去了一年.上次学习并没有坚持下去.想来虽有种种原因,其还在自身无法坚持罢了.故此次再鼓起勇气重新学习,发现课程都已由2014改版为2016了.但大部分内容并没有改变.在这一年多的时间里,也曾学习过其他课程,比如孟宁的Linux内核分析,也看过其他人写的文章.但还是有很多内容无法全部理解,而且从网上文章或讨论中也看出,象我这种似懂非懂的状态很多人都有.比如,在看到linux0.11中的那个TSS结构时就一直在想,为什么要这样设计呀?系统明明没有使用到那么多结构成…
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…
注:觉得本章内容与理解操作系统不直接相关,所以本章并未看完,也就没有翻译完,放在这里中是为了保证手册的完整.有兴趣的人可以去原址查看. https://pdos.csail.mit.edu/6.828/2016/readings/i386/c03.htm Chapter 3 Applications Instruction Set 程序指令集 This chapter presents an overview of the instructions which programmers can u…
Chapter 2 -- Basic Programming Model: 基本的程序模式 Introduces the models of memory organization. Defines the data types. Presents the register set used by applications. Introduces the stack. Explains string operations. Defines the parts of an instruction.…
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…