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是目的