計數暫存器

計數暫存器

計算機中用途廣泛的暫存器稱為通用暫存器,分為數據暫存器和指針、變址暫存器兩組。計數暫存器是8086系統數據暫存器中的一組。8086系統中數據暫存器CX將數據高8位和低8位分為兩組暫存器,計數暫存器是8位數據暫存器,包括CH、CL。

基本介紹

  • 中文名:計數暫存器
  • 外文名:call meter
  • 學科:計算機
  • 類別:數據暫存器
  • 作用:計數器
  • 實現方式:隱含
簡介,串指令,有關術語,

簡介

計數暫存器是將數據暫存器CX做兩個獨立的 8 位暫存器使用,即 CH 和 CL 兩個 8 位暫存器。計數暫存器主要在串操作指令、位移指令和LOOP指令中作計數器。當在彙編指令中使用循環 LOOP 指令時,可以通過 CX 來指定需要循環的次數,而 CPU 在每一次執行 LOOP 指令的時候,都會做兩件事:一件就是令 CX = CX – 1,即令 CX 計數器自動減去 1;還有一件就是判斷 CX 中的值,如果 CX 中的值為 0 則會跳出循環,而繼續執行循環下面的指令,當然如果 CX 中的值不為 0 ,則會繼續執行循環中所指定的指令 。往往需要多次反覆執行一種相同的操作,而每次只是參與操作的運算元不同,此時就需要採用循環程式。循環指令主要用於循環程式中。移位指令逐位向左或向右移動輸入端I N的內容。 向左移n位會將輸入IN的內容乘以2的n次冪;向右移n位則會將輸入IN的內容除以2的n次冪。

串指令

80x86提供處理字元串的操作。串指連續存放在存儲器中的一些數據位元組、字或雙字。串操作允許程式對連續存放大的數據塊進行操作。 串操作通常以DS:(E)SI來定址源串,以ES:(E)DI來定址目的串,對於源串允許段超越。(E)SI或(E)DI這兩個地址指針在每次串操作 後,都自動進行修改,以指向串中下一個串元素。地址指針修改是增量還是減量由方向標誌來規定。當DF=0,(E)SI及(E)DI的修改為增量;當DF= 1,(E)SI及(E)DI的修改為減量。根據串元素類型不同,地址指針增減量也不同,在串操作時,位元組類型SI,DI加、減1;字類型SI,DI加、減 2;雙字類型ESI,EDI加、減4。如果需要連續進行串操作,通常加重複前綴。重複前綴可以和任何串操作指令組合,形成複合指令。

有關術語

通用暫存器
通用暫存器是保存計算系統的各種功能單元的 輸入(運算元)和輸出(結果)的存儲設備。通用暫存器可用於傳送和暫存數據,也可參與算術邏輯運算,並保存運算結果。除此之外,它們還各自具有一些特殊功能。通用暫存器的長度取決於機器字長,彙編語言程式設計師必須熟悉每個暫存器的一般用途和特殊用途,只有這樣,才能在程式中做到正確、合理地使用它們。16位cpu通用暫存器共有8個:AX,BX,CX,DX,BP,SP,SI,DI。AX、BX、CX、DX 可稱為數據暫存器,用來暫時存放計算過程中所用到的運算元、結果和其他信息。他們都可以以字(16位)的形式訪問,也可以以位元組(8 位)的形式訪問。
八個暫存器都可以作為普通的數據暫存器使用。但有的有特殊的用途:AX為累加器,CX為計數器,BX,BP為基址暫存器,SI,DI為變址暫存器,BP還可以是基指針,SP為堆疊指針。32位cpu通用暫存器共有8個: EAX,EBX,ECX,EDX,EBP,ESP,ESI,EDI功能和上面差不多。在通用暫存器之所以存在的許多硬體理由中, 特別應加注意的一個理由是:通用暫存器在減少指 定電腦程式的運算元所需的平均位數方面所起的 作用。例如,用4位就可對16個通用暫存器中的一 個進行編址,而具有一百萬存儲單元的存儲器的主 存地址要求一個20位的地址。
數據暫存器
數據暫存器,是用來暫時存放計算過程中所用到的運算元、結果和信息。數據暫存器可以分為 AX,BX,CX,DX 四個組成。這4個16位暫存器又可分別分成高8位(AH、BH、CH、DH)和低8位(AL、BL、CL、DL)。因此它們既可作為4個16位數據暫存器使用,也可作為8個8位數據暫存器使用,在編程時可存放源運算元、目的運算元或運算結果。數據暫存器是存放運算元、運算結果和運算的中間結果,以減少訪問存儲器的次數,或者存放從存儲器讀取的數據以及寫入存儲器的數據的暫存器。
AX(accumulator)累加器。作為累加器使用。是算術運算的主要暫存器。在乘、除等指令中指定用來存放運算元。以及所有的 I/O指令都使用這一暫存器與外部設備傳送信息。
BX(base)基址。可以作為通用暫存器使用。此外在計算機存儲地址時,它經常用作基址暫存器。
CX(count)計數。可以作為通用暫存器使用。常用來保存計數值,如在循環、位移和串處理指令中作隱含計數器。
DX(data)數據。可以作為通用暫存器使用。一般在作雙字長運算時把DX和AX組合在一起存放一個雙字長數,DX用來存放高位數。對於某些I/O操作,DX可用來存放I/O的連線埠地址。

相關詞條

熱門詞條

聯絡我們