匯編05

  • CPU中,用16位寄存器來存儲(chǔ)一個(gè)字。高8位存放高位字節(jié),低8位存放低位字節(jié)。在內(nèi)存中存儲(chǔ)時(shí),由于內(nèi)存單元是字節(jié)單元(一個(gè)單元存放一個(gè)字節(jié)),則一個(gè)字要用兩個(gè)地址連續(xù)的內(nèi)存單元來存放,這個(gè)字的低位字節(jié)存放在低地址單元中,高位字節(jié)存放在高地址單元中。

  • 字單元:即存放一個(gè)字型數(shù)據(jù)(16位)的內(nèi)存單元,由兩個(gè)地址連續(xù)的內(nèi)存單元組成。

  • N地址單元:將起始地址為N的字單元簡稱為N地址字單元。比如一個(gè)字單元由2、3兩個(gè)內(nèi)存單元組成,則這個(gè)字單元的起始地址為2,我們可以說這是2地址字單元。

  • CPU要讀寫一個(gè)內(nèi)存單元的時(shí)候,必須先給出這個(gè)內(nèi)存單元的地址,在8086PC中,內(nèi)存地址由段地址和偏移地址組成。

  • 8086CPU中有一個(gè)DS寄存器,通常用來存放要訪問數(shù)據(jù)的段地址,比如我們要讀取10000H單元的內(nèi)容,可以用如下的程序段進(jìn)行:

mov bx,1000H
mov ds,bx
mov al,[0]

上面的3條指令將10000H(1000:0)中的數(shù)據(jù)讀到al中。


  • 前面使用mov指令,可完成兩種傳送:

    1. 將數(shù)據(jù)直接送入寄存器中,如: mov bx,1000H
    2. 將一個(gè)寄存器中的內(nèi)容送入另一個(gè)寄存器,如:mov ds,bx
  • 也可以使用mov指令將一個(gè)內(nèi)存單元中的內(nèi)容送入一個(gè)寄存器中。

  • “[...]”表示一個(gè)內(nèi)存單元,“[0]”中的0表示內(nèi)存單元的偏移地址,執(zhí)行指令時(shí),8086CPU自動(dòng)取ds中的數(shù)據(jù)為內(nèi)存單元的段地址。

  • 8086CPU不支持將數(shù)據(jù)直接送入段寄存器的操作,如:mov ds,1000H錯(cuò)誤的。所以只好用一個(gè)寄存器來進(jìn)行中轉(zhuǎn),即先將1000H送入一個(gè)一般的寄存器,如bx,再將bx中的內(nèi)容送入ds。

  • 因?yàn)?086CPU是16位結(jié)構(gòu),有16根數(shù)據(jù)線,所以,可以一次性傳送16位的數(shù)據(jù),也就是說可一次性傳送一個(gè)字。只要在mov指令中給出16位的寄存器就可以進(jìn)行16位數(shù)據(jù)的傳送了。比如:

mov bx,1000H
mov ds,bx
mov ax,[0] ;1000:0處的字型數(shù)據(jù)送入ax
mov [0],cx ;cx中的16位數(shù)據(jù)傳送到1000:0處

  • P51-P53

  • push ax表示將寄存器ax中的數(shù)據(jù)送入棧中,pop ax表示從棧頂取出數(shù)據(jù)送入ax。

  • 8086CPU的入棧和出棧操作都是以為單位進(jìn)行的。

  • 8086CPU中,有兩個(gè)寄存器,段寄存器SS和寄存器SP,棧頂?shù)亩蔚刂反娣旁赟S中,偏移地址存放在SP中。

  • 任意時(shí)刻,SS:SP指向棧頂元素

  • 棧頂?shù)奈恢檬窃诟叩刂贰?/p>

  • push ax 的執(zhí)行,由以下兩步執(zhí)行:

    1. SP=SP-2,SS:SP指向當(dāng)前棧頂前面單元,以當(dāng)前棧頂前面的單元為新的棧頂。
    2. 將ax中的內(nèi)容送入SS:SP指向的內(nèi)存單元處,SS:SP此時(shí)指向新棧頂。
  • pop ax 的執(zhí)行,由以下兩步執(zhí)行:

    1. 將SS:SP指向的內(nèi)存單元處的數(shù)據(jù)送入ax。
    2. SP=SP+2,SS:SP指向當(dāng)前棧頂下面的單元,以當(dāng)前棧頂下面的單元為新的棧頂。
  • 棧頂超界問題(P61)

  • push和pop指令的格式可以是如下形式:

push 寄存器
push 段寄存器
push 內(nèi)存單元

  • 棧段(P68)

  • 實(shí)驗(yàn)2(P71)

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

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

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