价格: 9 学币

分类: None

发布时间: 2022年2月21日 21:02

最近更新: 2022年2月23日 16:50

资源类型: VIP

章节1: 课程说明
课时1 视频 课程说明 17:45 可

章节2: 汇编语言的前世今生
课时2 视频 引子 03:39 可
课时3 视频 用电来表示数字 08:29 可
课时4 视频 二进制加法机 06:12 可
课时5 视频 具有记忆功能的器件——寄存器 08:56 可
课时6 视频 带寄存器的加法机 06:11 可
课时7 视频 能做四则运算的机器 07:50 可
课时8 视频 机器指令 24:12 可
课时9 视频 内存 18:09 可
课时10 视频 自动计算 18:25 可
课时11 视频 处理器 08:36 可
课时12 视频 汇编语言的诞生 10:06 可

章节3: 认识8086处理器
课时13 视频 8086的通用寄存器 14:50 可
课时14 视频 8086的内存访问和字节序 08:25 可
课时15 视频 程序的分段 08:27 可
课时16 视频 程序的重定位难题 10:15 可
课时17 视频 段地址和偏移地址 09:19 可
课时18 视频 8086内存访问的困境 05:37 可
课时19 视频 8086选择段地址的策略 07:58 可
课时20 视频 8086的内存访问过程 08:35 可
课时21 视频 逻辑地址和分段的灵活性 15:44

章节4: 原书第1版第2章检测点和习题解析
课时22 视频 原书第1版第2章检测点和习题解析 09:37 可

章节5: 汇编语言和汇编软件
课时23 视频 创建汇编语言源程序 08:06 可
课时24 视频 Notepad++的下载和使用 08:03 可
课时25 视频 下载和安装编译器NASM 06:08 可
课时26 视频 编译汇编语言源程序 11:36 可
课时27 视频 下载和使用配套源码及工具 15:39 可
课时28 视频 将编译功能集成到Notepad++ 09:29 可

章节6: 原书第1版第3章检测点和习题解析
课时29 视频 原书第1版第3章检测点和习题解析 07:01 可

章节7: 如何执行编译好的程序
课时30 视频 8086加电或者复位时的状态 11:20
课时31 视频 8086地址空间的分配 15:53
课时32 视频 跳转指令 11:32
课时33 视频 硬盘的构造和工作原理 14:50 可
课时34 视频 一切从主引导扇区开始 09:42

章节8: 虚拟机的安装和使用
课时35 视频 安装VirtualBox虚拟机管理器 12:05 可
课时36 视频 创建VirtualBox虚拟机 18:32 可
课时37 视频 虚拟硬盘简介 11:21 可
课时38 视频 在Windows下创建虚拟硬盘并安装操作系统 15:19 可
课时39 视频 在Linux下创建虚拟硬盘并安装操作系统 09:35 可

章节9: 汇编语言程序的调试
课时40 视频 带调试功能的虚拟机 05:39 可
课时41 视频 安装Bochs虚拟机 15:36 可
课时42 视频 为Bochs虚拟机安装虚拟硬盘 10:05 可
课时43 视频 创建主引导扇区程序 13:07
课时44 视频 将程序写入硬盘主引导扇区 16:59
课时45 视频 用调试器观察程序的执行 36:16

章节10: 原书第1版第4章检测点和习题解析
课时46 视频 原书第1版第4章检测点和习题解析 03:49 可

章节11: 在屏幕上显示文本
课时47 视频 显卡和显存 14:53
课时48 视频 准备访问文本模式下的显存 06:32
课时49 视频 字符的编码和显示属性 24:35
课时50 视频 文本模式下的显存操作 12:39
课时51 视频 MOV指令的形式和机器码 21:12
课时52 视频 列表文件的创建和使用 15:27
课时53 视频 在汇编程序中使用标号 11:55
课时54 视频 段间直接绝对跳转指令 08:06
课时55 视频 在Bochs中运行和调试写屏程序 25:36
课时56 视频 在VirtualBox中运行写屏程序 06:15
课时57 视频 主引导扇区执行时的内存布局 11:35
课时58 视频 使用标号计算跳转的偏移地址 09:45
课时59 视频 使用寄存器的绝对间接近跳转 09:06
课时60 视频 使用相对偏移量的短跳转和近跳转 19:41

