dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4942|回复: 53

x86汇编从实模式到保护模式(32章) 完整版

[复制链接]
  • TA的每日心情
    开心
    2024-4-3 20:30
  • 签到天数: 49 天

    [LV.5]常住居民I

    1

    主题

    92

    帖子

    341

    积分

    豁然贯通

    Rank: 4

    积分
    341

    发表于 2021-2-22 18:25:08 | 显示全部楼层 |阅读模式

    本站资源全部免费,回复即可查看下载地址!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

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

    课程概述:
    汇编语言教材《x86汇编语言:从实模式到保护模式》的作者(QQ:1295832215,加好友可获优惠)亲自授课,以本书为蓝本加以拓展和细化,并附有原书课后习题的解析。不需要过多的基础即可听懂!
    本课程共约250课时,最多半年内更新完毕,每周内至少更新5个课时。在校学生可凭学生证件,享受8折优惠(已购买的除外)。
    请尽量不要使用苹果公司的支付工具支付,扣款比例很高(30%以上),并且这部分费用由苹果公司直接扣除,网易云课堂和本人并未收到这些款项;
    建议使用微信和支付宝等支付渠道支付。

    课程目录:
    章节1:课程说明试看
    课时1课程说明

    章节2:汇编语言的前世今生试看
    课时2引子
    课时3用电来表示数字
    课时4二进制加法机
    课时5具有记忆功能的器件——寄存器
    课时6带寄存器的加法机
    课时7能做四则运算的机器
    课时8机器指令
    课时9内存
    课时10自动计算
    课时11处理器
    课时12汇编语言的诞生

    章节3:认识8086处理器试看
    课时138086的通用寄存器
    课时148086的内存访问和字节序
    课时15程序的分段
    课时16程序的重定位难题
    课时17段地址和偏移地址
    课时188086内存访问的困境
    课时198086选择段地址的策略
    课时208086的内存访问过程
    课时21逻辑地址和分段的灵活性

    章节4:原书第1版第2章检测点和习题解析试看
    课时22原书第1版第2章检测点和习题解析

    章节5:汇编语言和汇编软件试看
    课时23创建汇编语言源程序
    课时24Notepad++的下载和使用
    课时25下载和安装编译器NASM
    课时26编译汇编语言源程序
    课时27下载和使用配套源码及工具
    课时28将编译功能集成到Notepad++

    章节6:原书第1版第3章检测点和习题解析试看
    课时29原书第1版第3章检测点和习题解析

    章节7:如何执行编译好的程序试看
    课时308086加电或者复位时的状态
    课时318086地址空间的分配
    课时32跳转指令
    课时33硬盘的构造和工作原理
    课时34一切从主引导扇区开始

    章节8:虚拟机的安装和使用试看
    课时35安装VirtualBox虚拟机管理器
    课时36创建VirtualBox虚拟机
    课时37虚拟硬盘简介
    课时38在Windows下创建虚拟硬盘并安装操作系统
    课时39在Linux下创建虚拟硬盘并安装操作系统

    章节9:汇编语言程序的调试试看
    课时40带调试功能的虚拟机
    课时41安装Bochs虚拟机
    课时42为Bochs虚拟机安装虚拟硬盘
    课时43创建主引导扇区程序
    课时44将程序写入硬盘主引导扇区
    课时45用调试器观察程序的执行

    章节10:原书第1版第4章检测点和习题解析试看
    课时46原书第1版第4章检测点和习题解析

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

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

    章节13:阶段性重点内容总结试看
    课时69阶段性重点内容总结
    课时70原书第1版第5章检测点和习题解析

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

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

    章节16:阶段性知识总结和拓展试看
    课时848086的标志寄存器
    课时85条件转移指令和CMP指令
    课时86原书第1版第6章检测点和习题解析

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

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

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

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

    章节21:32位x86处理器编程架构试看
    课时141IA-32架构和保护模式
    课时142寄存器的扩展和扩充
    课时14332位处理器的内存访问概况
    课时14432位处理器的寻址方式概况
    课时145选修-流水线技术
    课时146选修-高速缓存技术
    课时147选修-乱序执行技术
    课时148选修-寄存器重命名技术
    课时149选修-分支目标预测技术

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

    章节23:指令的格式及其操作尺寸
    课时16280286的16位保护模式
    课时16316位处理器的指令操作尺寸
    课时16432位处理器的指令操作尺寸
    课时165x86的指令格式-操作码和立即数部分
    课时166x86的指令格式-ModRM和偏移量部分
    课时167x86的指令格式-SIB部分
    课时168x86的指令格式-指令前缀部分
    课时169处理器的默认操作尺寸和相关指令前缀
    课时170用伪指令bits生成16位和32位模块
    课时171描述符和段描述符高速缓存器的D位
    课时172进入保护模式后立即切换到32位模块并使用32位默认操作尺寸

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

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

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

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

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

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

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


    下载地址:

    游客,如果您要查看本帖隐藏内容请回复



    评分

    参与人数 1Z币 +5 收起 理由
    amwfhv + 5 后五章失效了,能够补一下链接吗?.

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 405 天

    [LV.9]以坛为家II

    2

    主题

    741

    帖子

    2689

    积分

    傲视群雄

    Rank: 8Rank: 8

    积分
    2689

    发表于 2021-2-22 20:11:18 | 显示全部楼层
    6汇编从实模式到保护模式(前15章) [修改]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-16 21:34
  • 签到天数: 759 天

    [LV.10]以坛为家III

    5

    主题

    1318

    帖子

    5701

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    5701

    发表于 2021-2-22 21:43:22 | 显示全部楼层
    RE: x86汇编从实模式到保护模式(前15章) [修改]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-7-3 10:19
  • 签到天数: 611 天

    [LV.9]以坛为家II

    5

    主题

    739

    帖子

    3126

    积分

    傲视群雄

    Rank: 8Rank: 8

    积分
    3126

    发表于 2021-2-22 22:50:25 | 显示全部楼层
    从实模式到保护模式(
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-11-25 20:56
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    0

    主题

    36

    帖子

    118

    积分

    心领神会

    Rank: 3Rank: 3

    积分
    118

    发表于 2021-3-19 21:14:22 | 显示全部楼层
    啥也不说了,感谢楼主分享哇!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-5-29 20:39
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    0

    主题

    73

    帖子

    199

    积分

    心领神会

    Rank: 3Rank: 3

    积分
    199

    发表于 2021-4-24 20:08:33 | 显示全部楼层
    谢谢谢谢
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-5-29 20:39
  • 签到天数: 22 天

    [LV.4]偶尔看看III

    0

    主题

    73

    帖子

    199

    积分

    心领神会

    Rank: 3Rank: 3

    积分
    199

    发表于 2021-4-24 20:09:32 | 显示全部楼层
    楼主 后五章失效了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 513 天

    [LV.9]以坛为家II

    1

    主题

    2069

    帖子

    5982

    积分

    深不可测

    Rank: 9Rank: 9Rank: 9

    积分
    5982

    发表于 2021-4-26 10:39:34 | 显示全部楼层
    非常感谢分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-1 23:23
  • 签到天数: 24 天

    [LV.4]偶尔看看III

    0

    主题

    55

    帖子

    182

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    182

    发表于 2021-5-9 19:44:45 | 显示全部楼层
    听as浪费时间发生宕机乐山大佛双节快乐萨菲罗斯就离开打架了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-7-14 17:14
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    0

    主题

    72

    帖子

    180

    积分

    心领神会

    Rank: 3Rank: 3

    积分
    180

    发表于 2021-5-16 09:19:26 | 显示全部楼层
    不错的资料
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|小黑屋|本站代理|dmz社区

    GMT+8, 2024-4-24 14:36 , Processed in 0.127620 second(s), 47 queries .

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表