80X86汇编语言:CPU判断与物理地址形成
需积分: 18 119 浏览量
更新于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 上传
2010-09-29 上传
2010-10-01 上传
点击了解资源详情
theAIS
- 粉丝: 59
- 资源: 2万+
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查