80X86汇编语言:CPU判断与物理地址形成
需积分: 18 112 浏览量
更新于2024-08-14
收藏 1.38MB PPT 举报
"80X86汇编语言程序设计,胡福林教授的课程,讲解了80X86微处理器的预备知识,包括汇编语言概念、寄存器组、物理地址形成、数的表示、标志寄存器以及汇编源程序的基本结构。课程覆盖了从实模式到保护模式的物理地址计算,并强调了学习的重点和难点。"
80X86汇编语言是一种低级编程语言,直接对应于计算机硬件的指令集。在80X86架构中,汇编语言的执行过程涉及多个中间环节,这些环节在描述中有所体现:
1. **中间执行环节** - CPU执行汇编指令时,会进行一系列判断和计算。例如,当执行`MOV AL, DS:[100H]`这样的指令时,CPU会进行以下步骤:
a. **程序权限与被访问数据段的权限的关系** - CPU会检查当前代码段(CS)的权限是否允许访问指定的数据段(DS)。在80X86保护模式下,这涉及到段选择子和段描述符。
b. **寻找描述符** - CPU会根据DS的值在内存中的全局描述符表(GDT)或局部描述符表(LDT)中查找对应的段描述符。
c. **段的访问性检查** - 从找到的描述符中,CPU会检查段的类别和权限,确保当前进程有权访问该段。
d. **提取段基地址** - 从描述符中取出32位的段基地址。
e. **形成线性地址** - 段基地址加上有效地址(EA,这里是100H)计算得到32位线性地址。在不使用分页机制时,这个线性地址就是物理地址(PA)。
f. **访问存储单元** - CPU使用物理地址访问内存,将内容读入AL寄存器。
这些步骤展示了80X86处理器如何执行汇编指令,并在保护模式下确保内存访问的安全性。在实模式下,虽然没有严格的权限检查,但物理地址的形成过程大体相同。
在学习80X86汇编语言时,了解寄存器组的结构和功能至关重要。80X86微处理器包含多个通用寄存器、控制寄存器、段寄存器等,它们各自承担不同的任务,如数据处理、地址计算和控制流程。其中,标志寄存器(如CF、OF、ZF、SF)用于记录算术和逻辑操作的结果,影响后续指令的执行。
此外,堆栈操作如PUSH和POP指令会改变堆栈指示器(如ESP或SP),并影响数据的存储和检索。保护模式下的物理地址形成更复杂,涉及分页机制,它通过页表映射线性地址到实际的物理内存地址,增加了系统的安全性和灵活性。
本章节的学习难点包括理解各种寄存器的作用、堆栈操作的实际应用、以及保护模式下复杂的物理地址计算。掌握这些知识点对于深入理解80X86汇编语言和底层系统操作至关重要。
2024-02-06 上传
2022-11-20 上传
2009-12-12 上传
2021-10-10 上传
2021-10-10 上传
2010-10-31 上传
2009-01-01 上传
点击了解资源详情
点击了解资源详情
theAIS
- 粉丝: 57
- 资源: 2万+
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