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

从实模式到保护模式 X86汇编语言深入解析 汇编保护模式程序设计实战
下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
VIP开通会员,本资源免费下载立即开通
从实模式到保护模式 X86汇编语言深入解析 汇编保护模式程序设计实战

├── 01 课程说明
│ └── 课程说明
├── 02 汇编语言的前世今生
│ ├── 1 引子
│ ├── 2 用电来表示数字
│ ├── 3 二进制加法机
│ ├── 4 具有记忆功能的器件-寄存器
│ ├── 5 带寄存器的加法机
│ ├── 6 能做四则运算的机器
│ ├── 7 机器指令
│ ├── 8 内存
│ ├── 9 自动计算
│ ├── 10 处理器
│ └── 11 汇编语言的诞生
├── 03 认识8086处理器
│ ├── 1 8086的通用寄存器
│ ├── 2 8086的内存访问和字节序
│ ├── 3 程序的分段
│ ├── 4 程序的重定位难题
│ ├── 5 段地址和偏移地址
│ ├── 6 8086内存访问的困境
│ ├── 7 8086选择段地址的策略
│ ├── 8 8086的内存访问过程
│ └── 9 逻辑地址和分段的灵活性
├── 04 汇编语言和汇编软件
│ ├── 1 创建汇编语言源程序
│ ├── 2 Notepad++的下载和使用
│ ├── 3 下载和安装编译器NASM
│ ├── 4 编译汇编语言源程序
│ ├── 5 下载和使用配套源码及工具
│ └── 6 将编译功能集成到Notepad++
├── 05 如何执行编译好的程序
│ ├── 1 8086加电或者复位时的状态
│ ├── 2 8086地址空间的分配
│ ├── 3 跳转指令
│ ├── 4 硬盘的构造和工作原理
│ └── 5 一切从主引导扇区开始
├── 06 虚拟机的安装和使用
│ ├── 1 安装VirtualBox虚拟机管理器
│ ├── 2 创建VirtualBox虚拟机
│ ├── 3 虚拟硬盘简介
│ ├── 4 在Windows下创建虚拟硬盘并安装操作系统
│ └── 5 在Linux下创建虚拟硬盘并安装操作系统
├── 07 汇编语言程序的调试
│ ├── 1 带调试功能的虚拟机
│ ├── 2 安装Bochs虚拟机
│ ├── 3 为Bochs虚拟机安装虚拟硬盘
│ ├── 4 创建主引导扇区程序
│ ├── 5 将程序写入硬盘主引导扇区
│ └── 6 用调试器观察程序的执行
├── 08 在屏幕上显示文本
│ ├── 1 显卡和显存
│ ├── 2 准备访问文本模式下的显存
│ ├── 3 字符的编码和显示属性
│ ├── 4 文本模式下的显存操作
│ ├── 5 MOV指令的形式和机器码
│ ├── 6 列表文件的创建和使用
│ ├── 7 在汇编程序中使用标号
│ ├── 8 段间直接绝对跳转指令
│ ├── 9 在Bochs中运行和调试写屏程序
│ ├── 10 在VirtualBox中运行写屏程序
│ └── …
├── 09 在屏幕上显示数字
│ ├── 1 显示数字的基本原理
│ ├── 2 无符号数除法指令div
│ ├── 3 在调试器里验证除法操作
│ ├── 4 异或指令xor的用法
│ ├── 5 加法指令add的用法
│ ├── 6 使用标号访问内存数据
│ └── …
├── 10 循环、批量传送和条件转移
│ ├── 1 跳过非指令的数据区
│ ├── 2 逻辑段地址的重新设定
│ ├── 3 串传送指令和标志寄存器
│ ├── 4 NASM的$和$$记号
│ ├── 5 使用循环指令LOOP分解数位
│ ├── 6 基址寻址和INC指令
│ ├── 7 数字的显示和DEC指令
│ └── …
├── 11 计算机中的负数
│ ├── 1 无符号数和有符号数
│ ├── 2 减法指令SUB和求补指令NEG
│ ├── 3 计算机如何区分对待无符号数和有符号数
│ └── 4 有符号数除法指令IDIV
├── 12 阶段性知识总结和拓展
│ ├── 1 阶段性重点内容总结
│ ├── 2 8086的标志寄存器
│ └── 3 条件转移指令和CMP指令
├── 13 从1加到100并显示结果
│ ├── 1 字符串的定义和累加过程
│ ├── 3 栈在数位分解和显示中的应用
│ ├── 4 在调试器里观察栈操作的状态
│ ├── 5 进一步认识栈和栈操作的特点
│ └── 6 逻辑或指令OR和逻辑与指令AND
├── 14 INTEL8086处理器的寻址方式
│ ├── 1 寄存器、立即数和直接寻址
│ ├── 2 基址寻址
│ ├── 3 变址寻址
│ └── 4 基址变址寻址
├── 15 硬盘和显卡的访问与控制
│ ├── 1 离开主引导扇区
│ ├── 2 给汇编语言程序分段
│ ├── 3 控制段内元素的汇编地址
│ ├── 4 加载器和用户程序头部段
│ ├── 5 加载器的工作流程和常数声明
│ ├── 6 确定用户程序的加载位置
│ ├── …
│ ├── 24 通过RETF指令转到另一个代码段内执行
│ ├── 25 在程序中访问不同的数据段
│ └── 26 使用新版FixVhdWr写虚拟硬盘并运行程序
├── 16 中断和动态时钟显示
│ ├── 1 中断和硬件中断
│ ├── 2 中断控制器简介
│ ├── 3 中断号、中断处理过程和中断向量表
│ ├── 4 实时时钟 CMOSRAM和BCD编码
│ ├── 5 实时时钟芯片的中断信号
│ └── …
├── 17 32位x86处理器编程架构
│ ├── 1 IA-32架构和保护模式
│ ├── 2 寄存器的扩展和扩充
│ ├── 3 32位处理器的内存访问概况
│ ├── 4 32位处理器的寻址方式概况
│ ├── 5 流水线技术
│ ├── 6 高速缓存技术
│ ├── 7 乱序执行技术
│ ├── 8 寄存器重命名技术
│ └── 9 分支目标预测技术
├── 18 进入保护模式
│ ├── 1 保护模式是要保护什么
│ ├── 2 全局描述符表GDT和全局描述符表寄存器GDTR
│ ├── 3 准备创建全局描述符表
│ ├── 4 描述符的分类
│ ├── 5 存储器的段描述符-段的类型和基地址
│ ├── 6 存储器的段描述符-段界限及访问控制位
│ └── …
├── 19 指令的格式及其操作尺寸
│ ├── 1 80286的16位保护模式
│ ├── 2 16位处理器的指令操作尺寸
│ ├── 3 32位处理器的指令操作尺寸
│ ├── 4 x86的指令格式-操作码和立即数部分
│ ├── 5 x86的指令格式-ModRM和偏移量部分
│ └── …
├── 20 存储器的保护
│ ├── 1 话说MOVDS,AX和MOVDS,EAX
│ ├── 2 修改段寄存器时的保护
│ ├── 3 代码段执行时的保护
│ ├── 4 用向上扩展的段做为栈段
│ ├── …
│ └── 13 数据交换指令XCHG
├── 21 保护模式程序的动态加载和执行
│ ├── 1 本章的目标和内容提要
│ ├── 2 内核的结构和加载前的准备工作
│ ├── 3 准备为内核的每个段创建和安装描述符
│ ├── 4 段描述符的创建和BSWAP指令
│ ├── …
│ └── 20 在虚拟机上观察内核的加载以及用户程序的执行与退出
├── 22 用户程序编程接口及其实现
│ ├── 1 内核与用户程序之间的栈切换问题
│ ├── 2 在内核中为用户程序提供编程支持
│ ├── 3 用户程序中的符号地址检索表
│ ├── 4 内核程序中的符号地址检索表
│ ├── …
│ └── 11 以十六进制形式显示一个双字以及PUSHAD POPAD和XLAT
├── 23 任务和任务的创建
│ ├── 1 任务概念和组成
│ ├── 2 使用任务控制块保存任务基本信息
│ ├── 3 将任务控制块加入任务控制块链表
│ ├── 4 通过栈传递例程参数以及立即数的压栈指令
│ ├── …
│ └── 13 在虚拟机上验证任务的执行
├── 24 特权级和特权级保护
│ ├── 1 特权级保护的必要性和特权保护机制
│ ├── 2 当前特权级CPL
│ ├── 3 描述符特权级DPL
│ ├── 4 任务公共部分和私有部分的特权级划分
│ ├── …
│ └── 17 通过模拟调用门返回进入用户程序执行
├── 25 协同式任务切换
│ ├── 1 多任务和任务切换概述
│ ├── 2 内核任务的创建和IO特权级IOPL
│ ├── 3 IO特权级的修改和POPF指令
│ ├── 4 任务的用户态和内核态
│ ├── …
│ └── 12 任务的终止和清理
├── 26 中断和异常的处理与抢占式多任务
│ ├── 1 中断和异常概述
│ ├── 2 保护模式下中断和异常的向量分配
│ ├── 3 中断描述符表、中断门和陷阱门
│ ├── 4 本章程序介绍
│ ├── …
│ └── 12 抢占式多任务的执行效果演示
├── 27 分页和动态页面分配
│ ├── 1 保护模式下的段式虚拟内存管理
│ ├── 2 每个任务独立的虚拟内存
│ ├── 3 物理内存的分页以及段到页的拆分
│ ├── 4 处理器的段部件和页部件
│ ├── …
│ └── 29 分页模式下多任务切换的演示和调试
└── 28 平坦模型
└── 为什么要引入平坦模型及平坦模型的特点

今日签到
搜索