Chapter 2 - 汇编基础:寄存器与内存

课程准备

本课程认为学习者应有一定计算机基础,且较为良好的完成了《计算机组成结构与原理》及相关导论课程,也推荐学习者具有一定的 C 语言基础。因此,不再对汇编语言的由来及计算机中 CPU 等硬件的基本工作原理进行叙述。

如果你没有学习过相关课程,请你 点击这里 获取《计算机组成结构及原理》相关课件。版权归原作者所有,遵循 CC BY-NC-SA 3.0 Unported协议,仅用作学习用途,禁止一切商业用途,如有发现任何用于商业用途的行为,必将追究到底。

一些通用寄存器

本课程的寄存器以 8086 CPU 架构为例,所有寄存器均为 16 位,有 14 个这样的寄存器,包括:AX, BX, CX, DX, SI, DI, SP, BP, IP, CS, SS, DS, ES, PSW。这些寄存器均在之前的课程中有所介绍,这里,我们不对这些寄存器进行一次性的介绍,需要用到的时候,我们再进一步做详细介绍。

现代化的 CPU, 32 位 CPU 的寄存器以 E 开头, 64 位 CPU 的寄存器以 R 开头。

通用寄存器的一些说明

IA-32e模式

均扩展为 64 位寄存器,例如 RAX 等。

IA-32 模式

在 IA-32 CPU 中,所有通用寄存器既可以保存运算数据,又可以用于操作数寻址方式,保存指针数据。

IA-16 模式

IA-16 CPU中:

  • AX,CX,DX只能保存运算数据,不能保存指针数据。
  • BX,SI,DI既可以保存运算数据,又可以用于操作数寻址方式,保存指针数据。
  • BP,SP只能保存指针数据。

寄存器的分类与发展

  • 通用寄存器、段寄存器、指令寄存器、标志寄存器、控制寄存器、系统寄存器、调试寄存器以及测试寄存器共7类。
  • IA-32 CPU 寄存器向下兼容,包含了 IA-16 CPU(8086、8088、80286) 中所有的寄存器。
  • IA-32 CPU 新增加控制寄存器、系统寄存器,测试寄存器。
  • IA-32 CPU 中寄存器的位数为 32 位。IA-16 CPU中所有寄存器位数为 16 位。
  • 在所有的 CPU,段寄存器的位数都为 16 位。IA-32 CPU新增加两个段寄存器(FS和GS)。
© 2019 kmahyyg <16604643+kmahyyg@users.noreply.github.com>. All rights reserved.

results matching ""

    No results matching ""