當前位置:首頁 > 單片機 > 單片機
[導讀]通用寄存器可用于傳送和暫存數(shù)據(jù),也可參與算術邏輯運算,并保存運算結果。除此之外,它們還各自具有一些特殊功能。匯編語言程序員必須熟悉每個寄存器的一般用途和特殊用途,只有這樣,才能在程序中做到正確、合理地

通用寄存器可用于傳送和暫存數(shù)據(jù),也可參與算術邏輯運算,并保存運算結果。除此之外,它們還各自具有一些特殊功能。匯編語言程序員必須熟悉每個寄存器的一般用途和特殊用途,只有這樣,才能在程序中做到正確、合理地使用它們。

寄存器的分類寄存器

主 要 用 途

數(shù)據(jù)

 

寄存器

AX

乘、除運算,字的輸入輸出,中間結果的緩存

AL

字節(jié)的乘、除運算,字節(jié)的輸入輸出,十進制算術運算

AH

字節(jié)的乘、除運算,存放中斷的功能號

BX

存儲器指針

CX

串操作、循環(huán)控制的計數(shù)器

CL

移位操作的計數(shù)器

DX

字的乘、除運算,間接的輸入輸出

變址
寄存器SI

存儲器指針、串指令中的源操作數(shù)指針

DI

存儲器指針、串指令中的目的操作數(shù)指針

變址
寄存器BP

存儲器指針、存取堆棧的指針

SP

堆棧的棧頂指針

指令指針

IP/EIP
標志位寄存器Flag/EFlag
32位

CPU的

段寄存器

16位CPU的

段寄存器

ES附加段寄存器CS代碼段寄存器SS堆棧段寄存器DS數(shù)據(jù)段寄存器新增加的
段寄存器FS附加段寄存器GS附加段寄存器

1、數(shù)據(jù)寄存器

  數(shù)據(jù)寄存器主要用來保存操作數(shù)和運算結果等信息,從而節(jié)省讀取操作數(shù)所需占用總線和訪問存儲器的時間。

  32位CPU有4個32位的通用寄存器EAX、EBX、ECX和EDX。對低16位數(shù)據(jù)的存取,不會影響高16位的數(shù)據(jù)。這些低16位寄存器分別命名為:AX、BX、CX和DX,它和先前的CPU中的寄存器相一致。

  4個16位寄存器又可分割成8個獨立的8位寄存器(AX:AH-AL、BX:BH-BL、CX:CH-CL、DX:DH-DL),每個寄存器都有自己的名稱,可獨立存取。程序員可利用數(shù)據(jù)寄存器的這種“可分可合”的特性,靈活地處理字/字節(jié)的信息。
  ·寄存器AX和AL通常稱為累加器(Accumulator),用累加器進行的操作可能需要更少時間。累加器可用于乘、除、輸入/輸出等操作,它們的使用頻率很高;
  ·寄存器BX稱為基地址寄存器(Base Register)。它可作為存儲器指針來使用;
  ·寄存器CX稱為計數(shù)寄存器(Count Register)。在循環(huán)和字符串操作時,要用它來控制循環(huán)次數(shù);在位操作中,當移多位時,要用CL來指明移位的位數(shù);
  ·寄存器DX稱為數(shù)據(jù)寄存器(Data Register)。在進行乘、除運算時,它可作為默認的操作數(shù)參與運算,也可用于存放I/O的端口地址。


  在16位CPU中,AX、BX、CX和DX不能作為基址和變址寄存器來存放存儲單元的地址,但在32位CPU中,其32位寄存器EAX、EBX、ECX和EDX不僅可傳送數(shù)據(jù)、暫存數(shù)據(jù)保存算術邏輯運算結果,而且也可作為指針寄存器,所以,這些32位寄存器更具有通用性。詳細內容請見第3.8節(jié)——32位地址的尋址方式。

