X86汇编语言深入解析 从实模式到保护模式 汇编保护模式程序设计实战

  课程介绍

本课程为X86汇编语言的深入学习课程,全面覆盖了从8086实模式到32位保护模式的编程过程。课程从基础的汇编语言知识讲起,逐步深入到计算机内部运作机制,包括计算机负数表示、指令集解析、硬件访问控制等核心内容。通过详细讲解X86处理器的寻址方式、内存管理、任务切换以及保护模式程序的动态加载,学员将掌握如何编写高效、安全的低级程序。同时,课程还涉及多任务处理、特权级保护以及中断异常处理等高级话题,确保学员在学习过程中能够理解并实践现代操作系统的核心概念。此课程特别适合对系统底层编程有兴趣的学员,帮助你深入了解计算机硬件与操作系统的核心原理,并提升编程能力。

  课程目录

(1)\1 课程说明;目录中文件数:1个

├─课程说明.mp4

(2)\10 循环 批量传送和条件转移;目录中文件数:8个

├─1 跳过非指令的数据区.mp4

├─2 逻辑段地址的重新设定.mp4

├─3 串传送指令和标志寄存器.mp4

├─4 NASM的$和$$记号.mp4

├─5 使用循环指令LOOP分解数位.mp4

├─6 基址寻址和INC指令.mp4

├─7 数字的显示和DEC指令.mp4

├─8 基址变址寻址和条件转移指令.mp4

(3)\11 计算机中的负数;目录中文件数:4个

├─1 无符号数和有符号数.mp4

├─2 减法指令SUB和求补指令NEG.mp4

├─3 计算机如何区分对待无符号数和有符号数.mp4

├─4 有符号数除法指令IDIV.mp4

(4)\12 阶段性知识总结和拓展;目录中文件数:3个

├─1 阶段性重点内容总结.mp4

├─2 8086的标志寄存器.mp4

├─3 条件转移指令和CMP指令.mp4

(5)\13 从1加到100并显示结果;目录中文件数:5个

├─1 字符串的定义和累加过程.mp4

├─3 栈在数位分解和显示中的应用.mp4

├─4 在调试器里观察栈操作的状态.mp4

├─5 进一步认识栈和栈操作的特点.mp4

├─6 逻辑或指令OR和逻辑与指令AND.mp4

(6)\14 INTEL8086处理器的寻址方式;目录中文件数:4个

├─1 寄存器 立即数和直接寻址.mp4

├─2 基址寻址.mp4

├─3 变址寻址.mp4

├─4 基址变址寻址.mp4

(7)\15 硬盘和显卡的访问与控制;目录中文件数:26个

├─1 离开主引导扇区.mp4

├─10 过程和过程调用.mp4

├─11 过程调用和返回的原理.mp4

├─12 加载整个用户程序.mp4

├─13 用户程序的重定位.mp4

├─14 比特位的移动指令.mp4

├─15 转到用户程序内部执行.mp4

├─16 8086的无条件转移指令.mp4

├─17 用户程序的执行过程.mp4

├─18 验证加载器加载和执行用户程序的过程.mp4

├─19 书中第八章用户程序概述.mp4

├─2 给汇编语言程序分段.mp4

├─20 与文本显示有关的回车 换行与光标控制.mp4

├─21 回车的光标处理和乘法指令MUL.mp4

├─22 换行和普通字符的处理过程与滚屏操作.mp4

├─23 8086的过程调用方式.mp4

├─24 通过RETF指令转到另一个代码段内执行.mp4

├─25 在程序中访问不同的数据段.mp4

├─26 使用新版FixVhdWr写虚拟硬盘并运行程序.mp4

├─3 控制段内元素的汇编地址.mp4

├─4 加载器和用户程序头部段.mp4

├─5 加载器的工作流程和常数声明.mp4

├─6 确定用户程序的加载位置.mp4

├─7 外围设备及其接口.mp4

├─8 输入输出端口的访问.mp4

├─9 通过硬盘控制器端口读扇区数据.mp4

(8)\16 中断和动态时钟显示;目录中文件数:15个

├─1 中断和硬件中断.mp4

├─10 用NOT指令反转时间分隔符的颜色.mp4

├─11 使用IRET指令从中断过程返回.mp4

├─12 用停机指令HLT使处理器进入低功耗状态.mp4

├─13 内部中断和软中断.mp4

├─14 BIOS中断概述.mp4

├─15 使用BIOS功能调用接收并显示键盘输入.mp4

├─2 中断控制器简介.mp4

├─3 中断号 中断处理过程和中断向量表.mp4

├─4 实时时钟 CMOSRAM和BCD编码.mp4

├─5 实时时钟芯片的中断信号.mp4

├─6 安装0x70号中断处理过程.mp4

├─7 启用更新周期结束中断.mp4

├─8 用TEST指令等待更新周期结束.mp4

├─9 读取BCD码的时间并在屏幕上显示.mp4

(9)\17 32位x86处理器编程架构;目录中文件数:9个

├─1 IA-32架构和保护模式.mp4

├─2 寄存器的扩展和扩充.mp4

├─3 32位处理器的内存访问概况.mp4

├─4 32位处理器的寻址方式概况..mp4

├─5 流水线技术.mp4

├─6 高速缓存技术.mp4

├─7 乱序执行技术.mp4

├─8 寄存器重命名技术.mp4

├─9 分支目标预测技术..mp4

(10)\18 进入保护模式;目录中文件数:12个

├─1 保护模式是要保护什么.mp4

├─10 通过设置寄存器CR0的PE位进入保护模式.mp4

├─11 描述符高速缓存器和保护模式下的内存访问.mp4

