3 暫存器(記憶體訪問)

2022-01-17 04:38:55 字數 1229 閱讀 3214

cpu中,用16位來儲存乙個字。高8位存放高位位元組,低8位存放低位位元組。

記憶體儲存中,記憶體單元是位元組單元(1單元=1位元組),則乙個字要用兩個位址連續的記憶體單元存放。

記憶體儲存中,高位位元組,和低位位元組是相對的,指令指向的是低位位元組。

字單元,即存放乙個字型資料(16位=2位元組)的記憶體單元,由兩個位址連續的記憶體單元組成。

8086cpu中有乙個ds暫存器,通常用來存放要訪問資料的段位址

mov指令的幾種種功能:

「[...]」表示乙個記憶體單元,「[...]」中的內容則表示記憶體單元的偏移位址。

8086cpu中,不能給ds暫存器直接賦值,需要通過通用暫存器間接賦值,如「段位址-->通用暫存器-->ds暫存器」。

add指令表示相加,sub指令表示相減。

[address]便是乙個偏移位址為address的記憶體單元。

mov、add、sub是具有兩個操作物件的指令。jmp是具有乙個操作物件的指令。

是一種具有特殊的訪問方式的儲存空間,它的特殊性就在於,先進後出的特性。

8086cpu提供了入棧和出棧指令,最基本的兩個是push(入棧)pop(出棧)。

8086cpu的入棧和出棧操作都是以字(2位元組)為單位進行的。

8086cpu中,有兩個暫存器,段暫存器ss和暫存器sp,棧頂的段位址存放在ss中,偏移位址存放在sp中。

任意時刻,ss:sp指向棧頂元素

push入棧時,sp=sp-2(1字),棧頂從高位址向低位址方向增長,出棧時則sp=sp+2.

棧為空時,棧中沒有元素,也就不存在棧頂元素,所以ss:sp只能指向最底部單元下面的單元

8086cpu不能保證我們對棧的操作不會超界,它只知道棧頂在何處(有ss:sp指示),並不知道這個棧有多大。

push和pop指令可以有如下形式:

請靈活,仔細運用cs:ip(指令),ds:[...](資料),ss:sp(棧)

mysql 訪問暫存器 暫存器 記憶體訪問

一 ds和 address cpu要讀寫乙個記憶體單元的時候,必須先給出這個記憶體單元的位址,在8086pc中記憶體位址有段位址和偏移位址組成。ds 資料暫存器 中通常存放要訪問資料的段位址。比如要讀取1000h單元的內容,可以用下面這段 mov bx,1000h mov ds,bx mov al,...

暫存器(記憶體訪問)

1 記憶體中字的儲存 高位址儲存高位,低位址儲存地位。任何兩個位址連續的記憶體單元,n號單元和n 1號單元,可以將它們看成兩個記憶體單元,也可以看成乙個位址為n的字單元中的高位位元組單元和地位位元組單元。2 ds和 adress cpu要讀取乙個記憶體單元的時候,必須先給出這個記憶體單元的位址。在8...

暫存器(記憶體訪問)

記憶體中字的儲存 ds和 address mov ax,1000h mov ds,axmov add的更多用法 指令描述 mov 暫存器,偏移位址 將位址為ds 偏移位址中的資料送入暫存器 mov 偏移位址 暫存器 將暫存器中的值送入ds 偏移位址 add 暫存器,偏移位址 將指定位址中的值加入暫存...