X86CPU寄存器分析

         本文讲述X86计算机的寄存器构造,包括EIP(程序指令指针寄存器,与16位单片机的PC程序计数器类似),以及EAX(累加寄存器),EBX(基地址寄存器),ECX(计数寄存器),EDX(数据寄存器),ESP(堆栈顶指针),EBP(堆栈基指针)等通用寄存器,以及CS、DS、ES、SS等段寄存器。

一、32位CPU寄存器

        

X86CPU寄存器分析

          可以看出,他的低16位作为16位的寄存器。同时,还有8位的寄存器。开头为E的一般为32位的寄存器。

          其中,EAX、EBX、ECX、EDX等通用寄存器程序员可以自定义其使用方式。

二、段寄存器

          同时,虽然在编程中用的比较少,但是我们应该了解段寄存器的概念。

X86CPU寄存器分析

          比如:代码段与堆栈段寄存器用的比较多,我们的指令就存储在代码段寄存器。我们描述某一个指令的时候一般用CS:EIP来准确定位一个指令。

三、标志寄存器

          还有标志寄存器:EFLAGS register:用于标识当前的一些状态。

X86CPU寄存器分析

四、64位CPU寄存器

           而现在主流的计算机已经是64位计算机了,他的CPU寄存器如下图所示:


X86CPU寄存器分析

         使用时只有寄存器的名字不同,机制上差别不大。