章节12: 在屏幕上显示数字
课时61 视频 显示数字的基本原理 06:17
课时62 视频 无符号数除法指令div 11:57
课时63 视频 在调试器里验证除法操作 07:57
课时64 视频 异或指令xor的用法 16:00
课时65 视频 加法指令add的用法 08:35
课时66 视频 使用标号访问内存数据 14:37
课时67 视频 段超越前缀的使用 14:30
课时68 视频 显示标号的汇编地址 16:20

章节13: 阶段性重点内容总结
课时69 视频 阶段性重点内容总结 12:19
课时70 视频 原书第1版第5章检测点和习题解析 24:30 可

章节14: 循环、批量传送和条件转移
课时71 视频 跳过非指令的数据区 09:12
课时72 视频 逻辑段地址的重新设定 07:50
课时73 视频 串传送指令和标志寄存器 12:50
课时74 视频 NASM的$和$$记号 16:27
课时75 视频 使用循环指令LOOP分解数位 07:25
课时76 视频 基址寻址和INC指令 11:06
课时77 视频 数字的显示和DEC指令 12:04
课时78 视频 基址变址寻址和条件转移指令 17:23

章节15: 计算机中的负数
课时79 视频 无符号数和有符号数 12:02
课时80 视频 减法指令SUB和求补指令NEG 17:17
课时81 视频 计算机如何区分对待无符号数和有符号数 17:31
课时82 视频 有符号数除法指令IDIV 16:38
课时83 视频 有符号数的符号扩展指令 20:20

章节16: 阶段性知识总结和拓展
课时84 视频 8086的标志寄存器 21:23
课时85 视频 条件转移指令和CMP指令 15:31
课时86 视频 原书第1版第6章检测点和习题解析 29:03 可

章节17: 从1加到100并显示结果
课时87 视频 字符串的定义和累加过程 14:50
课时88 视频 栈的原理和使用 25:48
课时89 视频 栈在数位分解和显示中的应用 14:25
课时90 视频 在调试器里观察栈操作的状态 16:11
课时91 视频 进一步认识栈和栈操作的特点 09:31
课时92 视频 逻辑或指令OR和逻辑与指令AND 20:09

章节18: INTEL8086处理器的寻址方式
课时93 视频 寄存器、立即数和直接寻址 10:00
课时94 视频 基址寻址 16:48
课时95 视频 变址寻址 20:02
课时96 视频 基址变址寻址 14:26
课时97 视频 原书第1版第7章检测点和习题解析 09:00

章节19: 硬盘和显卡的访问与控制
课时98 视频 离开主引导扇区 06:15
课时99 视频 给汇编语言程序分段 19:57
课时100 视频 控制段内元素的汇编地址 11:12
课时101 视频 加载器和用户程序头部段 18:51
课时102 视频 加载器的工作流程和常数声明 09:06
课时103 视频 确定用户程序的加载位置 15:50
课时104 视频 外围设备及其接口 11:11
课时105 视频 输入输出端口的访问 11:09
课时106 视频 通过硬盘控制器端口读扇区数据 25:09
课时107 视频 过程和过程调用 22:15
课时108 视频 过程调用和返回的原理 09:45
课时109 视频 加载整个用户程序 14:35
课时110 视频 用户程序的重定位 10:35
课时111 视频 比特位的移动指令 21:45
课时112 视频 转到用户程序内部执行 07:12
课时113 视频 8086的无条件转移指令 16:56
课时114 视频 用户程序的执行过程 20:08
课时115 视频 验证加载器加载和执行用户程序的过程 17:06
课时116 视频 书中第八章用户程序概述 09:21
课时117 视频 与文本显示有关的回车、换行与光标控制 24:20
课时118 视频 回车的光标处理和乘法指令MUL 23:59
课时119 视频 换行和普通字符的处理过程与滚屏操作 21:36
课时120 视频 8086的过程调用方式 13:36
课时121 视频 通过RETF指令转到另一个代码段内执行 12:50
课时122 视频 在程序中访问不同的数据段 07:18
课时123 视频 使用新版FixVhdWr写虚拟硬盘并运行程序 19:19
课时124 视频 原书第一版第8章习题解析解答 10:45 可

