资源简介
《x86汇编语言:从实模式到保护模式》主要讲述INTEL x86处理器的16位实模式、32位保护模式,至于虚拟8086模式,则是为了兼容传统的8086程序,现在看来已经完全过时,不再进行讲述。《x86汇编语言:从实模式到保护模式》的特色之一是提供了大量典型的源代码,这些代码以及相配套的工具程序可以到书中指定的网站,或者电子工业出版社华信教育资源网搜索下载。
每一种处理器都有它自己的机器指令集,而汇编语言的发明则是为了方便这些机器指令的记忆和书写。尽管汇编语言已经较少用于大型软件程序的开发,但从学习者的角度来看,要想真正理解计算机的工作原理,掌握它内部的运行机制,学习汇编语言是必不可少的。本书采用开源的NASM汇编语言编译器和VirtualBox虚拟机软件,以个人计算机广泛采用的Intel处理器为基础,详细讲解了Intel处理器的指令系统和工作模式,以大量的代码演示了16/32/64位软件的开发方法,介绍了处理器的16位实模式和32位保护模式,以及基本的指令系统。这是一本有趣的书,它没有把篇幅花在计算一些枯燥的数学题上。相反,它教你如何直接控制硬件,在不借助于BIOS、DOS、Windows、Linux或者任何其他软件支持的情况下来显示字符、读取硬盘数据、控制其他硬件等。本书可作为大专院校相关专业学生和计算机编程爱好者的教程。
资源目录
——/计算机教程/10网易云课堂/046-x86汇编语言:从实模式到保护模式/ ├──{01}--课程说明 | └──[1.1]--课程说明.mp4 51.62M ├──{02}--汇编语言的前世今生 | ├──[2.10]--处理器.mp4 19.65M | ├──[2.11]--汇编语言的诞生.mp4 20.71M | ├──[2.1]--引子.mp4 7.19M | ├──[2.2]--用电来表示数字.mp4 10.88M | ├──[2.3]--二进制加法机.mp4 8.86M | ├──[2.4]--具有记忆功能的器件——寄存器.mp4 13.06M | ├──[2.5]--带寄存器的加法机.mp4 8.44M | ├──[2.6]--能做四则运算的机器.mp4 13.09M | ├──[2.7]--机器指令.mp4 43.36M | ├──[2.8]--内存.mp4 40.06M | └──[2.9]--自动计算.mp4 30.04M ├──{03}--认识8086处理器 | ├──[3.1]--8086的通用寄存器.mp4 23.15M | ├──[3.2]--8086的内存访问和字节序.mp4 12.85M | ├──[3.3]--程序的分段.mp4 11.24M | ├──[3.4]--程序的重定位难题.mp4 14.17M | ├──[3.5]--段地址和偏移地址.mp4 13.09M | ├──[3.6]--8086内存访问的困境.mp4 8.19M | ├──[3.7]--8086选择段地址的策略.mp4 21.66M | ├──[3.8]--8086的内存访问过程.mp4 13.82M | └──[3.9]--逻辑地址和分段的灵活性.mp4 25.43M ├──{04}--原书第1版第2章检测点和习题解析 | └──[4.1]--原书第1版第2章检测点和习题解析.mp4 22.29M ├──{05}--汇编语言和汇编软件 | ├──[5.1]--创建汇编语言源程序.mp4 23.11M | ├──[5.2]--Notepad++的下载和使用.mp4 23.37M | ├──[5.3]--下载和安装编译器NASM.mp4 17.45M | ├──[5.4]--编译汇编语言源程序.mp4 32.23M | ├──[5.5]--下载和使用配套源码及工具.mp4 50.67M | └──[5.6]--将编译功能集成到Notepad++.mp4 18.63M ├──{06}--原书第1版第3章检测点和习题解析 | └──[6.1]--原书第1版第3章检测点和习题解析.mp4 13.70M ├──{07}--如何执行编译好的程序 | ├──[7.1]--8086加电或者复位时的状态.mp4 24.52M | ├──[7.2]--8086地址空间的分配.mp4 32.36M | ├──[7.3]--跳转指令.mp4 16.69M | ├──[7.4]--硬盘的构造和工作原理.mp4 23.18M | └──[7.5]--一切从主引导扇区开始.mp4 22.70M ├──{08}--虚拟机的安装和使用 | ├──[8.1]--安装VirtualBox虚拟机管理器.mp4 31.70M | ├──[8.2]--创建VirtualBox虚拟机.mp4 96.91M | ├──[8.3]--虚拟硬盘简介.mp4 44.27M | ├──[8.4]--在Windows下创建虚拟硬盘并安装操作系统.mp4 78.68M | └──[8.5]--在Linux下创建虚拟硬盘并安装操作系统.mp4 21.98M ├──{09}--汇编语言程序的调试 | ├──[9.1]--带调试功能的虚拟机.mp4 11.29M | ├──[9.2]--安装Bochs虚拟机.mp4 35.99M | ├──[9.3]--为Bochs虚拟机安装虚拟硬盘.mp4 22.23M | ├──[9.4]--创建主引导扇区程序.mp4 33.29M | ├──[9.5]--将程序写入硬盘主引导扇区.mp4 68.72M | └──[9.6]--用调试器观察程序的执行.mp4 132.84M ├──{10}--原书第1版第4章检测点和习题解析 | └──[10.1]--原书第1版第4章检测点和习题解析.mp4 7.86M ├──{11}--在屏幕上显示文本 | ├──[11.10]--在VirtualBox中运行写屏程序.mp4 28.35M | ├──[11.11]--主引导扇区执行时的内存布局.mp4 43.54M | ├──[11.12]--使用标号计算跳转的偏移地址.mp4 31.37M | ├──[11.13]--使用寄存器的绝对间接近跳转.mp4 32.43M | ├──[11.14]--使用相对偏移量的短跳转和近跳转.mp4 49.92M | ├──[11.1]--显卡和显存.mp4 37.67M | ├──[11.2]--准备访问文本模式下的显存.mp4 22.99M | ├──[11.3]--字符的编码和显示属性.mp4 37.42M | ├──[11.4]--文本模式下的显存操作.mp4 25.97M | ├──[11.5]--MOV指令的形式和机器码.mp4 64.09M | ├──[11.6]--列表文件的创建和使用.mp4 42.44M | ├──[11.7]--在汇编程序中使用标号.mp4 26.68M | ├──[11.8]--段间直接绝对跳转指令.mp4 21.28M | └──[11.9]--在Bochs中运行和调试写屏程序.mp4 130.04M ├──{12}--在屏幕上显示数字 | ├──[12.1]--显示数字的基本原理.mp4 23.05M | ├──[12.2]--无符号数除法指令div.mp4 47.80M | ├──[12.3]--在调试器里验证除法操作.mp4 20.87M | ├──[12.4]--异或指令xor的用法.mp4 60.69M | ├──[12.5]--加法指令add的用法.mp4 30.20M | ├──[12.6]--使用标号访问内存数据.mp4 23.46M | ├──[12.7]--段超越前缀的使用.mp4 41.56M | └──[12.8]--显示标号的汇编地址.mp4 42.12M ├──{13}--阶段性重点内容总结 | ├──[13.1]--阶段性重点内容总结.mp4 40.49M | └──[13.2]--原书第1版第5章检测点和习题解析.mp4 49.95M ├──{14}--循环、批量传送和条件转移 | ├──[14.1]--跳过非指令的数据区.mp4 14.68M | ├──[14.2]--逻辑段地址的重新设定.mp4 11.44M | ├──[14.3]--串传送指令和标志寄存器.mp4 26.08M | ├──[14.4]--NASM的$和$$记号.mp4 38.28M | ├──[14.5]--使用循环指令LOOP分解数位.mp4 18.10M | ├──[14.6]--基址寻址和INC指令.mp4 33.57M | ├──[14.7]--数字的显示和DEC指令.mp4 29.03M | └──[14.8]--基址变址寻址和条件转移指令.mp4 52.21M ├──{15}--计算机中的负数 | ├──[15.1]--无符号数和有符号数.mp4 43.77M | ├──[15.2]--减法指令SUB和求补指令NEG.mp4 62.16M | ├──[15.3]--计算机如何区分对待无符号数和有符号数.mp4 39.23M | ├──[15.4]--有符号数除法指令IDIV.mp4 57.27M | └──[15.5]--有符号数的符号扩展指令.mp4 66.40M ├──{16}--阶段性知识总结和拓展 | ├──[16.1]--8086的标志寄存器.mp4 41.81M | ├──[16.2]--条件转移指令和CMP指令.mp4 53.99M | └──[16.3]--原书第1版第6章检测点和习题解析.mp4 52.59M ├──{17}--从1加到100并显示结果 | ├──[17.1]--字符串的定义和累加过程.mp4 29.77M | ├──[17.2]--栈的原理和使用.mp4 90.68M | ├──[17.3]--栈在数位分解和显示中的应用.mp4 23.34M | ├──[17.4]--在调试器里观察栈操作的状态.mp4 44.13M | ├──[17.5]--进一步认识栈和栈操作的特点.mp4 30.35M | └──[17.6]--逻辑或指令OR和逻辑与指令AND.mp4 71.25M ├──{18}--INTEL8086处理器的寻址方式 | ├──[18.1]--寄存器、立即数和直接寻址.mp4 35.08M | ├──[18.2]--基址寻址.mp4 61.43M | ├──[18.3]--变址寻址.mp4 43.94M | ├──[18.4]--基址变址寻址.mp4 39.89M | └──[18.5]--原书第1版第7章检测点和习题解析.mp4 14.37M ├──{19}--硬盘和显卡的访问与控制 | ├──[19.10]--过程和过程调用.mp4 42.31M | ├──[19.11]--过程调用和返回的原理.mp4 26.04M | ├──[19.12]--加载整个用户程序.mp4 25.53M | ├──[19.13]--用户程序的重定位.mp4 23.44M | ├──[19.14]--比特位的移动指令.mp4 67.20M | ├──[19.15]--转到用户程序内部执行.mp4 13.82M | ├──[19.16]--8086的无条件转移指令.mp4 67.38M | ├──[19.17]--用户程序的执行过程.mp4 40.98M | ├──[19.18]--验证加载器加载和执行用户程序的过程.mp4 48.20M | ├──[19.19]--书中第八章用户程序概述.mp4 23.16M | ├──[19.1]--离开主引导扇区.mp4 16.55M | ├──[19.20]--与文本显示有关的回车、换行与光标控制.mp4 45.52M | ├──[19.21]--回车的光标处理和乘法指令MUL.mp4 82.50M | ├──[19.22]--换行和普通字符的处理过程与滚屏操作.mp4 47.48M | ├──[19.23]--8086的过程调用方式.mp4 48.45M | ├──[19.24]--通过RETF指令转到另一个代码段内执行.mp4 31.66M | ├──[19.25]--在程序中访问不同的数据段.mp4 19.51M | ├──[19.26]--使用新版FixVhdWr写虚拟硬盘并运行程序.mp4 61.09M | ├──[19.27]--原书第一版第8章习题解析解答.mp4 27.65M | ├──[19.2]--给汇编语言程序分段.mp4 30.32M | ├──[19.3]--控制段内元素的汇编地址.mp4 24.19M | ├──[19.4]--加载器和用户程序头部段.mp4 36.90M | ├──[19.5]--加载器的工作流程和常数声明.mp4 21.87M | ├──[19.6]--确定用户程序的加载位置.mp4 38.09M | ├──[19.7]--外围设备及其接口.mp4 20.49M | ├──[19.8]--输入输出端口的访问.mp4 33.64M | └──[19.9]--通过硬盘控制器端口读扇区数据.mp4 51.80M ├──{20}--中断和动态时钟显示 | ├──[20.10]--用NOT指令反转时间分隔符的颜色.mp4 18.33M | ├──[20.11]--使用IRET指令从中断过程返回.mp4 10.94M | ├──[20.12]--用停机指令HLT使处理器进入低功耗状态.mp4 46.79M | ├──[20.13]--内部中断和软中断.mp4 31.83M | ├──[20.14]--BIOS中断概述.mp4 62.75M | ├──[20.15]--使用BIOS功能调用接收并显示键盘输入.mp4 40.31M | ├──[20.16]--原书第9章检测点和习题解析.mp4 13.46M | ├──[20.1]--中断和硬件中断.mp4 15.32M | ├──[20.2]--中断控制器简介.mp4 17.53M | ├──[20.3]--中断号、中断处理过程和中断向量表.mp4 44.68M | ├──[20.4]--实时时钟、CMOSRAM和BCD编码.mp4 33.50M | ├──[20.5]--实时时钟芯片的中断信号.mp4 49.02M | ├──[20.6]--安装0x70号中断处理过程.mp4 41.34M | ├──[20.7]--启用更新周期结束中断.mp4 33.22M | ├──[20.8]--用TEST指令等待更新周期结束.mp4 35.73M | └──[20.9]--读取BCD码的时间并在屏幕上显示.mp4 37.20M ├──{21}--32位x86处理器编程架构 | ├──[21.1]--IA-32架构和保护模式.mp4 41.24M | ├──[21.2]--寄存器的扩展和扩充.mp4 24.35M | ├──[21.3]--32位处理器的内存访问概况.mp4 27.96M | ├──[21.4]--32位处理器的寻址方式概况.mp4 44.36M | ├──[21.5]--选修-流水线技术.mp4 14.74M | ├──[21.6]--选修-高速缓存技术.mp4 11.19M | ├──[21.7]--选修-乱序执行技术.mp4 28.93M | ├──[21.8]--选修-寄存器重命名技术.mp4 30.59M | └──[21.9]--选修-分支目标预测技术.mp4 24.48M ├──{22}--进入保护模式 | ├──[22.10]--通过设置寄存器CR0的PE位进入保护模式.mp4 31.83M | ├──[22.11]--描述符高速缓存器和保护模式下的内存访问.mp4 26.03M | ├──[22.12]--在调试器中观察实模式和保护模式的内存访问.mp4 69.90M | ├──[22.1]--保护模式是要保护什么.mp4 23.57M | ├──[22.2]--全局描述符表GDT和全局描述符表寄存器GDTR.mp4 15.34M | ├──[22.3]--准备创建全局描述符表.mp4 17.44M | ├──[22.4]--描述符的分类.mp4 14.86M | ├──[22.5]--存储器的段描述符-段的类型和基地址.mp4 16.01M | ├──[22.6]--存储器的段描述符-段界限及访问控制位.mp4 22.16M | ├──[22.7]--安装存储器的段描述符.mp4 18.14M | ├──[22.8]--加载全局描述符表寄存器GDTR.mp4 16.30M | └──[22.9]--开启处理器的第21根地址线A20.mp4 31.10M ├──{23}--指令的格式及其操作尺寸 | ├──[23.10]--描述符和段描述符高速缓存器的D位.mp4 32.81M | ├──[23.11]--进入保护模式后立即切换到32位模块并使用32位默认操作尺寸.mp4 49.68M | ├──[23.1]--80286的16位保护模式.mp4 20.84M | ├──[23.2]--16位处理器的指令操作尺寸.mp4 13.76M | ├──[23.3]--32位处理器的指令操作尺寸.mp4 46.61M | ├──[23.4]--x86的指令格式-操作码和立即数部分.mp4 55.22M | ├──[23.5]--x86的指令格式-ModRM和偏移量部分.mp4 91.61M | ├──[23.6]--x86的指令格式-SIB部分.mp4 47.93M | ├──[23.7]--x86的指令格式-指令前缀部分.mp4 7.14M | ├──[23.8]--处理器的默认操作尺寸和相关指令前缀.mp4 38.82M | └──[23.9]--用伪指令bits生成16位和32位模块.mp4 18.26M ├──{24}--存储器的保护 | ├──[24.10]--通过别名来实现段的共用和共享.mp4 34.56M | ├──[24.11]--冒泡排序法的基本原理.mp4 15.51M | ├──[24.12]--32位操作尺寸下的LOOP指令.mp4 15.98M | ├──[24.13]--数据交换指令XCHG.mp4 41.84M | ├──[24.1]--话说MOVDS,AX和MOVDS,EAX.mp4 46.38M | ├──[24.2]--修改段寄存器时的保护.mp4 18.12M | ├──[24.3]--代码段执行时的保护.mp4 16.23M | ├──[24.4]--用向上扩展的段做为栈段.mp4 23.08M | ├──[24.5]--向上扩展的段用做栈段时的保护.mp4 13.23M | ├──[24.6]--访问普通数据段时的保护.mp4 14.69M | ├──[24.7]--内存线性地址的回绕特性.mp4 20.26M | ├──[24.8]--用向下扩展的段做为栈段.mp4 21.71M | └──[24.9]--向下扩展的段用做栈段时的保护.mp4 23.70M ├──{25}--保护模式程序的动态加载和执行 | ├──[25.10]--条件传送指令簇CMOVcc.mp4 43.90M | ├──[25.11]--计算以512字节为单位的用户程序总长度.mp4 13.88M | ├──[25.12]--内存分配的基本策略和方法.mp4 25.86M | ├──[25.13]--内存分配的简易实现过程.mp4 19.69M | ├──[25.14]--加载用户程序.mp4 20.55M | ├──[25.15]--准备安装用户程序的段描述符.mp4 17.96M | ├──[25.16]--用SGDT和MOVZX指令确定GDT的位置.mp4 58.06M | ├──[25.17]--安装新描述符并生成选择子.mp4 13.82M | ├──[25.18]--安装用户程序的段描述符并回填选择子.mp4 20.55M | ├──[25.19]--用户程序的执行和退出.mp4 41.10M | ├──[25.1]--本章的目标和内容提要.mp4 15.64M | ├──[25.20]--在虚拟机上观察内核的加载以及用户程序的执行与退出.mp4 22.42M | ├──[25.2]--内核的结构和加载前的准备工作.mp4 63.18M | ├──[25.3]--准备为内核的每个段创建和安装描述符.mp4 32.07M | ├──[25.4]--段描述符的创建和BSWAP指令.mp4 34.51M | ├──[25.5]--进入内核执行.mp4 29.99M | ├──[25.6]--进入内核后显示文本信息.mp4 28.54M | ├──[25.7]--用CPUID指令取得处理器品牌信息并显示.mp4 45.79M | ├──[25.8]--准备加载用户程序.mp4 33.71M | └──[25.9]--预读用户程序并得到它的大小.mp4 16.49M ├──{26}--用户程序编程接口及其实现 | ├──[26.10]--在虚拟机上验证程序的执行.mp4 15.63M | ├──[26.11]--以十六进制形式显示一个双字以及PUSHAD、POPAD和XLAT.mp4 50.16M | ├──[26.1]--内核与用户程序之间的栈切换问题.mp4 27.99M | ├──[26.2]--在内核中为用户程序提供编程支持.mp4 23.61M | ├──[26.3]--用户程序中的符号地址检索表.mp4 32.32M | ├──[26.4]--内核程序中的符号地址检索表.mp4 29.46M | ├──[26.5]--串比较指令CMPS.mp4 27.03M | ├──[26.6]--串比较的方向和重复前缀.mp4 69.16M | ├──[26.7]--使用外循环依次取得用户SALT表的每个条目.mp4 15.13M | ├──[26.8]--使用内循环依次取得内核SALT表的每个条目并进行比较.mp4 20.49M | └──[26.9]--在用户程序内使用内核编程接口读硬盘和显示文本.mp4 26.83M ├──{27}--任务和任务的创建 | ├──[27.10]--TSS描述符的格式和TSS描述符的创建.mp4 12.95M | ├──[27.11]--用带参数的RET指令返回调用者.mp4 26.99M | ├──[27.12]--加载任务寄存器TR和局部描述符表寄存器LDTR.mp4 38.08M | ├──[27.13]--在虚拟机上验证任务的执行.mp4 48.88M | ├──[27.1]--任务:概念和组成.mp4 10.23M | ├──[27.2]--使用任务控制块保存任务基本信息.mp4 36.04M | ├──[27.3]--将任务控制块加入任务控制块链表.mp4 16.06M | ├──[27.4]--通过栈传递例程参数以及立即数的压栈指令.mp4 20.24M | ├──[27.5]--段寄存器的压栈和出栈以及栈的随机访问机制.mp4 17.83M | ├──[27.6]--创建任务的局部描述符表LDT.mp4 22.51M | ├──[27.7]--在当前任务的LDT中安装描述符.mp4 31.00M | ├──[27.8]--LDT描述符的格式和LDT描述符的创建.mp4 30.74M | └──[27.9]--创建任务状态段TSS.mp4 16.02M ├──{28}--特权级和特权级保护 | ├──[28.10]--一般情况下的请求特权级设置.mp4 18.59M | ├──[28.11]--为内核接口例程创建调用门.mp4 58.30M | ├──[28.12]--调用门的测试和调用门转移过程.mp4 33.76M | ├──[28.13]--通过调用门实施低特权级到高特权级的转移.mp4 37.51M | ├──[28.14]--通过调用门转移控制时的栈切换过程.mp4 16.69M | ├──[28.15]--通过调用门转移控制并返回的完整描述.mp4 26.95M | ├──[28.16]--创建0、1和2特权级的栈并登记在TSS中.mp4 32.65M | ├──[28.17]--通过模拟调用门返回进入用户程序执行.mp4 35.57M | ├──[28.1]--特权级保护的必要性和特权保护机制.mp4 26.83M | ├──[28.2]--当前特权级CPL.mp4 10.10M | ├──[28.3]--描述符特权级DPL.mp4 28.89M | ├──[28.4]--任务公共部分和私有部分的特权级划分.mp4 50.25M | ├──[28.5]--依从的代码段.mp4 8.74M | ├──[28.6]--门描述符和调用门.mp4 23.53M | ├──[28.7]--本章程序说明及特权级检查的时机.mp4 17.24M | ├──[28.8]--请求特权级RPL.mp4 25.02M | └──[28.9]--请求特权级调整指令ARPL.mp4 19.96M ├──{29}--协同式任务切换 | ├──[29.10]--通过JMPFAR执行任务切换的过程.mp4 27.62M | ├──[29.11]--内核任务与用户任务轮流执行的过程.mp4 47.30M | ├──[29.12]--任务的终止和清理.mp4 36.34M | ├──[29.1]--多任务和任务切换概述.mp4 25.85M | ├──[29.2]--内核任务的创建和I/O特权级IOPL.mp4 28.80M | ├──[29.3]--I/O特权级的修改和POPF指令.mp4 14.64M | ├──[29.4]--任务的用户态和内核态.mp4 17.10M | ├──[29.5]--I/O许可位串和TSS的I/O许可位映射区.mp4 24.51M | ├──[29.6]--任务切换的方法及内核任务的确立.mp4 33.28M | ├──[29.7]--用户任务的创建和初始化.mp4 58.42M | ├──[29.8]--简单的任务调度和切换策略.mp4 20.35M | └──[29.9]--遍历TCB链表寻找忙任务和就绪任务.mp4 25.50M ├──{30}--中断和异常的处理与抢占式多任务 | ├──[30.10]--中断和异常发生时的栈切换过程.mp4 30.89M | ├──[30.11]--在中断处理过程中实施任务切换(含NOP指令的介绍).mp4 62.43M | ├──[30.12]--抢占式多任务的执行效果演示.mp4 35.49M | ├──[30.1]--中断和异常概述.mp4 21.50M | ├──[30.2]--保护模式下中断和异常的向量分配.mp4 23.71M | ├──[30.3]--中断描述符表、中断门和陷阱门.mp4 29.79M | ├──[30.4]--本章程序介绍.mp4 56.64M | ├──[30.5]--创建并安装全部的256个中断门.mp4 47.84M | ├──[30.6]--为实时时钟中断创建和安装中断门.mp4 21.08M | ├──[30.7]--加载中断描述符表寄存器IDTR.mp4 14.26M | ├──[30.8]--重新设置8259A主片的中断向量.mp4 37.43M | └──[30.9]--中断和异常发生时的特权级检查.mp4 12.34M ├──{31}--分页和动态页面分配 | ├──[31.10]--设置控制寄存器CR3和CR0开启分页功能.mp4 13.40M | ├──[31.11]--在调试器中观察页目录表和页表.mp4 51.87M | ├──[31.12]--准备将内核映射到虚拟内存的高端.mp4 26.11M | ├──[31.13]--在分页机制下访问页目录表自身.mp4 20.23M | ├──[31.14]--使内核在虚拟内存高端的映射生效.mp4 28.68M | ├──[31.15]--为内核任务创建任务控制块TCB.mp4 32.55M | ├──[31.16]--为内核任务的TSS分配内存空间.mp4 30.63M | ├──[31.17]--处理与线性地址对应的页目录项和页表项.mp4 27.06M | ├──[31.18]--根据需要分配物理页并设置页表项.mp4 10.42M | ├──[31.19]--物理内存的页面管理和页映射位串.mp4 29.05M | ├──[31.1]--保护模式下的段式虚拟内存管理.mp4 27.08M | ├──[31.20]--空闲页的搜索和BTS指令.mp4 12.47M | ├──[31.21]--空闲页搜索和分配的具体过程.mp4 21.27M | ├──[31.22]--确立内核任务并开始创建用户任务.mp4 36.15M | ├──[31.23]--用户任务的内存分配策略.mp4 26.37M | ├──[31.24]--清空内核任务页目录表的前半部分并刷新TLB.mp4 27.57M | ├──[31.25]--为用户任务分配内存并创建LDT.mp4 21.21M | ├──[31.26]--用户程序的加载和重定位.mp4 38.74M | ├──[31.27]--用户任务页目录表的创建和访问以及INVLPG指令.mp4 43.95M | ├──[31.28]--第二个用户任务的创建和分页模式下的任务切换.mp4 32.05M | ├──[31.29]--分页模式下多任务切换的演示和调试.mp4 107.49M | ├──[31.2]--每个任务独立的虚拟内存.mp4 14.29M | ├──[31.3]--物理内存的分页以及段到页的拆分.mp4 20.83M | ├──[31.4]--处理器的段部件和页部件.mp4 20.87M | ├──[31.5]--从线性地址到物理地址的转换过程.mp4 21.29M | ├──[31.6]--页目录和页表及其地址转换过程.mp4 28.53M | ├──[31.7]--设计内核的页目录和页表.mp4 34.58M | ├──[31.8]--页目录项和页表项的组成格式.mp4 12.55M | └──[31.9]--创建内核的页表并初始化低端1MB对应的页表项.mp4 18.38M ├──{32}--平坦模型(大结局) | ├──[32.1]--为什么要引入平坦模型及平坦模型的特点.mp4 24.65M | ├──[32.2]--在主引导程序中创建平坦模型下的段.mp4 20.55M | ├──[32.3]--平坦模型对内核程序分段的影响.mp4 43.66M | ├──[32.4]--平坦模型对加载内核程序的影响.mp4 26.22M | ├──[32.5]--平坦模型下的内核初始化与内核任务的确立.mp4 47.66M | ├──[32.6]--平坦模型下的用户程序结构.mp4 37.86M | ├──[32.7]--平坦模型下的用户任务创建.mp4 13.00M | ├──[32.8]--在用户任务内动态分配内存.mp4 19.35M | └──[32.9]--平坦模型下的多任务切换演示与调试.mp4 14.79M ├──X86从实模式到保护模式 源代码.pdf 1.13M └──x86汇编语言-从实模式到保护模式.文字版.pdf 33.90M
看看
看看能不能下载
感谢分享
学习
学习
学习一下
学习一下
学习
学习一下