天津時(shí)間累加器現(xiàn)今的 CPU 通常有很多寄存器,所有或多數(shù)都可以被用來(lái)當(dāng)作累加器。因?yàn)檫@個(gè)原因,"累加器" 這名詞就顯得有些老舊。這個(gè)名詞已經(jīng)幾乎不在微處理器寄存器中使用,例如,運(yùn)算寄存器的名稱中的符號(hào)以 "A" 開頭的表示是從 "accumulator" 這個(gè)歷史因素得來(lái)的 (有時(shí)候認(rèn)為并非 "arithmetic")。也可能混淆的是寄存器的名字前置 "A" 也表示 "address",比如說(shuō)像是Motorola 68000家族。
早期的 4 位、8 位微處理器,典型具有單個(gè)累加器。8051微控制器有兩個(gè)累加器:主累加器與從累加器,其中的從累加器只用于乘法(MUL AB)與除法(DIV AB)。乘法的 16 位結(jié)果放入兩個(gè) 8 位累加器中。除法時(shí),商放入主累加器,余數(shù)放入從累加器。8008的直接后繼產(chǎn)品——8080與8086,開創(chuàng)了x86指令集體系結(jié)構(gòu),仍然使用兩個(gè)累加器:主累加器 EAX 與從累加器 EDX 用于乘法與除法的大數(shù)運(yùn)算。例如,MUL ECX 將把兩個(gè) 32 位寄存器 ECX 與 EAX 相乘,64 位結(jié)果放入 EAX 與 EDX。但是 MUL 與 DIV 之外的其他算術(shù)——邏輯指令(ADD、SUB、CMP、AND、OR、XOR、TEST)可以使用 8 個(gè)寄存器:EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI 作為目的操作數(shù)(即存儲(chǔ)結(jié)果的位置)。天津時(shí)間累加器