章节20: 中断和动态时钟显示
课时125 视频 中断和硬件中断 07:09
课时126 视频 中断控制器简介 11:39
课时127 视频 中断号、中断处理过程和中断向量表 13:46
课时128 视频 实时时钟、CMOS RAM和BCD编码 11:50
课时129 视频 实时时钟芯片的中断信号 20:08
课时130 视频 安装0x70号中断处理过程 18:02
课时131 视频 启用更新周期结束中断 18:36
课时132 视频 用TEST指令等待更新周期结束 12:55
课时133 视频 读取BCD码的时间并在屏幕上显示 15:35
课时134 视频 用NOT指令反转时间分隔符的颜色 06:55
课时135 视频 使用IRET指令从中断过程返回 06:35
课时136 视频 用停机指令HLT使处理器进入低功耗状态 17:35
课时137 视频 内部中断和软中断 10:15
课时138 视频 BIOS中断概述 16:32
课时139 视频 使用BIOS功能调用接收并显示键盘输入 15:30
课时140 视频 原书第9章检测点和习题解析 04:30 可

章节21: 32位x86处理器编程架构
课时141 视频 IA-32架构和保护模式 11:21 可
课时142 视频 寄存器的扩展和扩充 08:08
课时143 视频 32位处理器的内存访问概况 08:11
课时144 视频 32位处理器的寻址方式概况 21:02
课时145 视频 选修-流水线技术 06:08
课时146 视频 选修-高速缓存技术 07:35
课时147 视频 选修-乱序执行技术 08:15
课时148 视频 选修-寄存器重命名技术 08:45
课时149 视频 选修-分支目标预测技术 07:09

章节22: 进入保护模式
课时150 视频 保护模式是要保护什么 09:00
课时151 视频 全局描述符表GDT和全局描述符表寄存器GDTR 09:19
课时152 视频 准备创建全局描述符表 09:45
课时153 视频 描述符的分类 05:50
课时154 视频 存储器的段描述符-段的类型和基地址 11:12
课时155 视频 存储器的段描述符-段界限及访问控制位 15:39
课时156 视频 安装存储器的段描述符 10:50
课时157 视频 加载全局描述符表寄存器GDTR 09:55
课时158 视频 开启处理器的第21根地址线A20 14:37
课时159 视频 通过设置寄存器CR0的PE位进入保护模式 12:57
课时160 视频 描述符高速缓存器和保护模式下的内存访问 16:07
课时161 视频 在调试器中观察实模式和保护模式的内存访问 25:05

章节23: 指令的格式及其操作尺寸
课时162 视频 80286的16位保护模式 10:05
课时163 视频 16位处理器的指令操作尺寸 09:28
课时164 视频 32位处理器的指令操作尺寸 20:40
课时165 视频 x86的指令格式-操作码和立即数部分 18:38
课时166 视频 x86的指令格式-ModRM和偏移量部分 31:55
课时167 视频 x86的指令格式-SIB部分 17:17
课时168 视频 x86的指令格式-指令前缀部分 05:00
课时169 视频 处理器的默认操作尺寸和相关指令前缀 19:09
课时170 视频 用伪指令bits生成16位和32位模块 10:00
课时171 视频 描述符和段描述符高速缓存器的D位 12:09
课时172 视频 进入保护模式后立即切换到32位模块并使用32位默认操作尺寸 19:39

章节24: 存储器的保护
课时173 视频 话说MOV DS,AX和MOV DS,EAX 19:27
课时174 视频 修改段寄存器时的保护 11:26
课时175 视频 代码段执行时的保护 07:39
课时176 视频 用向上扩展的段做为栈段 13:30
课时177 视频 向上扩展的段用做栈段时的保护 08:30
课时178 视频 访问普通数据段时的保护 09:39
课时179 视频 内存线性地址的回绕特性 15:00
课时180 视频 用向下扩展的段做为栈段 13:50
课时181 视频 向下扩展的段用做栈段时的保护 13:15
课时182 视频 通过别名来实现段的共用和共享 15:00
课时183 视频 冒泡排序法的基本原理 08:22
课时184 视频 32位操作尺寸下的LOOP指令 09:39
课时185 视频 数据交换指令XCHG 17:00

