80386寄存器

①8个32-bit寄存器:
  %eax 一般用作累加器;
  %ebx 一般用作基址寄存器(Base);
  %ecx 一般用来计数(Count);
  %edx 一般用来存放数据(Data);
  %esp 一般用作堆栈指针(Stack Pointer);
  %ebp 一般用作基址指针(Base Pointer);
  %esi 一般用作源变址(Source Index);
  %edi 一般用作目标变址(Destinatin Index);
②8个16-bit寄存器:
  它们事实上是上面8个32-bit寄存器的低16位:%ax,%bx,%cx,%dx,%di,%si,%bp,%sp;
③8个8-bit寄存器:
  它们事实上是寄存器%ax,%bx,%cx,%dx的高8位和低8位:%ah,%al,%bh,%bl,%ch,%cl,%dh,%dl;
④6个段寄存器:
  %cs 代码段寄存器;
  %ds 数据段寄存器;
  %ss 堆栈段寄存器;
  %es 附加数据段寄存器;
  %fs 附加数据段寄存器;
  %gs 附加数据段寄存器;
⑤4个控制寄存器:%cr0,%cr2,%cr3(其中%cr1保留未使用);
⑥一个标志寄存器:EFLAGS
⑦8个浮点寄存器栈:%st(0),%st(1),%st(2),%st(3),%st(4),%st(5),%st(6),%st(7);
⑧2个测试寄存器:%tr6,%tr7;
⑨6个debug寄存器:%db0,%db1,%db2,%db3,%db6,%db7。

posted @ 2015-06-30 12:56  牧师/preacher  阅读(703)  评论(0编辑  收藏  举报