菜鳥學彙編002 通用寄存器AX、BX、CX、DX

來源:互聯網
上載者:User

1. 8086CPU有14個寄存器,

    通用寄存器:AX、BX、CX、DX

    SI、DI

    SP、BP、IP

    CS、SS、DS、ES、PSW

 

    8086CPU的所有寄存器都是16位的。

 

    8位寄存器放存放十進位數的範圍:[0] 至 [2^8],  即 [0] ~ [255]

 

2. 看到上面這麼多寄存器,頭暈了不? = =~

 

3. 既然頭暈,就一個一個來吧。 先學習通用寄存器。

 

    通用寄存器用來存放一般性資料,所以稱為通用寄存器。

 

4. 有一個很有意思的地方。 8086CPU的上一代CPU,寄存器都是8位的,為了保證相容性,

 

    8086CPU中的AX、BX、CX、DX(通用寄存器) 都只可以分為2個獨立的8位寄存器來用。

 

    AX 可分為 AH AL

    BX 可分為 BH BL

    CX 可分為 CH CL

    DX 可分為 DH DL

 

    L 應該是 Lower 低8位(0 ~ 7位)的意思, H 應該是 Higher 高8位(8 ~ 15位)的意思.

 

5. 8086CPU可以一次性處理2種尺寸的資料: byte(位元組)、word(字)

 

    其中 一個字(word)由2個位元組組成, 1 word = 2 bytes.

 

6. 幾條彙編指令:

    mov ax, 18 將18送入寄存器AX<br />mov ah, 78 將78送入寄存器AH<br />add ax, 8 將寄存器AX中的數值加上8<br />mov ax, bx 將寄存器BX中的資料送入寄存器AX<br />add ax, bx 將AX和BX寄存器中的數值相加,結果存在AX中

 

7. 幾種常見錯誤:

 

    mov ax, bl (不能在8位和16位寄存器之間傳送資料)<br />mov bh, ax (不能在16位和8位寄存器之間傳送資料)<br />mov al, 20000 (8位寄存器最大可存放值為:255,這個20000 = =~)<br />add al, 100H (8位寄存器可存放不了這個高於8位的資料, 嘻嘻)

 

 

8. 程式碼範例:2個通用寄存器 add

    假設 ax 和 bx 都是 8226H

    add ax, bx

 

    // 以下進行小學加法運算

    8226H

                +

    8226H

 --------------------

  1044CH

 

    由於 ax 寄存器要存放 add 的結果值 1044CH, 而1044CH明顯是大於4位的16進位資料,

    ax 寄存器是16位寄存器,只能存放 16 / 4 = 4 位16進位資料,

    所以最高位 1 無法在ax 寄存器中儲存,最終 ax 寄存器中存放的資料為: 044CH

 

9. 程式碼範例:al 寄存器 add

    假設: al 中存放的資料為 C5H

    add al, 93H

 

    // 下面還是進行小學加法運算

    C5H

           +

    93H

----------------

  158H

 

    由於al 是8位寄存器,最多隻能存放 8 / 4 = 2位16進位資料,

    So, 最高位 1 無法在 al 寄存器中存放, 最終 al 寄存器中的資料為 58H

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.