章节25: 保护模式程序的动态加载和执行
课时186 视频 本章的目标和内容提要 09:10
课时187 视频 内核的结构和加载前的准备工作 27:30
课时188 视频 准备为内核的每个段创建和安装描述符 15:00
课时189 视频 段描述符的创建和BSWAP指令 21:15
课时190 视频 进入内核执行 15:00
课时191 视频 进入内核后显示文本信息 12:00
课时192 视频 用CPUID指令取得处理器品牌信息并显示 17:15
课时193 视频 准备加载用户程序 15:00
课时194 视频 预读用户程序并得到它的大小 07:15
课时195 视频 条件传送指令簇CMOVcc 12:15
课时196 视频 计算以512字节为单位的用户程序总长度 08:15
课时197 视频 内存分配的基本策略和方法 13:15
课时198 视频 内存分配的简易实现过程 10:15
课时199 视频 加载用户程序 10:00
课时200 视频 准备安装用户程序的段描述符 09:35
课时201 视频 用SGDT和MOVZX指令确定GDT的位置 17:35
课时202 视频 安装新描述符并生成选择子 08:22
课时203 视频 安装用户程序的段描述符并回填选择子 12:00
课时204 视频 用户程序的执行和退出 17:00
课时205 视频 在虚拟机上观察内核的加载以及用户程序的执行与退出 08:08

章节26: 用户程序编程接口及其实现
课时206 视频 内核与用户程序之间的栈切换问题 15:00
课时207 视频 在内核中为用户程序提供编程支持 12:27
课时208 视频 用户程序中的符号地址检索表 16:50
课时209 视频 内核程序中的符号地址检索表 13:25
课时210 视频 串比较指令CMPS 09:12
课时211 视频 串比较的方向和重复前缀 20:33
课时212 视频 使用外循环依次取得用户SALT表的每个条目 08:15
课时213 视频 使用内循环依次取得内核SALT表的每个条目并进行比较 12:08
课时214 视频 在用户程序内使用内核编程接口读硬盘和显示文本 11:45
课时215 视频 在虚拟机上验证程序的执行 06:39
课时216 视频 以十六进制形式显示一个双字以及PUSHAD、POPAD和XLAT指令的使用 17:05

章节27: 任务和任务的创建
课时217 视频 任务:概念和组成 07:25
课时218 视频 使用任务控制块保存任务基本信息 15:08
课时219 视频 将任务控制块加入任务控制块链表 09:25
课时220 视频 通过栈传递例程参数以及立即数的压栈指令 09:09
课时221 视频 段寄存器的压栈和出栈以及栈的随机访问机制 11:30
课时222 视频 创建任务的局部描述符表LDT 11:50
课时223 视频 在当前任务的LDT中安装描述符 16:50
课时224 视频 LDT描述符的格式和LDT描述符的创建 11:50
课时225 视频 创建任务状态段TSS 09:15
课时226 视频 TSS描述符的格式和TSS描述符的创建 07:39
课时227 视频 用带参数的RET指令返回调用者 11:11
课时228 视频 加载任务寄存器TR和局部描述符表寄存器LDTR 18:50
课时229 视频 在虚拟机上验证任务的执行 15:35

章节28: 特权级和特权级保护
课时230 视频 特权级保护的必要性和特权保护机制 12:20
课时231 视频 当前特权级CPL 06:46
课时232 视频 描述符特权级DPL 13:10
课时233 视频 任务公共部分和私有部分的特权级划分 17:00
课时234 视频 依从的代码段 06:10
课时235 视频 门描述符和调用门 13:58
课时236 视频 本章程序说明及特权级检查的时机 09:25
课时237 视频 请求特权级RPL 16:16
课时238 视频 请求特权级调整指令ARPL 11:55
课时239 视频 一般情况下的请求特权级设置 09:19
课时240 视频 为内核接口例程创建调用门 21:55
课时241 视频 调用门的测试和调用门转移过程 15:39
课时242 视频 通过调用门实施低特权级到高特权级的转移 13:35
课时243 视频 通过调用门转移控制时的栈切换过程 10:50
课时244 视频 通过调用门转移控制并返回的完整描述 12:00
课时245 视频 创建0、1和2特权级的栈并登记在TSS中 15:08
课时246 视频 通过模拟调用门返回进入用户程序执行 13:39

