这门课的主题很明确:X86 与 X64 汇编语言,以及用汇编从底层搭出一个能跑起来的操作系统内核。它不是那种"三天学会汇编"的速成内容,而是把注意力放在两件事上——CPU 在实模式、保护模式、IA-32e 模式下到底怎么取指、寻址、管内存,以及一个内核怎么接管这些机制。
它解决的是什么问题
很多人写上层代码时遇到卡壳,问题往往不在语法,而在看不见的层:函数调用约定到底把参数放哪、栈帧怎么长、中断进来时 CPU 替你做了什么、分页开启前后同一段地址为什么指向不同物理内存。这些问题查文档能查到结论,但串不起来。这门课的价值就在于把这条链路走通:从 16 位实模式的段地址计算,到 32 位保护模式下的 GDT 与特权级,再到 64 位 IA-32e 模式开启分页、建立四级页表,最后落到内核如何管理物理页和虚拟地址空间。
如果你只是想让程序跑得快一点,或者想读懂一段反汇编,这门课偏重了。它的目标读者是愿意花时间理解"机器实际在做什么"的人。
适合什么基础,先看哪几块
前提条件有两个:能用 C 语言写出结构体和指针操作,以及知道二进制、十六进制、内存地址这些基本概念。不需要你之前写过汇编,但需要你能接受"对着寄存器和内存布局一点点推"的节奏。完全没碰过 C 指针的人,看分页和内存管理部分会很吃力。
建议的进入顺序是先啃 X86 部分:实模式下的寻址方式、指令格式、栈操作、中断向量表。这一段是地基,指令编码和寻址规则在 64 位下只是扩展,不是推翻。等你能看懂一段 16 位汇编在做什么,再进入保护模式和 IA-32e。分页那部分(四级页表、页目录指针项、大页映射)建议放在后面集中看,因为它需要你先理解线性地址、物理地址、段机制这几层关系,否则容易只记住格式而不知道为什么要这么设计。手写操作系统的部分跟着课程节奏走,边看边在虚拟机里跑,比纯看视频有效得多。
学完能独立做什么,资料怎么用
学完之后,比较现实的产出是:能读懂编译器生成的汇编、能自己写一段引导代码把 CPU 从实模式切到保护模式再切到长模式、能按自己的设计建立页表并让内核在虚拟地址空间里运行、能处理基本的中断和异常。这些不是"能写一个完整操作系统",而是能独立完成内核启动阶段的关键环节,并且知道每一步背后的硬件约定。
资料的使用上,视频负责讲清机制和推导过程,但真正记住靠动手。建议每看完一个阶段,就在虚拟机里复现一遍:先让引导扇区打印字符,再切模式,再开分页,每步都自己敲一遍而不是照抄。遇到页表、GDT、IDT 这类结构,别只看视频里的字段讲解,自己按手册把字段含义写下来,再回头对照代码。调试阶段多用虚拟机自带的调试手段观察寄存器和内存,比反复重看视频更省时间。
如果目标是系统理解计算机底层,这门课值得投入;如果只是想快速上手某个开发框架,它不在你的路线上。
课程目录
📁 X64架构汇编语言和操作系统基础(李忠) 📁 📁 C04.为进入IA-32e模式准备4级分页 📁 📁 064.页目录指针项的格式 页目录指针项的格式.mp4
[35.1 MB] 📁 📁 069.在4级分页中使用2MB的物理页 在4级分页中使用2MB的物理页.mp4
[19.5 MB] 📁 📁 070.创建与低端2MB物理内存对应的4级头表项和页目录指针表 创建与低端2MB物理内存对应的4级头表项和页目录指针表.mp4
[33.0 MB] 系统内存布局.pdf
[127.7 KB] 📁 📁 061.4级分页的结构和原理 系统数据区布局.pdf
[241.8 KB] 系统内存布局.pdf
[127.7 KB] 4级分页的结构和原理.mp4
[30.2 MB] 📁 📁 065.页目录项和页表项的格式 页目录项和页表项的格式.mp4
[20.0 MB] 📁 📁 074.为多任务环境准备必要的4级头表项 为多任务环境准备必要的4级头表项.mp4
[28.0 MB] 📁 📁 072.创建与低端2MB物理内存对应的页目录项 创建与低端2MB物理内存对应的页目录项.mp4
[18.6 MB] 📁 📁 066.4级头表的创建和初始化 4级头表的创建和初始化.mp4
[22.1 MB] 系统内存布局.pdf
[127.7 KB] 📁 📁 075.为内核的4级分页系统预分配254个页目录指针表 系统内存布局.pdf
[127.7 KB] 为内核的4级分页系统预分配254个页目录指针表.mp4
[29.2 MB] 📁 📁 068.准备映射物理内存的低端2MB空间 准备映射物理内存的低端2MB空间.mp4
[55.7 MB] 📁 📁 067.创建指向4级头表自身的4级头表项 创建指向4级头表自身的4级头表项.mp4
[25.5 MB] 📁 📁 063.4级头表项的格式 4级头表项的格式.mp4
[41.4 MB] 📁 📁 076.在内核的4级头表内安装254个表项并清空相关的页目录指针表 在内核的4级头表内安装254个表项并清空相关的页目录指针表.mp4
[39.0 MB] 📁 📁 077.进程上下文标识PCID 进程上下文标识PCID.mp4
[38.5 MB] 📁 📁 078.控制寄存器CR3的内容格式 控制寄存器CR3的内容格式.mp4
[20.8 MB] 📁 📁 080.型号专属寄存器IA32_EFER的设置和分页的开启 型号专属寄存器IA32_EFER的设置和分页的开启.mp4
[39.3 MB] 📁 📁 073.将物理内存低端的2MB映射到线性地址空间的高端 将物理内存低端的2MB映射到线性地址空间的高端.mp4
[38.9 MB] 📁 📁 071.创建与低端2MB物理内存对应的页目录指针项和页目录表 创建与低端2MB物理内存对应的页目录指针项和页目录表.mp4
[26.9 MB] 系统内存布局.pdf
[127.7 KB] 📁 📁 079.设置控制寄存器CR3并开启物理地址扩展功能 设置控制寄存器CR3并开启物理地址扩展功能.mp4
[18.4 MB] 📁 📁 062.2MB和1GB页面的4级分页方式 2MB和1GB页面的4级分页方式.mp4
[23.5 MB] 购买必看.7z [1.4 MB] 解密密码.pdf
[322.6 KB] 配套资料.7z [1.4 MB] 📁 📁 C07.多处理器和APIC的初始化 📁 📁 192.APIC中断的优先级及其相关的寄存器 APIC中断的优先级及其相关的寄存器.mp4
[25.3 MB] 📁 📁 184.中断输入引脚LINT0的本地向量表寄存器 本地向量表寄存器.pdf
[416.7 KB] 中断输入引脚LINT0的本地向量表寄存器.mp4
[46.1 MB] 📁 📁 158.多处理器的初始化过程和MP规范 多处理器的初始化过程和MP规范.mp4
[72.4 MB] 📁 📁 151.高级可编程中断控制器APIC概述 高级可编程中断控制器APIC概述.mp4
[32.4 MB] 📁 📁 156.Local APIC的地址映射 Local APIC的地址映射.mp4
[27.1 MB] 📁 📁 167.根系统描述指针结构 根系统描述指针结构.mp4
[27.9 MB] 📁 📁 149.多处理器环境概述 多处理器环境概述.mp4
[23.9 MB] 📁 📁 165.准备映射ACPI申领的内存 准备映射ACPI申领的内存.mp4
[31.4 MB] 📁 📁 150.同时多线程和INTEL超线程技术 同时多线程和INTEL超线程技术.mp4
[28.1 MB] 📁 📁 170.扩展的系统描述表XSDT XSDT.pdf
[108.7 KB] 扩展的系统描述表XSDT.mp4
[33.4 MB] 根系统描述指针结构.pdf
[150.5 KB] 📁 📁 163.查询和保存物理地址映射数据 系统数据区布局.pdf
[236.5 KB] 系统内存布局.pdf
[127.7 KB] 查询和保存物理地址映射数据.mp4
[49.4 MB] 📁 📁 180.APIC定时器的本地向量表寄存器及其设置 分频配置寄存器.pdf
[383.7 KB] 本地向量表寄存器.pdf
[416.7 KB] APIC定时器的本地向量表寄存器及其设置.mp4
[31.1 MB] 📁 📁 161.ACPI的数据结构和表 ACPI的数据结构和表.mp4
[33.0 MB] 📁 📁 160.本章代码清单 购买必看.7z [1.4 MB] 配套资料.7z [1.4 MB] 解密密码.pdf
[322.6 KB] 本章代码清单.mp4
[50.1 MB] 📁 📁 162.E820功能调用和内存地址范围结构 E820功能调用和内存地址范围结构.mp4
[43.5 MB] 📁 📁 168.搜索根系统描述指针结构 搜索根系统描述指针结构.mp4
[28.1 MB] 根系统描述指针结构.pdf
[150.5 KB] 📁 📁 155.组成Local APIC ID的处理器拓扑 组成Local APIC ID的处理器拓扑.mp4
[27.1 MB] 📁 📁 186.I/O APIC概述 I/O APIC概述.mp4
[31.2 MB] 📁 📁 169.系统描述表的层次结构和表头格式 系统描述表的层次结构和表头格式.mp4
[32.8 MB] 📁 📁 189.使用8253/8254定时器中断切换任务 使用8253/8254定时器中断切换任务.mp4
[61.8 MB] 定时器到IOAPIC的引脚.pdf
[257.6 KB] 📁 📁 188.用I/O APIC投递的中断实施任务切换 用I/O APIC投递的中断实施任务切换.mp4
[62.8 MB] I/O重定向表寄存器.pdf
[399.7 KB] 定时器到IOAPIC的引脚.pdf
[257.6 KB] 📁 📁 159.高级的配置和电源接口(ACPI)规范 高级的配置和电源接口(ACPI)规范.mp4
[41.6 MB] 📁 📁 177.映射APIC地址 映射APIC地址.mp4
[56.7 MB] 📁 📁 190.使用Local APIC定时器中断切换任务 使用Local APIC定时器中断切换任务.mp4
[41.7 MB] 本地向量表寄存器.pdf
[416.7 KB] Local APIC Timer的寄存器.pdf
[236.5 KB] 📁 📁 166.映射ACPI申领的内存到当前分页系统 映射ACPI申领的内存到当前分页系统.mp4
[21.8 MB] 📁 📁 193.APIC中断的接受机制 APIC中断的接受机制.mp4
[22.3 MB] 📁 📁 183.多处理器的中断机制之虚拟线模式 多处理器的中断机制之虚拟线模式.mp4
[42.1 MB] 📁 📁 176.从中断控制器结构内提取处理器和APIC信息 从中断控制器结构内提取处理器和APIC信息.mp4
[69.8 MB] madt.pdf
[458.1 KB] 📁 📁 178.Local APIC定时器 Local APIC定时器.mp4
[30.0 MB] 📁 📁 175.准备遍历中断控制器结构列表 准备遍历中断控制器结构列表.mp4
[39.7 MB] madt.pdf
[458.1 KB] 📁 📁 153.本地中断源和本地向量表 本地中断源和本地向量表.mp4
[22.4 MB] 📁 📁 187.I/O APIC的I/O重定向表寄存器 I/O APIC的I/O重定向表寄存器.mp4
[25.4 MB] 📁 📁 174.多APIC描述表MADT的格式 多APIC描述表MADT的格式.mp4
[42.5 MB] 📁 📁 179.Local APIC定时器的精度 Local APIC定时器的精度.mp4
[19.5 MB] 📁 📁 191.逻辑目标模式下的中断目标判别机制 逻辑目标模式下的中断目标判别机制.mp4
[24.8 MB] 📁 📁 154.APIC的工作模式和APIC ID APIC的工作模式和APIC ID.mp4
[32.2 MB] 📁 📁 172.根系统描述表RSDT 根系统描述表RSDT.mp4
[20.7 MB] 根系统描述指针结构.pdf
[150.5 KB] 📁 📁 152.中断引脚、中断类型和中断源 中断引脚、中断类型和中断源.mp4
[25.3 MB] 📁 📁 164.获取ACPI申领的物理内存地址范围 系统数据区布局.pdf
[236.5 KB] 获取ACPI申领的物理内存地址范围.mp4
[45.3 MB] 📁 📁 185.用LINT0的本地向量表寄存器屏蔽8259中断 本地向量表寄存器.pdf
[416.7 KB] 用LINT0的本地向量表寄存器屏蔽8259中断.mp4
[36.2 MB] 📁 📁 171.通过XSDT搜索多APIC描述表MADT 通过XSDT搜索多APIC描述表MADT.mp4
[31.9 MB] 根系统描述指针结构.pdf
[150.5 KB] XSDT.pdf
[108.7 KB] 📁 📁 182.测量Local APIC定时器在1ms内经历的时钟周期数 测量Local APIC定时器在1ms内经历的时钟周期数.mp4
[30.4 MB] 📁 📁 194.最低优先级模式的中断处理 最低优先级模式的中断处理.mp4
[17.0 MB] 📁 📁 157.I/O APIC的地址映射 I/O APIC的地址映射.mp4
[25.8 MB] 📁 📁 181.设置CMOS RTC以测量Local APIC定时器 设置CMOS RTC以测量Local APIC定时器.mp4
[23.7 MB] 📁 📁 173.通过RSDT搜索多APIC描述表MADT 通过RSDT搜索多APIC描述表MADT.mp4
[41.3 MB] 根系统描述指针结构.pdf
[150.5 KB] RSDT.pdf
[108.2 KB] atapi.txt [3.5 KB] 修改记录.txt [320.0 B] 📁 📁 C10.数据竞争和互斥锁 📁 📁 256.保存和修改休眠线程的状态 保存和修改休眠线程的状态.mp4
[52.6 MB] 📁 📁 255.执行线程休眠的系统调用 执行线程休眠的系统调用.mp4
[52.3 MB] 📁 📁 261.使用系统调用让一个线程等待另一个线程 使用系统调用让一个线程等待另一个线程.mp4
[31.3 MB] 📁 📁 254.线程休眠及其实现机制 线程休眠及其实现机制.mp4
[39.2 MB] 定时器到IOAPIC的引脚.pdf
[257.6 KB] 📁 📁 259.利用系统管理中断处理休眠线程 利用系统管理中断处理休眠线程.mp4
[26.1 MB] 📁 📁 263.在两个同时执行的线程中访问共享数据 在两个同时执行的线程中访问共享数据.mp4
[44.3 MB] 线程的栈.pdf
[312.5 KB] 📁 📁 260.用户任务及其线程的创建 用户任务及其线程的创建.mp4
[41.3 MB] 📁 📁 257.安装系统管理中断 安装系统管理中断.mp4
[30.5 MB] 📁 📁 264.在用户任务的主线程中打印共享数据 在用户任务的主线程中打印共享数据.mp4
[32.7 MB] 📁 📁 258.系统管理中断的处理过程 系统管理中断的处理过程.mp4
[46.2 MB] 📁 📁 253.本章内容提要 本章内容提要.mp4
[37.4 MB] 📁 📁 262.利用系统管理中断处理线程等待 利用系统管理中断处理线程等待.mp4
[46.0 MB] 代码修改记录.txt [6.6 KB] IOREDTBL.pdf
[528.7 KB] 定时器到IOAPIC的引脚.pdf
[257.6 KB] 购买必看.7z [1.4 MB] TCB.pdf
[99.3 KB] 解密密码.pdf
[322.6 KB] 配套资料.7z [1.4 MB] 本章的处理器专属存储区.pdf
[305.3 KB] 📁 📁 C09.多处理器环境下的多线程管理和调度 📁 📁 249.线程的执行:动态内存分配 线程的执行:动态内存分配.mp4
[25.4 MB] 📁 📁 239.查找就绪状态的线程 查找就绪状态的线程.mp4
[55.9 MB] 📁 📁 245.创建新线程:例程返回和结束线程的区别 创建新线程:例程返回和结束线程的区别.mp4
[23.6 MB] 📁 📁 240.让处理器执行指定的线程 让处理器执行指定的线程.mp4
[31.1 MB] 📁 📁 237.任务及其主线程的创建 任务及其主线程的创建.mp4
[82.9 MB] 📁 📁 247.创建新线程:在栈中构造结束线程的栈帧 创建新线程:在栈中构造结束线程的栈帧.mp4
[38.0 MB] 📁 📁 235.任务(进程)和线程 任务(进程)和线程.mp4
[27.0 MB] 📁 📁 242.系统外壳任务及其主线程的执行 系统外壳任务及其主线程的执行.mp4
[42.6 MB] 📁 📁 241.时间片到期中断的处理过程 时间片到期中断的处理过程.mp4
[27.8 MB] 📁 📁 252.线程的结束和任务的终止 栈内变量布局图.pdf
[245.4 KB] 线程的结束和任务的终止.mp4
[44.8 MB] 📁 📁 250.线程的执行:在栈中保存所有缓冲区的线性地址 栈内变量布局图.pdf
[245.4 KB] 线程的执行:在栈中保存所有缓冲区的线性地址.mp4
[39.9 MB] 缓冲区的布局图.pdf
[82.3 KB] 📁 📁 248.创建新线程:将TCB添加到当前任务的TCB链表 创建新线程:将TCB添加到当前任务的TCB链表.mp4
[34.8 MB] 📁 📁 246.创建新线程:如何用RET指令结束线程 mthrs.c [342.0 B] 创建新线程:如何用RET指令结束线程.mp4
[23.6 MB] 📁 📁 243.准备创建新的线程 准备创建新的线程.mp4
[29.3 MB] 📁 📁 238.新线程认领中断的处理过程 新线程认领中断的处理过程.mp4
[37.5 MB] 📁 📁 244.创建新线程:创建线程控制块TCB和栈 创建新线程:创建线程控制块TCB和栈.mp4
[30.1 MB] 📁 📁 236.任务控制块PCB和线程控制块TCB 任务控制块PCB和线程控制块TCB.mp4
[30.3 MB] 📁 📁 251.线程的执行:字符串的生成、连接和打印 栈内变量布局图.pdf
[245.4 KB] 线程的执行:字符串的生成、连接和打印.mp4
[32.4 MB] 本章的任务控制块PCB.pdf
[60.9 KB] 本章的处理器专属存储区.pdf
[305.3 KB] 本章的线程控制块TCB.pdf
[69.3 KB] 📁 📁 C01.内容提要及课程相关说明 内容提要及课程相关说明.mp4
[19.0 MB] 📁 📁 C06.单处理器环境下的多任务管理和调度 📁 📁 124.复制当前活动4级头表的内容给新任务的4级头表 复制当前活动4级头表的内容给新任务的4级头表.mp4
[27.8 MB] 📁 📁 126.为新任务分配0特权级使用的栈空间 pcb_struct.pdf
[64.8 KB] 为新任务分配0特权级使用的栈空间.mp4
[36.2 MB] 📁 📁 146.字符串的连接和显示 字符串的连接和显示.mp4
[32.3 MB] 📁 📁 104.设置快速系统调用的入口点 设置快速系统调用的入口点.mp4
[23.2 MB] 📁 📁 137.准备在时钟中断的处理中执行任务切换 准备在时钟中断的处理中执行任务切换.mp4
[47.1 MB] 📁 📁 099.快速系统调用概述 快速系统调用概述.mp4
[23.2 MB] 📁 📁 116.安装与指定线性地址对应的页目录项、页表项和页面 安装与指定线性地址对应的页目录项、页表项和页面.mp4
[34.7 MB] 📁 📁 100.型号专属寄存器IA32_STAR 型号专属寄存器IA32_STAR.mp4
[43.1 MB] 📁 📁 123.将指定的线性地址映射到指定的物理页 将指定的线性地址映射到指定的物理页.mp4
[40.3 MB] 📁 📁 130.双向PCB链表概述 双向PCB链表概述.mp4
[32.5 MB] pcb_struct.pdf
[64.8 KB] 📁 📁 135. 根据功能号计算内核例程的线性地址 根据功能号计算内核例程的线性地址.mp4
[44.4 MB] syscall_list.pdf
[129.6 KB] 📁 📁 114.检查与指定线性地址对应的页目录指针项是否存在 检查与指定线性地址对应的页目录指针项是否存在.mp4
[19.9 MB] 📁 📁 142.用户任务的结构和功能 syscall_list.pdf
[129.6 KB] 用户任务的结构和功能.mp4
[39.9 MB] 📁 📁 112.页映射位串的定义和空闲页的查找 页映射位串的定义和空闲页的查找.mp4
[40.3 MB] 📁 📁 119.实时时钟中断的安装和系统外壳任务简介 实时时钟中断的安装和系统外壳任务简介.mp4
[43.9 MB] 📁 📁 144.将64位二进制数转换为十进制字符串 将64位二进制数转换为十进制字符串.mp4
[27.6 MB] 📁 📁 129.生成任务标识 pcb_struct.pdf
[64.8 KB] 生成任务标识.mp4
[35.6 MB] 📁 📁 121.为新任务创建任务控制块PCB 为新任务创建任务控制块PCB.mp4
[31.0 MB] pcb_struct.pdf
[64.8 KB] 📁 📁 113.获取与指定线性地址对应的页目录指针项的线性地址 lin_to_lin_of_pdpte.pdf
[53.1 KB] 获取与指定线性地址对应的页目录指针项的线性地址.mp4
[48.1 MB] 📁 📁 110.获取与指定线性地址对应的4级头表项的线性地址 lin_to_lin_of_pmle4.pdf
[53.0 KB] 获取与指定线性地址对应的4级头表项的线性地址.mp4
[47.5 MB] 📁 📁 101.准备在GDT中安装新的描述符 stack_gdt_desc.pdf
[64.7 KB] 准备在GDT中安装新的描述符.mp4
[37.4 MB] 📁 📁 132.64位的任务状态段TSS和中断栈表IST 64位的任务状态段TSS和中断栈表IST.mp4
[40.5 MB] pcb_struct.pdf
[64.8 KB] 📁 📁 120.准备创建外壳任务 准备创建外壳任务.mp4
[31.7 MB] 📁 📁 138.执行任务切换 执行任务切换.mp4
[38.9 MB] 📁 📁 098.单处理器环境下的多任务概述 单处理器环境下的多任务概述.mp4
[35.6 MB] 📁 📁 115.分配页目录表并安装与线性地址对应的页目录指针项 分配页目录表并安装与线性地址对应的页目录指针项.mp4
[23.2 MB] 📁 📁 118.创建和安装64位的TSS描述符并加载任务寄存器TR 创建和安装64位的TSS描述符并加载任务寄存器TR.mp4
[44.0 MB] 📁 📁 117.64位LDT和TSS描述符的格式 64位LDT和TSS描述符的格式.mp4
[27.8 MB] 📁 📁 127.为新任务分配3特权级使用的栈空间 pcb_struct.pdf
[64.8 KB] 为新任务分配3特权级使用的栈空间.mp4
[35.5 MB] 📁 📁 143.当前任务标识的获取和用户程序例程库的介绍 pcb_struct.pdf
[64.8 KB] 当前任务标识的获取和用户程序例程库的介绍.mp4
[35.2 MB] syscall_list.pdf
[129.6 KB] 📁 📁 141.在外壳任务中显示当前时间 syscall_list.pdf
[129.6 KB] 在外壳任务中显示当前时间.mp4
[21.4 MB] 📁 📁 133.以中断返回的方式进入外壳任务的局部空间执行 以中断返回的方式进入外壳任务的局部空间执行.mp4
[40.8 MB] pcb_struct.pdf
[64.8 KB] 📁 📁 140.通过系统调用获取当前时间 syscall_list.pdf
[129.6 KB] 通过系统调用获取当前时间.mp4
[31.7 MB] 📁 📁 105.快速系统调用时的RFLAGS和栈切换 快速系统调用时的RFLAGS和栈切换.mp4
[24.5 MB] 📁 📁 122.为新任务创建4级头表 为新任务创建4级头表.mp4
[39.6 MB] 📁 📁 103.为快速系统调用准备段选择子 为快速系统调用准备段选择子.mp4
[24.7 MB] stack_gdt_desc.pdf
[66.3 KB] 📁 📁 106.动态内存分配和内核空间的分配策略 动态内存分配和内核空间的分配策略.mp4
[26.6 MB] 📁 📁 147.用户任务的终止 用户任务的终止.mp4
[49.2 MB] 📁 📁 111.页面分配与页映射位串 页面分配与页映射位串.mp4
[31.9 MB] 📁 📁 109.计算本次内存分配涉及的线性地址范围 计算本次内存分配涉及的线性地址范围.mp4
[25.4 MB] 📁 📁 139.通过系统调用获取屏幕上可用的显示行坐标 通过系统调用获取屏幕上可用的显示行坐标.mp4
[37.0 MB] syscall_list.pdf
[129.6 KB] 📁 📁 131.将新任务的PCB添加到PCB链表中 将新任务的PCB添加到PCB链表中.mp4
[30.0 MB] pcb_struct.pdf
[64.8 KB] 📁 📁 125.切换到新任务的地址空间并清空4级头表的前半部分 切换到新任务的地址空间并清空4级头表的前半部分.mp4
[25.6 MB] pcb_struct.pdf
[64.8 KB] 📁 📁 108.立即数在64位模式下的长度限制 立即数在64位模式下的长度限制.mp4
[23.6 MB] 📁 📁 102.为快速系统调用安装段描述符 为快速系统调用安装段描述符.mp4
[40.8 MB] stack_gdt_desc.pdf
[66.3 KB] 📁 📁 134.系统调用指令SYSCALL和SYSRET 系统调用指令SYSCALL和SYSRET.mp4
[43.3 MB] syscall_list.pdf
[129.6 KB] 📁 📁 136.快速系统调用的返回和指令的REX前缀 快速系统调用的返回和指令的REX前缀.mp4
[35.2 MB] 📁 📁 148.任务切换频次对用户体验的影响 任务切换频次对用户体验的影响.mp4
[60.2 MB] 📁 📁 128.从硬盘上加载用户程序 pcb_struct.pdf
[64.8 KB] 从硬盘上加载用户程序.mp4
[32.6 MB] 📁 📁 107.内核可用线性地址的获取和更新 内核可用线性地址的获取和更新.mp4
[39.6 MB] 📁 📁 145.在每一轮相加中将结果和加数转换为字符串 在每一轮相加中将结果和加数转换为字符串.mp4
[40.1 MB] 📁 📁 C02.X64的基本架构和执行环境 📁 📁 032.X64架构下传统模式的寻址方式 X64架构下传统模式的寻址方式.mp4
[26.1 MB] 传统的16位寻址方式.docx
[12.5 KB] 📁 📁 004.物理地址、有效地址和线性地址 物理地址、有效地址和线性地址.mp4
[24.1 MB] 📁 📁 009.X64架构新增加的通用寄存器 X64架构新增加的通用寄存器.mp4
[16.3 MB] 📁 📁 029.X64架构下的LDT描述符和LDTR X64架构下的LDT描述符和LDTR.mp4
[20.0 MB] 📁 📁 013.传统模式下的32位4KB分页技术 传统模式下的32位4KB分页技术.mp4
[17.9 MB] 📁 📁 025.X64架构下的4级和5级分页简介 X64架构下的4级和5级分页简介.mp4
[29.1 MB] 📁 📁 027.X64架构下的GDTR X64架构下的GDTR.mp4
[16.9 MB] 📁 📁 026.X64架构下的系统表和系统描述符 X64架构下的系统表和系统描述符.mp4
[23.0 MB] 📁 📁 023.X64架构下的代码段描述符 X64架构下的代码段描述符.mp4
[24.9 MB] 📁 📁 031.X64架构下的标志寄存器和指令指针寄存器 X64架构下的标志寄存器和指令指针寄存器.mp4
[50.1 MB] RFLAGS各标志位的说明.pdf
[112.5 KB] RFLAGS各标志位的说明.docx
[14.4 KB] 📁 📁 034.64位模式的RIP相对寻址方式 64位模式的RIP相对寻址方式.mp4
[29.0 MB] 📁 📁 015.传统模式下的32位4MB分页技术 传统模式下的32位4MB分页技术.mp4
[32.7 MB] 📁 📁 014.传统模式下如何利用超过4GB的物理内存 传统模式下如何利用超过4GB的物理内存.mp4
[23.6 MB] 📁 📁 028.X64架构下的IDTR X64架构下的IDTR.mp4
[18.8 MB] 📁 📁 007.第一次阶段性巩固和测试 第一次阶段性巩固和测试.mp4
[35.2 MB] 📁 📁 033.X64架构下IA-32e模式的寻址方式 X64架构下IA-32e模式的寻址方式.mp4
[18.6 MB] 📁 📁 006.IA-32e模式及其子模式 IA-32e模式及其子模式.mp4
[18.4 MB] 📁 📁 021.X64架构下IA-32e模式的内存访问 X64架构下IA-32e模式的内存访问.mp4
[21.8 MB] 📁 📁 008.X64架构对通用寄存器的扩展 X64架构对通用寄存器的扩展.mp4
[24.2 MB] 📁 📁 010.X64架构的通用寄存器访问规则 X64架构的通用寄存器访问规则.mp4
[37.4 MB] 📁 📁 011.X86处理器的物理地址空间 X86处理器的物理地址空间.mp4
[25.7 MB] 📁 📁 020.扩高地址的特点和处理器检查 扩高地址的特点和处理器检查.mp4
[23.6 MB] 📁 📁 022.X64架构的段寄存器 X64架构的段寄存器.mp4
[24.8 MB] 📁 📁 030.X64架构下的TSS描述符和TR X64架构下的TSS描述符和TR.mp4
[19.9 MB] 📁 📁 019.X64架构的线性地址空间 X64架构的线性地址空间.mp4
[34.1 MB] 📁 📁 036.IA-32e模式下的中断和异常处理概述 TSS.xlsx [12.1 KB] IA-32e模式下的中断和异常处理概述.mp4
[27.9 MB] 📁 📁 035.64位模式下的指令变化情况 64位模式下的指令变化情况.mp4
[32.3 MB] 📁 📁 018.传统模式下的32位PAE-2MB分页技术 传统模式下的32位PAE-2MB分页技术.mp4
[29.9 MB] 📁 📁 002.有关本章内容学习的重要提示 有关本章内容学习的重要提示.mp4
[13.2 MB] 📁 📁 024.X64架构下的数据段描述符 X64架构下的数据段描述符.mp4
[18.1 MB] 📁 📁 003.X64架构的由来 X64架构的由来.mp4
[31.3 MB] 📁 📁 012.X64架构下传统模式的内存访问 X64架构下传统模式的内存访问.mp4
[16.3 MB] 📁 📁 016.传统模式下的32位PAE分页技术 传统模式下的32位PAE分页技术.mp4
[16.4 MB] 📁 📁 017.传统模式下的32位PAE-4KB分页技术 传统模式下的32位PAE-4KB分页技术.mp4
[42.9 MB] 📁 📁 005.X64架构的工作模式 X64架构的工作模式.mp4
[21.3 MB] 解密密码.pdf
[322.6 KB] 购买必看.7z [1.4 MB] 配套资料.7z [1.4 MB] 📁 📁 C05.进入IA-32e的64位模式执行 📁 📁 085.使用RIP相对寻址将内核的起始线性地址改为高端地址 使用RIP相对寻址将内核的起始线性地址改为高端地址.mp4
[34.4 MB] 📁 📁 097.在虚拟机上观察内核的运行情况 在虚拟机上观察内核的运行情况.mp4
[17.9 MB] 📁 📁 089.内核的文件组织与通用的中断和异常处理策略 内核的文件组织与通用的中断和异常处理策略.mp4
[37.5 MB] 📁 📁 083.准备让内核工作在线性地址空间的高端 准备让内核工作在线性地址空间的高端.mp4
[31.0 MB] 📁 📁 095.初始化8259中断控制器 初始化8259中断控制器.mp4
[27.9 MB] 📁 📁 087.IA-32e模式下的中断门和陷阱门 IA-32e模式下的中断门和陷阱门.mp4
[30.1 MB] 📁 📁 092.创建通用中断处理过程的中断门 创建通用中断处理过程的中断门.mp4
[34.4 MB] 64位门描述符格式.pdf
[116.6 KB] 📁 📁 093.在IDT内安装前32个与异常有关的中断门 在IDT内安装前32个与异常有关的中断门.mp4
[39.0 MB] 系统内存布局.pdf
[127.7 KB] 📁 📁 096.打印64位模式下的第一条信息 打印64位模式下的第一条信息.mp4
[37.2 MB] 📁 📁 086.让处理器转到内核程序对应的高端位置继续执行 让处理器转到内核程序对应的高端位置继续执行.mp4
[26.6 MB] 📁 📁 082.通过远返回方式进入64位模式的内核 通过远返回方式进入64位模式的内核.mp4
[55.1 MB] 📁 📁 084.启用GDT和栈区的高端线性地址 系统数据区布局.pdf
[241.8 KB] 启用GDT和栈区的高端线性地址.mp4
[38.0 MB] 📁 📁 090.通用异常服务例程的工作过程 通用异常服务例程的工作过程.mp4
[42.1 MB] 📁 📁 088.IA-32e模式下的中断处理过程 IA-32e模式下的中断处理过程.mp4
[30.6 MB] 📁 📁 094.在IDT内安装剩余的中断门并加载IDTR 在IDT内安装剩余的中断门并加载IDTR.mp4
[30.8 MB] 系统数据区布局.pdf
[241.8 KB] 📁 📁 081.在IA-32e的兼容模式下显示文本信息 在IA-32e的兼容模式下显示文本信息.mp4
[39.5 MB] 📁 📁 091.加载有效地址指令LEA 加载有效地址指令LEA.mp4
[33.0 MB] 📁 📁 C03.准备进入IA-32e模式 📁 📁 045.通过数据段访问栈中的数据结构 通过数据段访问栈中的数据结构.mp4
[17.1 MB] 📁 📁 060.将内核程序完全加载到内存中 将内核程序完全加载到内存中.mp4
[43.8 MB] 📁 📁 052.获取和显示处理器商标信息 获取和显示处理器商标信息.mp4
[44.1 MB] 📁 📁 047.读磁盘失败后的错误处理 读磁盘失败后的错误处理.mp4
[19.0 MB] 📁 📁 040.如何避免文件被重复包含 如何避免文件被重复包含.mp4
[34.5 MB] 📁 📁 041.编写主引导程序的一般性建议 编写主引导程序的一般性建议.mp4
[20.7 MB] 📁 📁 048.准备读取内核加载器程序的剩余部分 准备读取内核加载器程序的剩余部分.mp4
[37.6 MB] 📁 📁 042.用BIOS硬盘扩展读加载内核加载器 用BIOS硬盘扩展读加载内核加载器.mp4
[31.7 MB] 📁 📁 051.位测试指令BT 位测试指令BT.mp4
[49.0 MB] 📁 📁 039.主引导程序和NASM的文件包含功能 主引导程序和NASM的文件包含功能.mp4
[38.2 MB] 📁 📁 050.检测处理器是否支持IA-32e模式 检测处理器是否支持IA-32e模式.mp4
[44.0 MB] 📁 📁 055.为进入保护模式准备全局描述符表 系统数据区布局.pdf
[241.8 KB] 系统内存布局.pdf
[127.7 KB] 为进入保护模式准备全局描述符表.mp4
[31.0 MB] 📁 📁 059.读取内核程序的第一个扇区 系统内存布局.pdf
[127.7 KB] 读取内核程序的第一个扇区.mp4
[32.3 MB] 系统数据区布局.pdf
[241.8 KB] 📁 📁 038.本章的目标及源程序的组织 本章的目标及源程序的组织.mp4
[43.3 MB] 📁 📁 058.有关内核程序及其如何加载的说明 系统数据区布局.pdf
[241.8 KB] 系统内存布局.pdf
[127.7 KB] 有关内核程序及其如何加载的说明.mp4
[36.7 MB] 📁 📁 057.在保护模式下显示字符串 系统内存布局.pdf
[127.7 KB] 系统数据区布局.pdf
[241.8 KB] 在保护模式下显示字符串.mp4
[46.8 MB] 📁 📁 037.进入IA-32e模式的方法 进入IA-32e模式的方法.mp4
[20.6 MB] 📁 📁 049.转入内核加载器执行 转入内核加载器执行.mp4
[38.0 MB] 地址结构的访问.pdf
[400.0 KB] 📁 📁 043.在程序中使用NASM运算符和表达式 adr-stru.pdf
[139.0 KB] 在程序中使用NASM运算符和表达式.mp4
[26.5 MB] 📁 📁 054.显示处理器的地址尺寸信息 显示处理器的地址尺寸信息.mp4
[57.9 MB] 📁 📁 053.获取和保存处理器的地址尺寸数据 系统内存布局.pdf
[127.7 KB] 获取和保存处理器的地址尺寸数据.mp4
[34.3 MB] 系统数据区布局.pdf
[241.8 KB] 📁 📁 056.进入保护模式 系统内存布局.pdf
[127.7 KB] 进入保护模式.mp4
[36.6 MB] 系统数据区布局.pdf
[241.8 KB] 📁 📁 046.调用BIOS例程显示字符串 调用BIOS例程显示字符串.mp4
[36.6 MB] 📁 📁 044.内核加载器程序的有效标志和长度 内核加载器程序的有效标志和长度.mp4
[24.4 MB] adr-stru.pdf
[139.0 KB] 📁 📁 C08.多处理器环境下的多任务管理和调度 📁 📁 211.中断命令寄存器ICR 中断命令寄存器ICR.mp4
[54.6 MB] 📁 📁 212.本章的AP初始化代码简介 系统内存布局.pdf
[127.7 KB] 本章的AP初始化代码简介.mp4
[43.4 MB] 📁 📁 227.用比较并交换指令CMPXCHG以无锁方式操作链表节点 task_link.pdf
[273.6 KB] 用比较并交换指令CMPXCHG以无锁方式操作链表节点.mp4
[55.4 MB] 第8章PCB.pdf
[72.4 KB] 📁 📁 232.外壳任务的执行流程 处理器专属存储区.pdf
[355.3 KB] 外壳任务的执行流程.mp4
[33.5 MB] 系统调用功能表.pdf
[131.5 KB] 📁 📁 233.用户任务的执行流程 系统调用功能表.pdf
[131.5 KB] 用户任务的执行流程.mp4
[46.0 MB] 📁 📁 200.锁和自旋锁 锁和自旋锁.mp4
[35.4 MB] 📁 📁 208.用型号专属寄存器IA32_KERNEL_GS_BASE指向处理器专属存储区 用型号专属寄存器IA32_KERNEL_GS_BASE指向处理器专属存储区.mp4
[45.5 MB] 📁 📁 226.在任务链表中查找就绪任务 处理器专属存储区.pdf
[355.3 KB] 在任务链表中查找就绪任务.mp4
[34.6 MB] task_link.pdf
[273.6 KB] 📁 📁 225.新任务认领中断的处理过程 处理器专属存储区.pdf
[355.3 KB] 新任务认领中断的处理过程.mp4
[48.6 MB] 📁 📁 219.应用处理器AP的初始化:用SWAPGS指令访问专属存储区 处理器专属存储区.pdf
[355.3 KB] 应用处理器AP的初始化:用SWAPGS指令访问专属存储区.mp4
[50.6 MB] 📁 📁 216.应用处理器AP的初始化:进入64位模式 应用处理器AP的初始化:进入64位模式.mp4
[38.6 MB] 系统内存布局.pdf
[127.7 KB] 系统数据区布局.pdf
[236.5 KB] GDT的布局.pdf
[329.5 KB] 📁 📁 224.自举处理器BSP:广播新任务认领消息并进入预定状态 自举处理器BSP:广播新任务认领消息并进入预定状态.mp4
[41.8 MB] 📁 📁 223.交换并相加指令XADD和无锁操作 交换并相加指令XADD和无锁操作.mp4
[42.3 MB] 📁 📁 202.宏定义和宏扩展 宏定义和宏扩展.mp4
[52.4 MB] 📁 📁 228.执行新任务:为新任务指定时间片 第8章PCB.pdf
[72.4 KB] 执行新任务:为新任务指定时间片.mp4
[45.7 MB] 分频配置寄存器.pdf
[383.7 KB] 📁 📁 215.应用处理器AP的初始化:进入保护模式 系统内存布局.pdf
[127.7 KB] 应用处理器AP的初始化:进入保护模式.mp4
[33.5 MB] 系统数据区布局.pdf
[236.5 KB] 📁 📁 220.应用处理器AP的初始化:开启Local APIC并进入停机待命状态 应用处理器AP的初始化:开启Local APIC并进入停机待命状态.mp4
[33.2 MB] 📁 📁 204.本章对内核工具文件的修改 本章对内核工具文件的修改.mp4
[74.8 MB] 📁 📁 217.应用处理器AP的初始化:创建数据结构 应用处理器AP的初始化:创建数据结构.mp4
[45.6 MB] 系统数据区布局.pdf
[236.5 KB] 📁 📁 210.本章的多处理器多任务调度方案 本章的多处理器多任务调度方案.mp4
[47.0 MB] 📁 📁 231.处理器专属存储区的必要性 处理器专属存储区的必要性.mp4
[51.4 MB] 处理器专属存储区.pdf
[355.3 KB] 64位模式的TSS.pdf
[51.7 KB] 📁 📁 221.自举处理器BSP:等待所有应用处理器完成初始化 自举处理器BSP:等待所有应用处理器完成初始化.mp4
[51.9 MB] 📁 📁 218.应用处理器AP的初始化:初始化之后的处理器架构状态 应用处理器AP的初始化:初始化之后的处理器架构状态.mp4
[24.5 MB] 系统数据区布局.pdf
[236.5 KB] 📁 📁 201.分支预测和PAUSE指令 分支预测和PAUSE指令.mp4
[31.5 MB] 📁 📁 206.处理器专属存储区(每CPU数据区) 处理器专属存储区(每CPU数据区).mp4
[26.7 MB] 📁 📁 205.开始执行内核的初始化 开始执行内核的初始化.mp4
[30.8 MB] stack_gdt_desc.pdf
[66.3 KB] 📁 📁 230.时间片到期中断的处理过程 时间片到期中断的处理过程.mp4
[30.3 MB] 📁 📁 213.将AP初始化代码传送到指定位置 将AP初始化代码传送到指定位置.mp4
[47.3 MB] 📁 📁 222.自举处理器BSP:创建系统外壳任务并为其指定时间片 第8章PCB.pdf
[72.4 KB] 自举处理器BSP:创建系统外壳任务并为其指定时间片.mp4
[29.4 MB] 📁 📁 195.本章的目标和代码清单 本章的目标和代码清单.mp4
[44.1 MB] 📁 📁 197.单处理器环境下的数据竞争 单处理器环境下的数据竞争.mp4
[42.6 MB] 📁 📁 198.多处理器环境下的数据竞争 多处理器环境下的数据竞争.mp4
[56.1 MB] 📁 📁 229.执行新任务:恢复任务的状态并开始执行 处理器专属存储区.pdf
[355.3 KB] 64位模式的TSS.pdf
[51.7 KB] 执行新任务:恢复任务的状态并开始执行.mp4
[31.6 MB] 第8章PCB.pdf
[72.4 KB] 📁 📁 214.向所有应用处理器广播SIPI消息 向所有应用处理器广播SIPI消息.mp4
[27.2 MB] 📁 📁 203.互斥锁的一般原理 互斥锁的一般原理.mp4
[45.7 MB] 📁 📁 209.多处理器系统的初始化协议算法 多处理器系统的初始化协议算法.mp4
[58.7 MB] 📁 📁 196.高速缓存 高速缓存.mp4
[42.1 MB] 📁 📁 234.任务的终止 处理器专属存储区.pdf
[355.3 KB] 任务的终止.mp4
[54.0 MB] 系统调用功能表.pdf
[131.5 KB] 📁 📁 199.原子操作 原子操作.mp4
[56.9 MB] 📁 📁 207.为自举处理器BSP分配专属存储区 处理器专属存储区.pdf
[355.3 KB] 系统内存布局.pdf
[127.7 KB] GDT当前映像.pdf
[328.6 KB] 为自举处理器BSP分配专属存储区.mp4
[51.0 MB] 第8章PCB.pdf
[72.4 KB] 系统内存布局.pdf
[127.7 KB] 系统调用功能表.pdf
[131.5 KB] 64位模式的TSS.pdf
[51.7 KB] 系统数据区布局.pdf
[236.5 KB] 处理器专属存储区.pdf
[355.3 KB] 📁 📁 C00.用汇编语言演示操作系统基础 用汇编语言演示操作系统基础.mp4
[69.2 MB] cover.png [153.0 KB] 购买必看.7z [1.4 MB] 解密密码.pdf
[322.6 KB] 配套资料.7z [1.4 MB] 📁 x86汇编语言:从实模式到保护模式(李忠) 📁 📁 {27}--任务和任务的创建 [27.13]--在虚拟机上验证任务的执行_ev.mp4
[48.9 MB] [27.7]--在当前任务的LDT中安装描述符_ev.mp4
[31.0 MB] [27.10]--TSS描述符的格式和TSS描述符的创建_ev.mp4
[12.9 MB] [27.4]--通过栈传递例程参数以及立即数的压栈指令_ev.mp4
[20.2 MB] [27.8]--LDT描述符的格式和LDT描述符的创建_ev.mp4
[30.7 MB] [27.3]--将任务控制块加入任务控制块链表_ev.mp4
[16.1 MB] [27.2]--使用任务控制块保存任务基本信息_ev.mp4
[36.0 MB] [27.1]--任务:概念和组成_ev.mp4
[10.2 MB] [27.11]--用带参数的RET指令返回调用者_ev.mp4
[27.0 MB] [27.12]--加载任务寄存器TR和局部描述符表寄存器LDTR_ev.mp4
[38.1 MB] [27.9]--创建任务状态段TSS_ev.mp4
[16.0 MB] [27.6]--创建任务的局部描述符表LDT_ev.mp4
[22.5 MB] [27.5]--段寄存器的压栈和出栈以及栈的随机访问机制_ev.mp4
[17.8 MB] 📁 📁 {32}--平坦模型(大结局) [32.3]--平坦模型对内核程序分段的影响_ev.mp4
[43.7 MB] [32.8]--在用户任务内动态分配内存_ev.mp4
[19.3 MB] [32.1]--为什么要引入平坦模型及平坦模型的特点_ev.mp4
[24.6 MB] [32.2]--在主引导程序中创建平坦模型下的段_ev.mp4
[20.6 MB] [32.7]--平坦模型下的用户任务创建_ev.mp4
[13.0 MB] [32.9]--平坦模型下的多任务切换演示与调试_ev.mp4
[14.8 MB] [32.5]--平坦模型下的内核初始化与内核任务的确立_ev.mp4
[47.7 MB] [32.6]--平坦模型下的用户程序结构_ev.mp4
[37.9 MB] [32.4]--平坦模型对加载内核程序的影响_ev.mp4
[26.2 MB] 📁 📁 {06}--原书第1版第3章检测点和习题解析 [6.1]--原书第1版第3章检测点和习题解析_ev.mp4
[13.7 MB] 📁 📁 {26}--用户程序编程接口及其实现 [26.6]--串比较的方向和重复前缀_ev.mp4
[69.2 MB] [26.9]--在用户程序内使用内核编程接口读硬盘和显示文本_ev.mp4
[26.8 MB] [26.1]--内核与用户程序之间的栈切换问题_ev.mp4
[28.0 MB] [26.3]--用户程序中的符号地址检索表_ev.mp4
[32.3 MB] [26.8]--使用内循环依次取得内核SALT表的每个条目并进行比较_ev.mp4
[20.5 MB] [26.11]--以十六进制形式显示一个双字以及PUSHAD、POPAD和XLAT_ev.mp4
[50.2 MB] [26.5]--串比较指令CMPS_ev.mp4
[27.0 MB] [26.10]--在虚拟机上验证程序的执行_ev.mp4
[15.6 MB] [26.7]--使用外循环依次取得用户SALT表的每个条目_ev.mp4
[15.1 MB] [26.4]--内核程序中的符号地址检索表_ev.mp4
[29.5 MB] [26.2]--在内核中为用户程序提供编程支持_ev.mp4
[23.6 MB] 📁 📁 {17}--从1加到100并显示结果 [17.4]--在调试器里观察栈操作的状态_ev.mp4
[44.1 MB] [17.6]--逻辑或指令OR和逻辑与指令AND_ev.mp4
[71.2 MB] [17.3]--栈在数位分解和显示中的应用_ev.mp4
[23.3 MB] [17.5]--进一步认识栈和栈操作的特点_ev.mp4
[30.3 MB] [17.1]--字符串的定义和累加过程_ev.mp4
[29.8 MB] [17.2]--栈的原理和使用_ev.mp4
[90.7 MB] 📁 📁 {24}--存储器的保护 [24.13]--数据交换指令XCHG_ev.mp4
[41.8 MB] [24.2]--修改段寄存器时的保护_ev.mp4
[18.1 MB] [24.5]--向上扩展的段用做栈段时的保护_ev.mp4
[13.2 MB] [24.10]--通过别名来实现段的共用和共享_ev.mp4
[34.6 MB] [24.12]--32位操作尺寸下的LOOP指令_ev.mp4
[16.0 MB] [24.8]--用向下扩展的段做为栈段_ev.mp4
[21.7 MB] [24.6]--访问普通数据段时的保护_ev.mp4
[14.7 MB] [24.7]--内存线性地址的回绕特性_ev.mp4
[20.3 MB] [24.1]--话说MOVDS,AX和MOVDS,EAX_ev.mp4
[46.4 MB] [24.11]--冒泡排序法的基本原理_ev.mp4
[15.5 MB] [24.4]--用向上扩展的段做为栈段_ev.mp4
[23.1 MB] [24.9]--向下扩展的段用做栈段时的保护_ev.mp4
[23.7 MB] [24.3]--代码段执行时的保护_ev.mp4
[16.2 MB] 📁 📁 {01}--课程说明 [1.1]--课程说明_ev.mp4
[51.6 MB] 📁 📁 {04}--原书第1版第2章检测点和习题解析 [4.1]--原书第1版第2章检测点和习题解析_ev.mp4
[22.3 MB] 📁 📁 {29}--协同式任务切换 [29.3]--I/O特权级的修改和POPF指令_ev.mp4
[14.6 MB] [29.9]--遍历TCB链表寻找忙任务和就绪任务_ev.mp4
[25.5 MB] [29.2]--内核任务的创建和I/O特权级IOPL_ev.mp4
[28.8 MB] [29.11]--内核任务与用户任务轮流执行的过程_ev.mp4
[47.3 MB] [29.7]--用户任务的创建和初始化_ev.mp4
[58.4 MB] [29.8]--简单的任务调度和切换策略_ev.mp4
[20.4 MB] [29.10]--通过JMPFAR执行任务切换的过程_ev.mp4
[27.6 MB] [29.12]--任务的终止和清理_ev.mp4
[36.3 MB] [29.4]--任务的用户态和内核态_ev.mp4
[17.1 MB] [29.1]--多任务和任务切换概述_ev.mp4
[25.9 MB] [29.6]--任务切换的方法及内核任务的确立_ev.mp4
[33.3 MB] [29.5]--I/O许可位串和TSS的I/O许可位映射区_ev.mp4
[24.5 MB] 📁 📁 习题解析 第8章.mp4
[31.7 MB] 第5章.mp4
[95.7 MB] 第3章.mp4
[15.4 MB] 第2章.mp4
[23.9 MB] 第9章.mp4
[16.6 MB] 第6章.mp4
[60.8 MB] 第4章.mp4
[9.1 MB] 第7章.mp4
[16.6 MB] 📁 📁 {23}--指令的格式及其操作尺寸 [23.7]--x86的指令格式-指令前缀部分_ev.mp4
[7.1 MB] 配套资料.7z [1.4 MB] [23.3]--32位处理器的指令操作尺寸_ev.mp4
[46.6 MB] [23.4]--x86的指令格式-操作码和立即数部分_ev.mp4
[55.2 MB] [23.8]--处理器的默认操作尺寸和相关指令前缀_ev.mp4
[38.8 MB] 购买必看.7z [1.4 MB] [23.9]--用伪指令bits生成16位和32位模块_ev.mp4
[18.3 MB] [23.5]--x86的指令格式-ModRM和偏移量部分_ev.mp4
[91.6 MB] [23.1]--80286的16位保护模式_ev.mp4
[20.8 MB] [23.2]--16位处理器的指令操作尺寸_ev.mp4
[13.8 MB] [23.6]--x86的指令格式-SIB部分_ev.mp4
[47.9 MB] 解密密码.pdf
[322.6 KB] [23.10]--描述符和段描述符高速缓存器的D位_ev.mp4
[32.8 MB] [23.11]--进入保护模式后立即切换到32位模块并使用32位默认操作尺寸_ev.mp4
[49.7 MB] 📁 📁 {10}--原书第1版第4章检测点和习题解析 [10.1]--原书第1版第4章检测点和习题解析_ev.mp4
[7.9 MB] 📁 📁 {02}--汇编语言的前世今生 [2.9]--自动计算_ev.mp4
[30.0 MB] [2.6]--能做四则运算的机器_ev.mp4
[13.1 MB] [2.10]--处理器_ev.mp4
[19.7 MB] [2.8]--内存_ev.mp4
[40.1 MB] [2.11]--汇编语言的诞生_ev.mp4
[20.7 MB] [2.4]--具有记忆功能的器件——寄存器_ev.mp4
[13.1 MB] [2.3]--二进制加法机_ev.mp4
[8.9 MB] [2.2]--用电来表示数字_ev.mp4
[10.9 MB] [2.7]--机器指令_ev.mp4
[43.4 MB] [2.1]--引子_ev.mp4
[7.2 MB] [2.5]--带寄存器的加法机_ev.mp4
[8.4 MB] 📁 📁 {31}--分页和动态页面分配 [31.21]--空闲页搜索和分配的具体过程_ev.mp4
[21.3 MB] [31.4]--处理器的段部件和页部件_ev.mp4
[20.9 MB] [31.14]--使内核在虚拟内存高端的映射生效_ev.mp4
[28.7 MB] [31.25]--为用户任务分配内存并创建LDT_ev.mp4
[21.2 MB] [31.23]--用户任务的内存分配策略_ev.mp4
[26.4 MB] [31.27]--用户任务页目录表的创建和访问以及INVLPG指令_ev.mp4
[43.9 MB] [31.15]--为内核任务创建任务控制块TCB_ev.mp4
[32.5 MB] [31.10]--设置控制寄存器CR3和CR0开启分页功能_ev.mp4
[13.4 MB] [31.26]--用户程序的加载和重定位_ev.mp4
[38.7 MB] [31.19]--物理内存的页面管理和页映射位串_ev.mp4
[29.1 MB] [31.11]--在调试器中观察页目录表和页表_ev.mp4
[51.9 MB] [31.5]--从线性地址到物理地址的转换过程_ev.mp4
[21.3 MB] [31.9]--创建内核的页表并初始化低端1MB对应的页表项_ev.mp4
[18.4 MB] [31.3]--物理内存的分页以及段到页的拆分_ev.mp4
[20.8 MB] [31.22]--确立内核任务并开始创建用户任务_ev.mp4
[36.1 MB] [31.1]--保护模式下的段式虚拟内存管理_ev.mp4
[27.1 MB] [31.7]--设计内核的页目录和页表_ev.mp4
[34.6 MB] [31.17]--处理与线性地址对应的页目录项和页表项_ev.mp4
[27.1 MB] [31.13]--在分页机制下访问页目录表自身_ev.mp4
[20.2 MB] [31.16]--为内核任务的TSS分配内存空间_ev.mp4
[30.6 MB] [31.24]--清空内核任务页目录表的前半部分并刷新TLB_ev.mp4
[27.6 MB] [31.29]--分页模式下多任务切换的演示和调试_ev.mp4
[107.5 MB] [31.8]--页目录项和页表项的组成格式_ev.mp4
[12.6 MB] [31.20]--空闲页的搜索和BTS指令_ev.mp4
[12.5 MB] [31.12]--准备将内核映射到虚拟内存的高端_ev.mp4
[26.1 MB] [31.6]--页目录和页表及其地址转换过程_ev.mp4
[28.5 MB] [31.2]--每个任务独立的虚拟内存_ev.mp4
[14.3 MB] [31.28]--第二个用户任务的创建和分页模式下的任务切换_ev.mp4
[32.0 MB] [31.18]--根据需要分配物理页并设置页表项_ev.mp4
[10.4 MB] 📁 📁 {22}--进入保护模式 [22.7]--安装存储器的段描述符_ev.mp4
[18.1 MB] [22.11]--描述符高速缓存器和保护模式下的内存访问_ev.mp4
[26.0 MB] [22.10]--通过设置寄存器CR0的PE位进入保护模式_ev.mp4
[31.8 MB] [22.1]--保护模式是要保护什么_ev.mp4
[23.6 MB] [22.5]--存储器的段描述符-段的类型和基地址_ev.mp4
[16.0 MB] [22.6]--存储器的段描述符-段界限及访问控制位_ev.mp4
[22.2 MB] [22.12]--在调试器中观察实模式和保护模式的内存访问_ev.mp4
[69.9 MB] [22.9]--开启处理器的第21根地址线A20_ev.mp4
[31.1 MB] [22.4]--描述符的分类_ev.mp4
[14.9 MB] [22.3]--准备创建全局描述符表_ev.mp4
[17.4 MB] [22.8]--加载全局描述符表寄存器GDTR_ev.mp4
[16.3 MB] [22.2]--全局描述符表GDT和全局描述符表寄存器GDTR_ev.mp4
[15.3 MB] 📁 📁 {05}--汇编语言和汇编软件 [5.1]--创建汇编语言源程序_ev【 www.】.mp4
[23.1 MB] [5.2]--Notepad++的下载和使用_ev【 www.】.mp4
[23.4 MB] [5.5]--下载和使用配套源码及工具_ev【 www.】.mp4
[50.7 MB] [5.3]--下载和安装编译器NASM_ev【 www.】.mp4
[17.4 MB] [5.6]--将编译功能集成到Notepad++_ev【 www.】.mp4
[18.6 MB] [5.4]--编译汇编语言源程序_ev【 www.】.mp4
[32.2 MB] 📁 📁 {13}--阶段性重点内容总结 [13.2]--原书第1版第5章检测点和习题解析_ev.mp4
[50.0 MB] [13.1]--阶段性重点内容总结_ev.mp4
[40.5 MB] 📁 📁 {03}--认识8086处理器 [3.9]--逻辑地址和分段的灵活性_ev【 www.】.mp4
[25.4 MB] [3.4]--程序的重定位难题_ev【 www.】.mp4
[14.2 MB] [3.8]--8086的内存访问过程_ev【 www.】.mp4
[13.8 MB] [3.1]--8086的通用寄存器_ev【 www.】.mp4
[23.1 MB] [3.5]--段地址和偏移地址_ev【 www.】.mp4
[13.1 MB] [3.7]--8086选择段地址的策略_ev【 www.】.mp4
[21.7 MB] [3.3]--程序的分段_ev【 www.】.mp4
[11.2 MB] [3.2]--8086的内存访问和字节序_ev【 www.】.mp4
[12.8 MB] [3.6]--8086内存访问的困境_ev【 www.】.mp4
[8.2 MB] 📁 📁 {16}--阶段性知识总结和拓展 [16.2]--条件转移指令和CMP指令_ev.mp4
[54.0 MB] [16.3]--原书第1版第6章检测点和习题解析_ev.mp4
[52.6 MB] [16.1]--8086的标志寄存器_ev.mp4
[41.8 MB] 📁 📁 {11}--在屏幕上显示文本 [11.4]--文本模式下的显存操作_ev【 】.mp4
[26.0 MB] [11.1]--显卡和显存_ev【 】.mp4
[37.7 MB] [11.3]--字符的编码和显示属性_ev【 】.mp4
[37.4 MB] [11.11]--主引导扇区执行时的内存布局_ev【 】.mp4
[43.5 MB] [11.7]--在汇编程序中使用标号_ev【 】.mp4
[26.7 MB] [11.12]--使用标号计算跳转的偏移地址_ev【 】.mp4
[31.4 MB] [11.10]--在VirtualBox中运行写屏程序_ev【 】.mp4
[28.3 MB] [11.13]--使用寄存器的绝对间接近跳转_ev【 】.mp4
[32.4 MB] [11.5]--MOV指令的形式和机器码_ev【 】.mp4
[64.1 MB] [11.14]--使用相对偏移量的短跳转和近跳转_ev【 】.mp4
[49.9 MB] [11.2]--准备访问文本模式下的显存_ev【 】.mp4
[23.0 MB] [11.6]--列表文件的创建和使用_ev【 】.mp4
[42.4 MB] [11.9]--在Bochs中运行和调试写屏程序_ev【 】.mp4
[130.0 MB] [11.8]--段间直接绝对跳转指令_ev【 】.mp4
[21.3 MB] 📁 📁 {18}--INTEL8086处理器的寻址方式 [18.1]--寄存器、立即数和直接寻址_ev.mp4
[35.1 MB] [18.3]--变址寻址_ev.mp4
[43.9 MB] [18.4]--基址变址寻址_ev.mp4
[39.9 MB] [18.2]--基址寻址_ev.mp4
[61.4 MB] [18.5]--原书第1版第7章检测点和习题解析_ev.mp4
[14.4 MB] 📁 📁 {08}--虚拟机的安装和使用 [8.5]--在Linux下创建虚拟硬盘并安装操作系统_ev.mp4
[22.0 MB] [8.1]--安装VirtualBox虚拟机管理器_ev.mp4
[31.7 MB] [8.4]--在Windows下创建虚拟硬盘并安装操作系统_ev.mp4
[78.7 MB] [8.2]--创建VirtualBox虚拟机_ev.mp4
[96.9 MB] [8.3]--虚拟硬盘简介_ev.mp4
[44.3 MB] 📁 📁 {14}--循环、批量传送和条件转移 [14.1]--跳过非指令的数据区_ev.mp4
[14.7 MB] [14.6]--基址寻址和INC指令_ev.mp4
[33.6 MB] [14.4]--NASM的$和$$记号_ev.mp4
[38.3 MB] [14.5]--使用循环指令LOOP分解数位_ev.mp4
[18.1 MB] [14.7]--数字的显示和DEC指令_ev.mp4
[29.0 MB] [14.8]--基址变址寻址和条件转移指令_ev.mp4
[52.2 MB] [14.3]--串传送指令和标志寄存器_ev.mp4
[26.1 MB] [14.2]--逻辑段地址的重新设定_ev.mp4
[11.4 MB] 📁 📁 {25}--保护模式程序的动态加载和执行 [25.5]--进入内核执行_ev.mp4
[30.0 MB] [25.11]--计算以512字节为单位的用户程序总长度_ev.mp4
[13.9 MB] [25.19]--用户程序的执行和退出_ev.mp4
[41.1 MB] [25.12]--内存分配的基本策略和方法_ev.mp4
[25.9 MB] [25.2]--内核的结构和加载前的准备工作_ev.mp4
[63.2 MB] [25.7]--用CPUID指令取得处理器品牌信息并显示_ev.mp4
[45.8 MB] [25.16]--用SGDT和MOVZX指令确定GDT的位置_ev.mp4
[58.1 MB] [25.20]--在虚拟机上观察内核的加载以及用户程序的执行与退出_ev.mp4
[22.4 MB] [25.4]--段描述符的创建和BSWAP指令_ev.mp4
[34.5 MB] [25.18]--安装用户程序的段描述符并回填选择子_ev.mp4
[20.6 MB] [25.1]--本章的目标和内容提要_ev.mp4
[15.6 MB] [25.9]--预读用户程序并得到它的大小_ev.mp4
[16.5 MB] [25.3]--准备为内核的每个段创建和安装描述符_ev.mp4
[32.1 MB] [25.14]--加载用户程序_ev.mp4
[20.5 MB] [25.6]--进入内核后显示文本信息_ev.mp4
[28.5 MB] [25.8]--准备加载用户程序_ev.mp4
[33.7 MB] [25.15]--准备安装用户程序的段描述符_ev.mp4
[18.0 MB] [25.10]--条件传送指令簇CMOVcc_ev.mp4
[43.9 MB] [25.13]--内存分配的简易实现过程_ev.mp4
[19.7 MB] [25.17]--安装新描述符并生成选择子_ev.mp4
[13.8 MB] 📁 📁 {09}--汇编语言程序的调试 [9.1]--带调试功能的虚拟机_ev【 www.】.mp4
[11.3 MB] [9.5]--将程序写入硬盘主引导扇区_ev【 www.】.mp4
[68.7 MB] [9.6]--用调试器观察程序的执行_ev【 www.】.mp4
[132.8 MB] [9.4]--创建主引导扇区程序_ev【 www.】.mp4
[33.3 MB] [9.3]--为Bochs虚拟机安装虚拟硬盘_ev【 www.】.mp4
[22.2 MB] [9.2]--安装Bochs虚拟机_ev【 www.】.mp4
[36.0 MB] 📁 📁 {30}--中断和异常的处理与抢占式多任务 [30.6]--为实时时钟中断创建和安装中断门_ev.mp4
[21.1 MB] [30.2]--保护模式下中断和异常的向量分配_ev.mp4
[23.7 MB] [30.11]--在中断处理过程中实施任务切换(含NOP指令的介绍)_ev.mp4
[62.4 MB] [30.7]--加载中断描述符表寄存器IDTR_ev.mp4
[14.3 MB] [30.10]--中断和异常发生时的栈切换过程_ev.mp4
[30.9 MB] [30.4]--本章程序介绍_ev.mp4
[56.6 MB] [30.5]--创建并安装全部的256个中断门_ev.mp4
[47.8 MB] [30.1]--中断和异常概述_ev.mp4
[21.5 MB] [30.9]--中断和异常发生时的特权级检查_ev.mp4
[12.3 MB] [30.12]--抢占式多任务的执行效果演示_ev.mp4
[35.5 MB] [30.3]--中断描述符表、中断门和陷阱门_ev.mp4
[29.8 MB] [30.8]--重新设置8259A主片的中断向量_ev.mp4
[37.4 MB] 📁 📁 {28}--特权级和特权级保护 [28.6]--门描述符和调用门_ev.mp4
[23.5 MB] [28.8]--请求特权级RPL_ev.mp4
[25.0 MB] [28.13]--通过调用门实施低特权级到高特权级的转移_ev.mp4
[37.5 MB] [28.10]--一般情况下的请求特权级设置_ev.mp4
[18.6 MB] [28.3]--描述符特权级DPL_ev.mp4
[28.9 MB] [28.7]--本章程序说明及特权级检查的时机_ev.mp4
[17.2 MB] [28.15]--通过调用门转移控制并返回的完整描述_ev.mp4
[27.0 MB] [28.16]--创建0、1和2特权级的栈并登记在TSS中_ev.mp4
[32.6 MB] [28.17]--通过模拟调用门返回进入用户程序执行_ev.mp4
[35.6 MB] [28.4]--任务公共部分和私有部分的特权级划分_ev.mp4
[50.2 MB] [28.11]--为内核接口例程创建调用门_ev.mp4
[58.3 MB] [28.5]--依从的代码段_ev.mp4
[8.7 MB] [28.9]--请求特权级调整指令ARPL_ev.mp4
[20.0 MB] [28.14]--通过调用门转移控制时的栈切换过程_ev.mp4
[16.7 MB] [28.12]--调用门的测试和调用门转移过程_ev.mp4
[33.8 MB] [28.1]--特权级保护的必要性和特权保护机制_ev.mp4
[26.8 MB] [28.2]--当前特权级CPL_ev.mp4
[10.1 MB] 📁 📁 {15}--计算机中的负数 [15.5]--有符号数的符号扩展指令_ev【 .】.mp4
[66.4 MB] [15.1]--无符号数和有符号数_ev【 .】.mp4
[43.8 MB] [15.4]--有符号数除法指令IDIV_ev【 .】.mp4
[57.3 MB] [15.3]--计算机如何区分对待无符号数和有符号数_ev【 .】.mp4
[39.2 MB] [15.2]--减法指令SUB和求补指令NEG_ev【 .】.mp4
[62.2 MB] 📁 📁 {19}--硬盘和显卡的访问与控制 [19.15]--转到用户程序内部执行_ev【 .】.mp4
[13.8 MB] [19.7]--外围设备及其接口_ev【 .】.mp4
[20.5 MB] [19.27]--原书第一版第8章习题解析解答_ev【 .】.mp4
[27.7 MB] [19.11]--过程调用和返回的原理_ev【 .】.mp4
[26.0 MB] [19.19]--书中第八章用户程序概述_ev【 .】.mp4
[23.2 MB] [19.25]--在程序中访问不同的数据段_ev【 .】.mp4
[19.5 MB] [19.21]--回车的光标处理和乘法指令MUL_ev【 .】.mp4
[82.5 MB] [19.26]--使用新版FixVhdWr写虚拟硬盘并运行程序_ev【 .】.mp4
[61.1 MB] [19.8]--输入输出端口的访问_ev【 .】.mp4
[33.6 MB] [19.9]--通过硬盘控制器端口读扇区数据_ev【 .】.mp4
[51.8 MB] [19.20]--与文本显示有关的回车、换行与光标控制_ev【 .】.mp4
[45.5 MB] [19.1]--离开主引导扇区_ev【 .】.mp4
[16.5 MB] [19.12]--加载整个用户程序_ev【 .】.mp4
[25.5 MB] [19.23]--8086的过程调用方式_ev【 .】.mp4
[48.5 MB] [19.6]--确定用户程序的加载位置_ev【 .】.mp4
[38.1 MB] [19.3]--控制段内元素的汇编地址_ev【 .】.mp4
[24.2 MB] [19.5]--加载器的工作流程和常数声明_ev【 .】.mp4
[21.9 MB] [19.10]--过程和过程调用_ev【 .】.mp4
[42.3 MB] [19.17]--用户程序的执行过程_ev【 .】.mp4
[41.0 MB] [19.13]--用户程序的重定位_ev【 .】.mp4
[23.4 MB] [19.14]--比特位的移动指令_ev【 .】.mp4
[67.2 MB] [19.2]--给汇编语言程序分段_ev【 .】.mp4
[30.3 MB] [19.22]--换行和普通字符的处理过程与滚屏操作_ev【 .】.mp4
[47.5 MB] [19.24]--通过RETF指令转到另一个代码段内执行_ev【 .】.mp4
[31.7 MB] [19.4]--加载器和用户程序头部段_ev【 .】.mp4
[36.9 MB] [19.18]--验证加载器加载和执行用户程序的过程_ev【 .】.mp4
[48.2 MB] [19.16]--8086的无条件转移指令_ev【 .】.mp4
[67.4 MB] 📁 📁 {07}--如何执行编译好的程序 [7.4]--硬盘的构造和工作原理_ev.mp4
[23.2 MB] [7.3]--跳转指令_ev.mp4
[16.7 MB] [7.1]--8086加电或者复位时的状态_ev.mp4
[24.5 MB] [7.5]--一切从主引导扇区开始_ev.mp4
[22.7 MB] [7.2]--8086地址空间的分配_ev.mp4
[32.4 MB] 📁 📁 {20}--中断和动态时钟显示 [20.6]--安装0x70号中断处理过程_ev.mp4
[41.3 MB] [20.15]--使用BIOS功能调用接收并显示键盘输入_ev.mp4
[40.3 MB] [20.7]--启用更新周期结束中断_ev.mp4
[33.2 MB] [20.13]--内部中断和软中断_ev.mp4
[31.8 MB] [20.5]--实时时钟芯片的中断信号_ev.mp4
[49.0 MB] [20.2]--中断控制器简介_ev.mp4
[17.5 MB] 解密密码.pdf
[322.6 KB] [20.8]--用TEST指令等待更新周期结束_ev.mp4
[35.7 MB] 配套资料.7z [1.4 MB] [20.12]--用停机指令HLT使处理器进入低功耗状态_ev.mp4
[46.8 MB] [20.11]--使用IRET指令从中断过程返回_ev.mp4
[10.9 MB] [20.9]--读取BCD码的时间并在屏幕上显示_ev.mp4
[37.2 MB] [20.10]--用NOT指令反转时间分隔符的颜色_ev.mp4
[18.3 MB] [20.4]--实时时钟、CMOSRAM和BCD编码_ev.mp4
[33.5 MB] [20.14]--BIOS中断概述_ev.mp4
[62.8 MB] 购买必看.7z [1.4 MB] [20.3]--中断号、中断处理过程和中断向量表_ev.mp4
[44.7 MB] [20.16]--原书第9章检测点和习题解析_ev.mp4
[13.5 MB] [20.1]--中断和硬件中断_ev.mp4
[15.3 MB] 📁 📁 {12}--在屏幕上显示数字 [12.4]--异或指令xor的用法_ev.mp4
[60.7 MB] [12.7]--段超越前缀的使用_ev.mp4
[41.6 MB] [12.6]--使用标号访问内存数据_ev.mp4
[23.5 MB] [12.1]--显示数字的基本原理_ev.mp4
[23.1 MB] [12.8]--显示标号的汇编地址_ev.mp4
[42.1 MB] [12.5]--加法指令add的用法_ev.mp4
[30.2 MB] [12.2]--无符号数除法指令div_ev.mp4
[47.8 MB] [12.3]--在调试器里验证除法操作_ev.mp4
[20.9 MB] 📁 📁 {21}--32位x86处理器编程架构 解密密码.pdf
[322.6 KB] 购买必看.7z [1.4 MB] [21.5]--选修-流水线技术_ev.mp4
[14.7 MB] 配套资料.7z [1.4 MB] [21.6]--选修-高速缓存技术_ev.mp4
[11.2 MB] [21.8]--选修-寄存器重命名技术_ev.mp4
[30.6 MB] [21.1]--IA-32架构和保护模式_ev.mp4
[41.2 MB] [21.3]--32位处理器的内存访问概况_ev.mp4
[28.0 MB] [21.9]--选修-分支目标预测技术_ev.mp4
[24.5 MB] [21.7]--选修-乱序执行技术_ev.mp4
[28.9 MB] [21.2]--寄存器的扩展和扩充_ev.mp4
[24.3 MB] [21.4]--32位处理器的寻址方式概况_ev.mp4
[44.4 MB] 视频辅助文档.rar [19.5 MB] x86汇编语言-从实模式到保护模式.文字版.pdf
[33.9 MB] 视频源码和工具.rar [3.0 MB] x86汇编语言:从实模式到保护模式(第2版).pdf
[7.9 MB] X86从实模式到保护模式 源代码.pdf
[1.1 MB] 配套资料.7z [1.4 MB] 解密密码.pdf
[322.6 KB] 购买必看.7z [1.4 MB] 适合人群 计算机体系结构爱好者 操作系统开发者 底层编程人员 学习收获 掌握汇编语言编程 理解操作系统核心机制 提升计算机体系结构认知 祝您学习愉快! 学有所成,前程似锦!





