饭后温柔

汉堡与老干妈同嚼 有可乐味
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

汇编知识点-寄存器

Posted on 2013-06-26 19:58  饭后温柔  阅读(516)  评论(0编辑  收藏  举报

32位通用寄存器

  EAX, EBX, ECX, EDX

  EBP, ESP, ESI, EDI

  EAX 低16位称为AX,AX高8位称为AH,低8位称为AL

16位段寄存器

  CS, ES, SS, FS, DS, GS

  实地址模式下,用于存放段的基址.段是一块预分配的内存区域.

  保护模式下,段寄存器存放段描述符表的指针(索引).

  有些段存放程序的指令(代码),有些存放变量(数据),另外还有其他段存放(堆栈段)存放函数的局部和函数参数.

标志寄存器:EFLAGS

  CF, OF, SF, ZF, AC, PF

指令寄存器:EIP

特殊用法:

  EAX在乘法和除法指令中被自动使用.通常称为扩展累加寄存器.

  在某些指令中,CPU自动使用ECX作为循环计数器.

  ESP寻址堆栈上的数据.极少用于普通的算术运算和数据传送.

  ESI和EDI由高速内存数据传送指令使用.

  高级语言使用EBP引用堆栈上的函数参数和局部变量.极少用于普通的算术运算和数据传送.

系统寄存器

  中断描述符表寄存器(IDTR, Interrupt Descriptor Table Register)

  全局描述符表寄存器(GDTR, Global Descriptor Table Register)

  局部描述符寄存器(LDTR, Local Descriptor Table Registe)

  任务寄存器(Task Register)

  调试寄存器(Debug Register)

  控制寄存器(Control Register)

  模型专用寄存器(Model-Specific Registers)

浮点单元

  8个80位数据寄存器:ST(0),...,ST(7);

  操作码寄存器

  48位的指针寄存器:FPU指令指针,FPU数据指针

  16位的控制寄存器:标记寄存器,控制寄存器,状态寄存器

MMX寄存器

  MMX指令及使用的8个64位MMX寄存器.支持单指令,多数据操作(SIMD,single-instruction,multiple-data).

  MMX指令并行操作MMX寄存器中的数据.

  MMX寄存器实际共用浮点单元的寄存器.

XMM寄存器

  8个128位XMM寄存器.被SSE指令集(streaming SIMD extension)使用.