├─12 在调试器中观察实模式和保护模式的内存访问.mp4

├─2 全局描述符表GDT和全局描述符表寄存器GDTR.mp4

├─3 准备创建全局描述符表.mp4

├─4 描述符的分类.mp4

├─5 存储器的段描述符-段的类型和基地址.mp4

├─6 存储器的段描述符-段界限及访问控制位.mp4

├─7 安装存储器的段描述符.mp4

├─8 加载全局描述符表寄存器GDTR.mp4

├─9 开启处理器的第21根地址线A20.mp4

(11)\19 指令的格式及其操作尺寸;目录中文件数:11个

├─1 80286的16位保护模式.mp4

├─10 描述符和段描述符高速缓存器的D位.mp4

├─11 进入保护模式后立即切换到32位模块并使用32位默认操作尺寸.mp4

├─2 16位处理器的指令操作尺寸.mp4

├─3 32位处理器的指令操作尺寸.mp4

├─4 x86的指令格式-操作码和立即数部分.mp4

├─5 x86的指令格式-ModRM和偏移量部分.mp4

├─6 x86的指令格式-SIB部分.mp4

├─7 x86的指令格式-指令前缀部分.mp4

├─8 处理器的默认操作尺寸和相关指令前缀.mp4

├─9 用伪指令bits生成16位和32位模块.mp4

(12)\2 汇编语言的前世今生;目录中文件数:11个

├─1 引子.mp4

├─10 处理器.mp4

├─11 汇编语言的诞生.mp4

├─2 用电来表示数字.mp4

├─3 二进制加法机.mp4

├─4 具有记忆功能的器件-寄存器.mp4

├─5 带寄存器的加法机.mp4

├─6 能做四则运算的机器.mp4

├─7 机器指令.mp4

├─8 内存.mp4

├─9 自动计算.mp4

(13)\20 存储器的保护;目录中文件数:13个

├─1 话说MOVDS,AX和MOVDS,EAX.mp4

├─10 通过别名来实现段的共用和共享.mp4

├─11 冒泡排序法的基本原理.mp4

├─12 32位操作尺寸下的LOOP指令.mp4

├─13 数据交换指令XCHG.mp4

├─2 修改段寄存器时的保护.mp4

├─3 代码段执行时的保护.mp4

├─4 用向上扩展的段做为栈段.mp4

├─5 向上扩展的段用做栈段时的保护.mp4

├─6 访问普通数据段时的保护.mp4

├─7 内存线性地址的回绕特性.mp4

├─8 用向下扩展的段做为栈段.mp4

├─9 向下扩展的段用做栈段时的保护.mp4

(14)\21 保护模式程序的动态加载和执行;目录中文件数:20个

├─1 本章的目标和内容提要.mp4

├─10 条件传送指令簇CMOVcc.mp4

├─11 计算以512字节为单位的用户程序总长度.mp4

├─12 内存分配的基本策略和方法.mp4

├─13 内存分配的简易实现过程.mp4

├─14 加载用户程序.mp4

├─15 准备安装用户程序的段描述符.mp4

├─16 用SGDT和MOVZX指令确定GDT的位置.mp4

├─17 安装新描述符并生成选择子.mp4

├─18 安装用户程序的段描述符并回填选择子.mp4

├─19 用户程序的执行和退出.mp4

├─2 内核的结构和加载前的准备工作.mp4

├─20 在虚拟机上观察内核的加载以及用户程序的执行与退出.mp4

├─3 准备为内核的每个段创建和安装描述符.mp4

├─4 段描述符的创建和BSWAP指令.mp4

├─5 进入内核执行.mp4

├─6 进入内核后显示文本信息.mp4

├─7 用CPUID指令取得处理器品牌信息并显示.mp4

├─8 准备加载用户程序.mp4

├─9 预读用户程序并得到它的大小.mp4

(15)\22 用户程序编程接口及其实现;目录中文件数:11个

├─1 内核与用户程序之间的栈切换问题.mp4

├─10 在虚拟机上验证程序的执行.mp4

├─11 以十六进制形式显示一个双字以及PUSHAD POPAD和XLAT.mp4

├─2 在内核中为用户程序提供编程支持.mp4

├─3 用户程序中的符号地址检索表.mp4

├─4 内核程序中的符号地址检索表.mp4

├─5 串比较指令CMPS.mp4

├─6 串比较的方向和重复前缀.mp4

├─7 使用外循环依次取得用户SALT表的每个条目.mp4

├─8 使用内循环依次取得内核SALT表的每个条目并进行比较.mp4

├─9 在用户程序内使用内核编程接口读硬盘和显示文本.mp4

(16)\23 任务和任务的创建;目录中文件数:13个

├─1 任务概念和组成.mp4

├─10 TSS描述符的格式和TSS描述符的创建.mp4

├─11 用带参数的RET指令返回调用者.mp4

├─12 加载任务寄存器TR和局部描述符表寄存器LDTR.mp4

├─13 在虚拟机上验证任务的执行.mp4

├─2 使用任务控制块保存任务基本信息.mp4

├─3 将任务控制块加入任务控制块链表.mp4

├─4 通过栈传递例程参数以及立即数的压栈指令.mp4

├─5 段寄存器的压栈和出栈以及栈的随机访问机制.mp4

├─6 创建任务的局部描述符表LDT.mp4

├─7 在当前任务的LDT中安装描述符.mp4

├─8 LDT描述符的格式和LDT描述符的创建.mp4

  后续省略上百条目录

资源下载
下载价格39 猫币
VIP免费
客服QQ:765807314
0

评论0

请先

没有账号?注册  忘记密码?