8086匯編 - 寄存器

寄存器

  • CPU的典型構(gòu)成
    內(nèi)部部件之間由總線相連


CPU的典型構(gòu)成

  • 對(duì)程序員來(lái)說(shuō),CPU中最主要部件是寄存器,可以通過(guò)改變寄存器的內(nèi)容來(lái)實(shí)現(xiàn)對(duì)CPU的控制
  • 不同的CPU,寄存器的個(gè)數(shù)、結(jié)構(gòu)是不相同的(8086是16位結(jié)構(gòu)的CPU)
  • 8086有14個(gè)寄存器
    都是16位的寄存器
    可以存放2個(gè)字節(jié)


通用寄存器

  • AX、BX、CX、DX這4個(gè)寄存器通常用來(lái)存放一般性的數(shù)據(jù),稱為通用寄存器(有時(shí)也有特定用途)
  • 通常,CPU會(huì)先將內(nèi)存中的數(shù)據(jù)存儲(chǔ)到通用寄存器中,然后再對(duì)通用寄存器中的數(shù)據(jù)進(jìn)行運(yùn)算
  • 假設(shè)內(nèi)存中有塊紅色內(nèi)存空間的值是3,現(xiàn)在想把它的值加1,并將結(jié)果存儲(chǔ)到藍(lán)色內(nèi)存空間

CPU首先會(huì)將紅色內(nèi)存空間的值放到AX寄存器中:mov ax,紅色內(nèi)存空間
然后讓AX寄存器與1相加:add ax,1
最后將值賦值給內(nèi)存空間:mov 藍(lán)色內(nèi)存空間,ax

  • AX、BX、CX、DX這4個(gè)通用寄存器都是16位的,如下圖所示


  • 上一代8086的寄存器都是8位的,為了保證兼容, AX、BX、CX、DX都可分為2個(gè)獨(dú)立的8位寄存器來(lái)使用
    H代表高位寄存器
    L代表低位寄存器

字節(jié)與字

  • 在匯編的數(shù)據(jù)存儲(chǔ)中,有2個(gè)比較常用的單位
    字節(jié):byte,1個(gè)字節(jié)由8bit組成,可以存儲(chǔ)在8位寄存器中
    字:word,1個(gè)字由2個(gè)字節(jié)組成,這2個(gè)字節(jié)分別稱為字的高字節(jié)和低字節(jié)

  • 比如數(shù)據(jù)20000(4E20H,0100111000100000B),高字節(jié)的值是78,低字節(jié)的值是32


  • 1個(gè)字可以存在1個(gè)16位寄存器中,這個(gè)字的高字節(jié)、低字節(jié)分別存儲(chǔ)在這個(gè)寄存器的高8位寄存器、低8位寄存器中

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容