X86汇编语言-实模式到保护模式

课程概述
汇编语言教材《x86汇编语言:从实模式到保护模式》的作者亲自授课,以本书为蓝本加以拓展和细化,并附有原书课后习题的解析。不需要过多的基础即可听懂!
本课程共约300课时,最多半年内更新完毕,每周内至少更新5个课时。在校学生可凭学生证件,享受8折优惠(已购买的除外)。
推荐使用支付宝、微信、银行卡方式支付。购买后在个人电脑(PC)或移动设备(手机、平板电脑等)上均可观看。

适用人群
了解数制,懂得二进制、十六进制,能够在二进制、十进制和十六进制之间换算,具有计算机的使用经验。

课程目录
├──1 课程说明
| └──课程说明.mp4 129.74M
├──2 汇编语言的前世今生
| ├──1 引子.mp4 8.53M
| ├──10 处理器.mp4 22.41M
| ├──11 汇编语言的诞生.mp4 24.45M
| ├──2 用电来表示数字.mp4 12.29M
| ├──3 二进制加法机.mp4 10.22M
| ├──4 具有记忆功能的器件-寄存器.mp4 15.14M
| ├──5 带寄存器的加法机.mp4 12.53M
| ├──6 能做四则运算的机器.mp4 14.99M
| ├──7 机器指令.mp4 77.18M
| ├──8 内存.mp4 267.03M
| └──9 自动计算.mp4 34.58M
├──3 认识8086处理器
| ├──1 8086的通用寄存器.mp4 26.51M
| ├──2 8086的内存访问和字节序.mp4 14.72M
| ├──3 程序的分段.mp4 12.78M
| ├──4 程序的重定位难题.mp4 16.08M
| ├──5 段地址和偏移地址.mp4 14.90M
| ├──6 8086内存访问的困境.mp4 13.21M
| ├──7 8086选择段地址的策略.mp4 27.92M
| ├──8 8086的内存访问过程.mp4 15.89M
| └──9 逻辑地址和分段的灵活性.mp4 28.48M
├──4 汇编语言和汇编软件
| ├──1 创建汇编语言源程序.mp4 29.30M
| ├──2 Notepad++的下载和使用.mp4 27.06M
| ├──3 下载和安装编译器NASM.mp4 62.56M
| ├──4 编译汇编语言源程序.mp4 39.38M
| ├──5 下载和使用配套源码及工具.mp4 60.46M
| └──6 将编译功能集成到Notepad++.mp4 22.97M
├──5 如何执行编译好的程序
| ├──1 8086加电或者复位时的状态.mp4 28.71M
| ├──2 8086地址空间的分配.mp4 38.61M
| ├──3 跳转指令.mp4 19.16M
| ├──4 硬盘的构造和工作原理.mp4 26.87M
| └──5 一切从主引导扇区开始.mp4 83.11M
├──6 虚拟机的安装和使用
| ├──1 安装VirtualBox虚拟机管理器.mp4 125.98M
| ├──2 创建VirtualBox虚拟机.mp4 312.55M
| ├──3 虚拟硬盘简介.mp4 175.47M
| ├──4 在Windows下创建虚拟硬盘并安装操作系统.mp4 303.92M
| └──5 在Linux下创建虚拟硬盘并安装操作系统.mp4 26.09M
├──7 汇编语言程序的调试
| ├──1 带调试功能的虚拟机.mp4 24.18M
| ├──2 安装Bochs虚拟机.mp4 41.95M
| ├──3 为Bochs虚拟机安装虚拟硬盘.mp4 58.72M
| ├──4 创建主引导扇区程序.mp4 40.33M
| ├──5 将程序写入硬盘主引导扇区.mp4 335.87M
| └──6 用调试器观察程序的执行.mp4 165.04M
├──8 在屏幕上显示文本
| ├──1 显卡和显存.mp4 156.42M
| ├──10 在VirtualBox中运行写屏程序.mp4 32.11M
| ├──11 主引导扇区执行时的内存布局.mp4 200.46M
| ├──12 使用标号计算跳转的偏移地址.mp4 37.33M
| ├──13 使用寄存器的绝对间接近跳转.mp4 42.91M
| ├──14 使用相对偏移量的短跳转和近跳转.mp4 60.66M
| ├──2 准备访问文本模式下的显存.mp4 31.19M
| ├──3 字符的编码和显示属性.mp4 44.11M
| ├──4 文本模式下的显存操作.mp4 31.76M
| ├──5 MOV指令的形式和机器码.mp4 70.80M
| ├──6 列表文件的创建和使用.mp4 50.54M
| ├──7 在汇编程序中使用标号.mp4 32.04M
| ├──8 段间直接绝对跳转指令.mp4 26.12M
| └──9 在Bochs中运行和调试写屏程序.mp4 500.04M
├──9 在屏幕上显示数字
| ├──1 显示数字的基本原理.mp4 31.05M
| ├──2 无符号数除法指令div.mp4 54.11M
| ├──3 在调试器里验证除法操作.mp4 24.99M
| ├──4 异或指令xor的用法.mp4 283.14M
| ├──5 加法指令add的用法.mp4 31.77M
| ├──6 使用标号访问内存数据.mp4 42.12M
| ├──7 段超越前缀的使用.mp4 50.10M
| └──8 显示标号的汇编地址.mp4 128.18M
├──10 循环 批量传送和条件转移
| ├──1 跳过非指令的数据区.mp4 36.83M
| ├──2 逻辑段地址的重新设定.mp4 13.59M
| ├──3 串传送指令和标志寄存器.mp4 77.84M
| ├──4 NASM的$和$$记号.mp4 43.88M
| ├──5 使用循环指令LOOP分解数位.mp4 71.73M
| ├──6 基址寻址和INC指令.mp4 158.36M
| ├──7 数字的显示和DEC指令.mp4 35.02M
| └──8 基址变址寻址和条件转移指令.mp4 64.36M
├──11 计算机中的负数
| ├──1 无符号数和有符号数.mp4 59.90M
| ├──2 减法指令SUB和求补指令NEG.mp4 319.62M
| ├──3 计算机如何区分对待无符号数和有符号数.mp4 209.34M
| ├──4 有符号数除法指令IDIV.mp4 231.08M
| └──5 有符号数的符号扩展指令.mp4 295.72M
├──12 阶段性知识总结和拓展
| ├──1 阶段性重点内容总结.mp4 54.20M
| ├──2 8086的标志寄存器.mp4 102.85M
| └──3 条件转移指令和CMP指令.mp4 209.10M
├──13 从1加到100并显示结果
| ├──1 字符串的定义和累加过程.mp4 72.00M
| ├──2 栈的原理和使用.mp4 483.31M
| ├──3 栈在数位分解和显示中的应用.mp4 27.22M
| ├──4 在调试器里观察栈操作的状态.mp4 154.81M
| ├──5 进一步认识栈和栈操作的特点.mp4 32.69M
| └──6 逻辑或指令OR和逻辑与指令AND.mp4 357.70M
├──14 INTEL8086处理器的寻址方式
| ├──1 寄存器 立即数和直接寻址.mp4 43.36M
| ├──2 基址寻址.mp4 76.67M
| ├──3 变址寻址.mp4 122.05M
| └──4 基址变址寻址.mp4 50.20M
├──15 硬盘和显卡的访问与控制
| ├──1 离开主引导扇区.mp4 58.23M
| ├──10 过程和过程调用.mp4 49.71M
| ├──11 过程调用和返回的原理.mp4 31.86M
| ├──12 加载整个用户程序.mp4 30.23M
| ├──13 用户程序的重定位.mp4 27.38M
| ├──14 比特位的移动指令.mp4 85.03M
| ├──15 转到用户程序内部执行.mp4 30.66M
| ├──16 8086的无条件转移指令.mp4 287.12M
| ├──17 用户程序的执行过程.mp4 47.42M
| ├──18 验证加载器加载和执行用户程序的过程.mp4 55.50M
| ├──19 书中第八章用户程序概述.mp4 26.91M
| ├──2 给汇编语言程序分段.mp4 54.79M
| ├──20 与文本显示有关的回车 换行与光标控制.mp4 53.89M
| ├──21 回车的光标处理和乘法指令MUL.mp4 437.41M
| ├──22 换行和普通字符的处理过程与滚屏操作.mp4 133.37M
| ├──23 8086的过程调用方式.mp4 63.92M
| ├──24 通过RETF指令转到另一个代码段内执行.mp4 36.37M
| ├──25 在程序中访问不同的数据段.mp4 20.62M
| ├──26 使用新版FixVhdWr写虚拟硬盘并运行程序.mp4 375.40M
| ├──3 控制段内元素的汇编地址.mp4 90.37M
| ├──4 加载器和用户程序头部段.mp4 44.01M
| ├──5 加载器的工作流程和常数声明.mp4 72.43M
| ├──6 确定用户程序的加载位置.mp4 45.40M
| ├──7 外围设备及其接口.mp4 45.34M
| ├──8 输入输出端口的访问.mp4 36.50M
| └──9 通过硬盘控制器端口读扇区数据.mp4 59.06M
├──16 中断和动态时钟显示
| ├──1 中断和硬件中断.mp4 17.05M
| ├──10 用NOT指令反转时间分隔符的颜色.mp4 19.82M
| ├──11 使用IRET指令从中断过程返回.mp4 13.64M
| ├──12 用停机指令HLT使处理器进入低功耗状态.mp4 54.57M
| ├──13 内部中断和软中断.mp4 35.05M
| ├──14 BIOS中断概述.mp4 66.26M
| ├──15 使用BIOS功能调用接收并显示键盘输入.mp4 212.18M
| ├──2 中断控制器简介.mp4 20.55M
| ├──3 中断号 中断处理过程和中断向量表.mp4 267.54M
| ├──4 实时时钟 CMOSRAM和BCD编码.mp4 151.17M
| ├──5 实时时钟芯片的中断信号.mp4 54.86M
| ├──6 安装0x70号中断处理过程.mp4 127.27M
| ├──7 启用更新周期结束中断.mp4 40.05M
| ├──8 用TEST指令等待更新周期结束.mp4 170.83M
| └──9 读取BCD码的时间并在屏幕上显示.mp4 198.68M
├──17 32位x86处理器编程架构
| ├──1 IA-32架构和保护模式.mp4 45.09M
| ├──2 寄存器的扩展和扩充.mp4 126.81M
| ├──3 32位处理器的内存访问概况.mp4 30.02M
| ├──4 32位处理器的寻址方式概况.mp4 119.27M
| ├──5 流水线技术.mp4 16.48M
| ├──6 高速缓存技术.mp4 20.66M
| ├──7 乱序执行技术.mp4 37.17M
| ├──8 寄存器重命名技术.mp4 110.58M
| └──9 分支目标预测技术.mp4 86.76M
├──18 进入保护模式
| ├──1 保护模式是要保护什么.mp4 28.71M
| ├──10 通过设置寄存器CR0的PE位进入保护模式.mp4 36.61M
| ├──11 描述符高速缓存器和保护模式下的内存访问.mp4 30.31M
| ├──12 在调试器中观察实模式和保护模式的内存访问.mp4 74.95M
| ├──2 全局描述符表GDT和全局描述符表寄存器GDTR.mp4 17.93M
| ├──3 准备创建全局描述符表.mp4 20.38M
| ├──4 描述符的分类.mp4 75.69M
| ├──5 存储器的段描述符-段的类型和基地址.mp4 19.72M
| ├──6 存储器的段描述符-段界限及访问控制位.mp4 25.76M
| ├──7 安装存储器的段描述符.mp4 21.21M
| ├──8 加载全局描述符表寄存器GDTR.mp4 19.44M
| └──9 开启处理器的第21根地址线A20.mp4 35.24M
├──19 指令的格式及其操作尺寸
| ├──1 80286的16位保护模式.mp4 25.19M
| ├──10 描述符和段描述符高速缓存器的D位.mp4 38.60M
| ├──11 进入保护模式后立即切换到32位模块并使用32位默认操作尺寸.mp4 57.07M
| ├──2 16位处理器的指令操作尺寸.mp4 16.03M
| ├──3 32位处理器的指令操作尺寸.mp4 53.69M
| ├──4 x86的指令格式-操作码和立即数部分.mp4 329.97M
| ├──5 x86的指令格式-ModRM和偏移量部分.mp4 106.34M
| ├──6 x86的指令格式-SIB部分.mp4 188.27M
| ├──7 x86的指令格式-指令前缀部分.mp4 8.57M
| ├──8 处理器的默认操作尺寸和相关指令前缀.mp4 82.00M
| └──9 用伪指令bits生成16位和32位模块.mp4 21.39M
├──20 存储器的保护
| ├──1 话说MOVDS,AX和MOVDS,EAX.mp4 52.23M
| ├──10 通过别名来实现段的共用和共享.mp4 38.67M
| ├──11 冒泡排序法的基本原理.mp4 36.86M
| ├──12 32位操作尺寸下的LOOP指令.mp4 30.93M
| ├──13 数据交换指令XCHG.mp4 45.45M
| ├──2 修改段寄存器时的保护.mp4 40.86M
| ├──3 代码段执行时的保护.mp4 17.85M
| ├──4 用向上扩展的段做为栈段.mp4 26.47M
| ├──5 向上扩展的段用做栈段时的保护.mp4 15.53M
| ├──6 访问普通数据段时的保护.mp4 17.16M
| ├──7 内存线性地址的回绕特性.mp4 24.21M
| ├──8 用向下扩展的段做为栈段.mp4 24.91M
| └──9 向下扩展的段用做栈段时的保护.mp4 27.59M
├──21 保护模式程序的动态加载和执行
| ├──1 本章的目标和内容提要.mp4 17.81M
| ├──10 条件传送指令簇CMOVcc.mp4 57.47M
| ├──11 计算以512字节为单位的用户程序总长度.mp4 16.19M
| ├──12 内存分配的基本策略和方法.mp4 29.82M
| ├──13 内存分配的简易实现过程.mp4 43.55M
| ├──14 加载用户程序.mp4 23.37M
| ├──15 准备安装用户程序的段描述符.mp4 20.70M
| ├──16 用SGDT和MOVZX指令确定GDT的位置.mp4 75.66M
| ├──17 安装新描述符并生成选择子.mp4 16.17M
| ├──18 安装用户程序的段描述符并回填选择子.mp4 55.51M
| ├──19 用户程序的执行和退出.mp4 45.20M
| ├──2 内核的结构和加载前的准备工作.mp4 71.17M
| ├──20 在虚拟机上观察内核的加载以及用户程序的执行与退出.mp4 25.80M
| ├──3 准备为内核的每个段创建和安装描述符.mp4 36.42M
| ├──4 段描述符的创建和BSWAP指令.mp4 39.95M
| ├──5 进入内核执行.mp4 34.56M
| ├──6 进入内核后显示文本信息.mp4 30.74M
| ├──7 用CPUID指令取得处理器品牌信息并显示.mp4 57.85M
| ├──8 准备加载用户程序.mp4 37.87M
| └──9 预读用户程序并得到它的大小.mp4 18.27M
├──22 用户程序编程接口及其实现
| ├──1 内核与用户程序之间的栈切换问题.mp4 87.59M
| ├──10 在虚拟机上验证程序的执行.mp4 18.10M
| ├──11 以十六进制形式显示一个双字以及PUSHAD POPAD和XLAT.mp4 58.03M
| ├──2 在内核中为用户程序提供编程支持.mp4 72.19M
| ├──3 用户程序中的符号地址检索表.mp4 37.36M
| ├──4 内核程序中的符号地址检索表.mp4 74.16M
| ├──5 串比较指令CMPS.mp4 121.03M
| ├──6 串比较的方向和重复前缀.mp4 90.26M
| ├──7 使用外循环依次取得用户SALT表的每个条目.mp4 17.52M
| ├──8 使用内循环依次取得内核SALT表的每个条目并进行比较.mp4 54.94M
| └──9 在用户程序内使用内核编程接口读硬盘和显示文本.mp4 30.36M
├──23 任务和任务的创建
| ├──1 任务概念和组成.mp4 11.97M
| ├──10 TSS描述符的格式和TSS描述符的创建.mp4 16.02M
| ├──11 用带参数的RET指令返回调用者.mp4 30.20M
| ├──12 加载任务寄存器TR和局部描述符表寄存器LDTR.mp4 45.93M
| ├──13 在虚拟机上验证任务的执行.mp4 58.28M
| ├──2 使用任务控制块保存任务基本信息.mp4 157.58M
| ├──3 将任务控制块加入任务控制块链表.mp4 34.69M
| ├──4 通过栈传递例程参数以及立即数的压栈指令.mp4 68.27M
| ├──5 段寄存器的压栈和出栈以及栈的随机访问机制.mp4 20.80M
| ├──6 创建任务的局部描述符表LDT.mp4 27.18M
| ├──7 在当前任务的LDT中安装描述符.mp4 35.46M
| ├──8 LDT描述符的格式和LDT描述符的创建.mp4 109.61M
| └──9 创建任务状态段TSS.mp4 18.67M
├──24 特权级和特权级保护
| ├──1 特权级保护的必要性和特权保护机制.mp4 32.44M
| ├──10 一般情况下的请求特权级设置.mp4 21.24M
| ├──11 为内核接口例程创建调用门.mp4 187.26M
| ├──12 调用门的测试和调用门转移过程.mp4 37.41M
| ├──13 通过调用门实施低特权级到高特权级的转移.mp4 132.68M
| ├──14 通过调用门转移控制时的栈切换过程.mp4 19.22M
| ├──15 通过调用门转移控制并返回的完整描述.mp4 170.97M
| ├──16 创建0 1和2特权级的栈并登记在TSS中.mp4 74.87M
| ├──17 通过模拟调用门返回进入用户程序执行.mp4 174.96M
| ├──2 当前特权级CPL.mp4 12.31M
| ├──3 描述符特权级DPL.mp4 31.78M
| ├──4 任务公共部分和私有部分的特权级划分.mp4 57.37M
| ├──5 依从的代码段.mp4 10.31M
| ├──6 门描述符和调用门.mp4 28.08M
| ├──7 本章程序说明及特权级检查的时机.mp4 57.28M
| ├──8 请求特权级RPL.mp4 52.17M
| └──9 请求特权级调整指令ARPL.mp4 40.49M
├──25 协同式任务切换
| ├──1 多任务和任务切换概述.mp4 28.93M
| ├──10 通过JMPFAR执行任务切换的过程.mp4 31.32M
| ├──11 内核任务与用户任务轮流执行的过程.mp4 53.14M
| ├──12 任务的终止和清理.mp4 42.26M
| ├──2 内核任务的创建和IO特权级IOPL.mp4 77.99M
| ├──3 IO特权级的修改和POPF指令.mp4 17.04M
| ├──4 任务的用户态和内核态.mp4 19.87M
| ├──5 IO许可位串和TSS的IO许可位映射区.mp4 28.33M
| ├──6 任务切换的方法及内核任务的确立.mp4 38.16M
| ├──7 用户任务的创建和初始化.mp4 225.55M
| ├──8 简单的任务调度和切换策略.mp4 23.27M
| └──9 遍历TCB链表寻找忙任务和就绪任务.mp4 29.35M
├──26 中断和异常的处理与抢占式多任务
| ├──1 中断和异常概述.mp4 32.21M
| ├──10 中断和异常发生时的栈切换过程.mp4 54.61M
| ├──11 在中断处理过程中实施任务切换(含NOP指令的介绍).mp4 66.03M
| ├──12 抢占式多任务的执行效果演示.mp4 40.80M
| ├──2 保护模式下中断和异常的向量分配.mp4 27.84M
| ├──3 中断描述符表 中断门和陷阱门.mp4 70.25M
| ├──4 本章程序介绍.mp4 214.10M
| ├──5 创建并安装全部的256个中断门.mp4 53.91M
| ├──6 为实时时钟中断创建和安装中断门.mp4 23.24M
| ├──7 加载中断描述符表寄存器IDTR.mp4 35.24M
| ├──8 重新设置8259A主片的中断向量.mp4 41.85M
| └──9 中断和异常发生时的特权级检查.mp4 14.29M
├──27 分页和动态页面分配
| ├──1 保护模式下的段式虚拟内存管理.mp4 31.42M
| ├──10 设置控制寄存器CR3和CR0开启分页功能.mp4 15.53M
| ├──11 在调试器中观察页目录表和页表.mp4 59.46M
| ├──12 准备将内核映射到虚拟内存的高端.mp4 30.08M
| ├──13 在分页机制下访问页目录表自身.mp4 23.28M
| ├──14 使内核在虚拟内存高端的映射生效.mp4 32.24M
| ├──15 为内核任务创建任务控制块TCB.mp4 35.81M
| ├──16 为内核任务的TSS分配内存空间.mp4 76.11M
| ├──17 处理与线性地址对应的页目录项和页表项.mp4 30.74M
| ├──18 根据需要分配物理页并设置页表项.mp4 19.79M
| ├──19 物理内存的页面管理和页映射位串.mp4 33.58M
| ├──2 每个任务独立的虚拟内存.mp4 16.61M
| ├──20 空闲页的搜索和BTS指令.mp4 19.07M
| ├──21 空闲页搜索和分配的具体过程.mp4 23.67M
| ├──22 确立内核任务并开始创建用户任务.mp4 91.92M
| ├──23 用户任务的内存分配策略.mp4 30.79M
| ├──24 清空内核任务页目录表的前半部分并刷新TLB.mp4 53.18M
| ├──25 为用户任务分配内存并创建LDT.mp4 38.83M
| ├──26 用户程序的加载和重定位.mp4 117.22M
| ├──27 用户任务页目录表的创建和访问以及INVLPG指令.mp4 49.52M
| ├──28 第二个用户任务的创建和分页模式下的任务切换.mp4 35.25M
| ├──29 分页模式下多任务切换的演示和调试.mp4 474.29M
| ├──3 物理内存的分页以及段到页的拆分.mp4 24.29M
| ├──4 处理器的段部件和页部件.mp4 24.22M
| ├──5 从线性地址到物理地址的转换过程.mp4 36.59M
| ├──6 页目录和页表及其地址转换过程.mp4 33.00M
| ├──7 设计内核的页目录和页表.mp4 112.68M
| ├──8 页目录项和页表项的组成格式.mp4 14.62M
| └──9 创建内核的页表并初始化低端1MB对应的页表项.mp4 21.07M
├──28 平坦模型
| ├──1 为什么要引入平坦模型及平坦模型的特点.mp4 28.83M
| ├──2 在主引导程序中创建平坦模型下的段.mp4 23.43M
| ├──3 平坦模型对内核程序分段的影响.mp4 48.57M
| ├──4 平坦模型对加载内核程序的影响.mp4 29.46M
| ├──5 平坦模型下的内核初始化与内核任务的确立.mp4 51.46M
| ├──6 平坦模型下的用户程序结构.mp4 118.73M
| ├──7 平坦模型下的用户任务创建.mp4 39.16M
| └──8 在用户任务内动态分配内存.mp4 52.68M
├──习题解析
| ├──第2章.mp4 23.93M
| ├──第3章.mp4 15.43M
| ├──第4章.mp4 9.07M
| ├──第5章.mp4 95.73M
| ├──第6章.mp4 60.84M
| ├──第7章.mp4 16.62M
| ├──第8章.mp4 31.67M
| └──第9章.mp4 16.60M
├──视频辅助文档.rar 19.52M
└──视频源码和工具.rar 3.02M

资源下载此资源下载价格为10猫币,请先
下载价格:10 猫币
VIP优惠:免费
0
分享到:

评论0

请先

没有账号? 忘记密码?