ediesi寄存器
❶ 汇编中eax,ecx,edx,ebx,esp,ebp,esi,edi,eip分别是什么有什么用
这些是32位的CPU中32位的寄存器的名字。
寄存器是CPU内部的用于运行中专暂存数据的存储单属元。
在PC用的16位CPU 8086、8088中,寄存器的名字分别是AX(累加器),BX(基址寄存器),CX(计数寄存器),DX(数据寄存器),SP(堆栈指针),BP(基址指针),SI(源变址寄存器),DI(目的变址寄存器),IP(指令指针),等等……
这些寄存器除了从名字可以看得出来的用途以外,一部分寄存器也可以作为通用的一般数据寄存使用。具体每个寄存器的功能要与各种具体的指令关联起来才能理解清楚。
在386以上的32位CPU中,这些寄存器扩展成了32位的,名字就是在原来16位的名字前面加一个字母E,变成了EAX,EBX,…………
❷ CPU寄存器和缓存有什么区别
寄存器属于cpu的一个组成部分而缓存只是集成到cpu封装内完全是和cpu独立的器件。另外二者速度相差很大,寄存器存取速度最快
其次缓存最后是内存。三张容量上的关系就像饭碗、饭锅和米缸的关系,容量越大级别越低,速度越慢与cpu的联系越不密切。寄存器分通用寄存器
标志寄存器
堆栈寄存器等完成cpu的加法运算,缓存是缓冲存储器,属于静态电路存储器。
对于寄存器的容量:
16位寄存器组
16位cpu所含有的寄存器有
4个数据寄存器(ax、bx、cx和dx)
2个变址和指针寄存器(si和di)
2个指针寄存器(sp和bp)
4个段寄存器(es、cs、ss和ds)
1个指令指针寄存器(ip)
1个标志寄存器(flags)
32位寄存器组
32位cpu除了包含了先前cpu的所有寄存器,并把通用寄存器、指令指针和标志寄存器从16位扩充成32位之外,还增加了2个16位的段寄存器:fs和gs。
32位cpu所含有的寄存器有
4个数据寄存器(eax、ebx、ecx和edx)
2个变址和指针寄存器(esi和edi)
2个指针寄存器(esp和ebp)
6个段寄存器(es、cs、ss、ds、fs和gs)
1个指令指针寄存器(eip)
1个标志寄存器(eflags)
❸ edi,esi寄存器是什么寄存器有什么作用
EDI和ESI分别是16位寄存器DI和SI的32位扩展
它们是目的变址寄存器和源变址寄存器,用于串操作指令中。
同时,它们也可以作为通用寄存器使用。
❹ 汇编语言 esi,edi寄存器问题
都属于通用寄存器,所以一般场景下都可以随便用。就是有些传送指令规定了esi是源,edi是目的