2、變址寄存器

  32位CPU有2個32位通用寄存器ESI和EDI。其低16位對應先前CPU中的SI和DI,對低16位數(shù)據(jù)的存取,不影響高16位的數(shù)據(jù)。

  寄存器ESI、EDI、SI和DI稱為變址寄存器(Index Register),它們主要用于存放存儲單元在段內的偏移量,用它們可實現(xiàn)多種存儲器操作數(shù)的尋址方式(在第3章有詳細介紹),為以不同的地址形式訪問存儲單元提供方便。

  變址寄存器不可分割成8位寄存器。作為通用寄存器,也可存儲算術邏輯運算的操作數(shù)和運算結果。

它們可作一般的存儲器指針使用。在字符串操作指令的執(zhí)行過程中,對它們有特定的要求,而且還具有特殊的功能。具體描述請見第5.2.11節(jié)。

3、指針寄存器

  32位CPU有2個32位通用寄存器EBP和ESP。其低16位對應先前CPU中的SBP和SP,對低16位數(shù)據(jù)的存取,不影響高16位的數(shù)據(jù)。

寄存器EBP、ESP、BP和SP稱為指針寄存器(Pointer Register),主要用于存放堆棧內存儲單元的偏移量,用它們可實現(xiàn)多種存儲器操作數(shù)的尋址方式(在第3章有詳細介紹),為以不同的地址形式訪問存儲單元提供方便。

  指針寄存器不可分割成8位寄存器。作為通用寄存器,也可存儲算術邏輯運算的操作數(shù)和運算結果。

它們主要用于訪問堆棧內的存儲單元,并且規(guī)定:

  ·BP為基指針(Base Pointer)寄存器,用它可直接存取堆棧中的數(shù)據(jù);
  ·SP為堆棧指針(Stack Pointer)寄存器,用它只可訪問棧頂。

4、段寄存器

  段寄存器是根據(jù)內存分段的管理模式而設置的。內存單元的物理地址由段寄存器的值和一個偏移量組合而成的,這樣可用兩個較少位數(shù)的值組合成一個可訪問較大物理空間的內存地址。

CPU內部的段寄存器:
  ·CS——代碼段寄存器(Code Segment Register),其值為代碼段的段值;
  ·DS——數(shù)據(jù)段寄存器(Data Segment Register),其值為數(shù)據(jù)段的段值;
  ·ES——附加段寄存器(Extra Segment Register),其值為附加數(shù)據(jù)段的段值;
  ·SS——堆棧段寄存器(Stack Segment Register),其值為堆棧段的段值;
  ·FS——附加段寄存器(Extra Segment Register),其值為附加數(shù)據(jù)段的段值;
  ·GS——附加段寄存器(Extra Segment Register),其值為附加數(shù)據(jù)段的段值。

  在16位CPU系統(tǒng)中,它只有4個段寄存器,所以,程序在任何時刻至多有4個正在使用的段可直接訪問;在32位微機系統(tǒng)中,它有6個段寄存器,所以,在此環(huán)境下開發(fā)的程序最多可同時訪問6個段。

  32位CPU有兩個不同的工作方式:實方式和保護方式。在每種方式下,段寄存器的作用是不同的。有關規(guī)定簡單描述如下:

  實方式: 前4個段寄存器CS、DS、ES和SS與先前CPU中的所對應的段寄存器的含義完全一致,內存單元的邏輯地址仍為“段值:偏移量”的形式。為訪問某內存段內的數(shù)據(jù),必須使用該段寄存器和存儲單元的偏移量。
  保護方式: 在此方式下,情況要復雜得多,裝入段寄存器的不再是段值,而是稱為“選擇子”(Selector)的某個值。段寄存器的具體作用在此不作進一步介紹了,有興趣的讀者可參閱其它科技資料。

5、指令指針寄存器

  32位CPU把指令指針擴展到32位,并記作EIP,EIP的低16位與先前CPU中的IP作用相同。

  指令指針EIP、IP(Instruction Pointer)是存放下次將要執(zhí)行的指令在代碼段的偏移量。在具有預取指令功能的系統(tǒng)中,下次要執(zhí)行的指令通常已被預取到指令隊列中,除非發(fā)生轉移情況。所以,在理解它們的功能時,不考慮存在指令隊列的情況。

  在實方式下,由于每個段的最大范圍為64K,所以,EIP中的高16位肯定都為0,此時,相當于只用其低16位的IP來反映程序中指令的執(zhí)行次序。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