小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

關(guān)于寄存器的總結(jié)

 TWJ2020 2020-03-11

   本章學(xué)習(xí)圍繞寄存器展開,學(xué)習(xí)了CPU概述、通用寄存器、字在寄存器中的存放、匯編指令: mov, add、8086給出物理地址的方法、段寄存器CS和指令指針寄存器IP這幾個知識點。以下我便逐個寫出我認(rèn)為該知識點中的值得注意的地方。

1、CPU中有字長與位寬兩個概念,字長表示CPU在單位時間內(nèi)能一次處理的二進制位數(shù)。該指標(biāo)反映出CPU內(nèi)部運算處理的速度。位寬表示CPU通過外部數(shù)據(jù)總線與內(nèi)存之間一次能夠傳送的數(shù)據(jù)位。我們常說的x位寄存器其實指的便是CPU的字長。

2、8086CPU的14個寄存器中只有AX、BX、CX、DX這四個通用寄存器可拆分為高八位和低八位兩個寄存器.。

3、在mov和add指令中,兩個操作對象的位數(shù)應(yīng)一致。也就是說執(zhí)行指令之前數(shù)據(jù)位數(shù)不可高于寄存器位數(shù),而執(zhí)行指令之后可以(高于部分將被舍去)。如add 案例,100H便是一條錯誤的語句。

4、每一個內(nèi)存單元在這個空間中都有唯一的地址,這個唯一的地址稱為物理地址。而8086結(jié)構(gòu)表現(xiàn)物理地址時會出現(xiàn)障礙,因為8086內(nèi)部的寄存器都是16位的,而外部地址總線寬度為20位。也就是說8086存只能存16位(64KB),傳卻能傳20位(1MB)。為了解決這一問題8086CPU采用了用兩個16位地址合成一個20位的物理地址的方法,方法公式如下:

                  基礎(chǔ)地址(段地址*16)+偏移地址=物理地址

值得注意的是,段只是一個邏輯上的概念,同一個物理地址可以拆分為多個不同的段地址和偏移地址的組合,可以根據(jù)需要,將地址連續(xù)、起始物理地址為16倍數(shù)的一組內(nèi)存單元(不超過64KB)當(dāng)作一個段使用。

5、段地址*16還有一個更常用的說法是左移四位,此處的位數(shù)指的是二進制位數(shù)。一個數(shù)值的二進制形式左移N位,相當(dāng)于該數(shù)據(jù)乘以2的N次方。一個X進制的數(shù)據(jù)左移1位,相當(dāng)于乘以X。故而二進制左移4位其實就是十六進制左移一位。舉例:20H的數(shù)據(jù)乘以16后便會變成200H。

6、CS是代碼段段寄存器,用于存放代碼段的段地址。IP是指令指針寄存器,用于存放CPU將要讀取的指令在代碼段中的偏移地址。CS:IP對應(yīng)的物理地址存放的是CPU將要讀取的指令。CS和IP在總是成對出現(xiàn),(CS) × 16 + (IP)  = 指令的物理地址

7、計算機的工作過程有如下三個步驟:

第1步: CPU基于CS:IP,計算出物理地址,然后到相應(yīng)的內(nèi)存單元讀取指令,送到指令緩沖區(qū)。

第2步: CPU自動修改IP的值,IP = IP + 所讀取指令的長度,從而為下一條指令讀取做準(zhǔn)備;

第3步: 執(zhí)行指令。 轉(zhuǎn)第1步,重復(fù)此過程。

8、在CPU剛開始工作時,CS和IP被設(shè)置為CS=FFFFH,IP=0000H。若需指定CS和IP的值,則用指令cmp修改其二者內(nèi)容。

(1) 同時修改CS、IP的內(nèi)容:jmp   段地址: 偏移地址

    (2) 只修改IP的內(nèi)容:jmp   某一合法寄存器(注意此處需要用一寄存器來對IP賦值,不可直接將數(shù)據(jù)傳給IP)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多