80X86汇编语言:CPU判断与物理地址形成

需积分: 18 1 下载量 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汇编语言和底层系统操作至关重要。