章节29: 协同式任务切换
课时247 视频 多任务和任务切换概述 15:00
课时248 视频 内核任务的创建和I/O特权级IOPL 14:15
课时249 视频 I/O特权级的修改和POPF指令 09:39
课时250 视频 任务的用户态和内核态 12:25
课时251 视频 I/O许可位串和TSS的I/O许可位映射区 17:00
课时252 视频 任务切换的方法及内核任务的确立 16:02
课时253 视频 用户任务的创建和初始化 20:09
课时254 视频 简单的任务调度和切换策略 11:05
课时255 视频 遍历TCB链表寻找忙任务和就绪任务 12:59
课时256 视频 通过JMP FAR执行任务切换的过程 11:50
课时257 视频 内核任务与用户任务轮流执行的过程 18:50
课时258 视频 任务的终止和清理 13:27

章节30: 中断和异常的处理与抢占式多任务
课时259 视频 中断和异常概述 16:00
课时260 视频 保护模式下中断和异常的向量分配 11:39
课时261 视频 中断描述符表、中断门和陷阱门 16:30
课时262 视频 本章程序介绍 19:25
课时263 视频 创建并安装全部的256个中断门 22:30
课时264 视频 为实时时钟中断创建和安装中断门 08:30
课时265 视频 加载中断描述符表寄存器IDTR 06:55
课时266 视频 重新设置8259A主片的中断向量 19:39
课时267 视频 中断和异常发生时的特权级检查 06:50
课时268 视频 中断和异常发生时的栈切换过程 19:00
课时269 视频 在中断处理过程中实施任务切换(含NOP指令的介绍) 19:05
课时270 视频 抢占式多任务的执行效果演示 10:05

章节31: 分页和动态页面分配
课时271 视频 保护模式下的段式虚拟内存管理 19:39 可
课时272 视频 每个任务独立的虚拟内存 10:30
课时273 视频 物理内存的分页以及段到页的拆分 13:20
课时274 视频 处理器的段部件和页部件 14:05
课时275 视频 从线性地址到物理地址的转换过程 13:11
课时276 视频 页目录和页表及其地址转换过程 16:16
课时277 视频 设计内核的页目录和页表 15:00
课时278 视频 页目录项和页表项的组成格式 08:05
课时279 视频 创建内核的页表并初始化低端1MB对应的页表项 10:25
课时280 视频 设置控制寄存器CR3和CR0开启分页功能 08:50
课时281 视频 在调试器中观察页目录表和页表 16:50
课时282 视频 准备将内核映射到虚拟内存的高端 15:50
课时283 视频 在分页机制下访问页目录表自身 11:15
课时284 视频 使内核在虚拟内存高端的映射生效 12:50
课时285 视频 为内核任务创建任务控制块TCB 14:05
课时286 视频 为内核任务的TSS分配内存空间 15:00
课时287 视频 处理与线性地址对应的页目录项和页表项 15:28
课时288 视频 根据需要分配物理页并设置页表项 06:15
课时289 视频 物理内存的页面管理和页映射位串 15:25
课时290 视频 空闲页的搜索和BTS指令 09:22
课时291 视频 空闲页搜索和分配的具体过程 10:15
课时292 视频 确立内核任务并开始创建用户任务 15:50
课时293 视频 用户任务的内存分配策略 16:39
课时294 视频 清空内核任务页目录表的前半部分并刷新TLB 15:00
课时295 视频 为用户任务分配内存并创建LDT 12:30
课时296 视频 用户程序的加载和重定位 15:35
课时297 视频 用户任务页目录表的创建和访问以及INVLPG指令 23:12
课时298 视频 第二个用户任务的创建和分页模式下的任务切换 12:22
课时299 视频 分页模式下多任务切换的演示和调试 27:30

章节32: 平坦模型
课时300 视频 为什么要引入平坦模型及平坦模型的特点 16:00
课时301 视频 在主引导程序中创建平坦模型下的段 09:45
课时302 视频 平坦模型对内核程序分段的影响 16:45
课时303 视频 平坦模型对加载内核程序的影响 11:35
课时304 视频 平坦模型下的内核初始化与内核任务的确立 17:35
课时305 视频 平坦模型下的用户程序结构 15:35
课时306 视频 平坦模型下的用户任务创建 05:30
课时307 视频 在用户任务内动态分配内存 08:55
课时308 视频 平坦模型下的多任务切换演示与调试 05:00

章节33: 如何通过软件实现多任务管理和切换
课时309 视频 本章的目标和任务 03:50