8086儲存器組織以及運算元定址方式

2021-09-23 20:49:59 字數 3307 閱讀 6487

時鐘週期:時鐘週期是cpu的基本時間計量單位,由cpu主頻決定,數值上等於cpu主頻的倒數。乙個時鐘週期又稱為乙個t狀態,因此基本匯流排週期可以用t1、t2、t3、t4表示。

ale:位址鎖存訊號,t1結束的時候,電平由高跳變至低,將位址鎖存起來,由位址鎖存器給cpu提供位址,t1時ale為高電平:ab有效。

bhe非/s7:高8位匯流排允許訊號,低,表示高8位有效,高,表示低8位有效。

dt/r(非):資料傳送方向,高:cpu輸出,低:cpu輸入。

8086有20根位址線,可以配置1mb的記憶體儲器。每個儲存單元儲存乙個位元組(8位)資料,若要儲存乙個字,則將其存放在兩個相鄰的儲存單元中,高位元組存放在高位址單元中,低位元組存放在低位址單元中。每個儲存單元由20位位址,1m個儲存單元對應的位址為00000h~fffffh。

乙個儲存單元存放的資訊稱為該單元的內容,表示為:(00001)=9fh;含義是位址為10001的儲存單元存放的資料是9fh;mov al,[0001](假設位址從0開始)。如果從位址為0011fh開始的連續的兩個儲存單元存放的字型資料為df46h,記為(0011f)=df46h;mov ax,[0011f]

4種運算元:

(1)立即數運算元:運算元包含在指令位元組中。即指令格式中運算元部分就是運算元本身。

(2)暫存器運算元:運算元存放在cpu的某個內部暫存器中。

(3)儲存器運算元:運算元在記憶體的資料區中。

(4)i/o埠運算元:運算元來自或送到i/o埠。

運算元可分為資料運算元和位址運算元,因此定址方式也分為資料定址方式和位址定址方式。

4種運算元定址方式:

(1)立即數定址方式

#指令中的運算元直接存放在機器**中,緊跟在操作碼之後(運算元作為指令的一部分存放在操作碼之後的主存單元中);

#可以是8位數值(00h~ffh)

也可以是16位數值(0000h~ffffh);

#立即數定址方式常用來給暫存器和儲存單元賦值,多以常量形式出現。例:mov ax,1234h;源運算元定址方式即為立即數定址方式。

(2)暫存器定址方式

#運算元存放在cpu內部暫存器中:

8位暫存器:ah,al,bh,bl,ch,cl,dh,dl

16位暫存器:ax,bx,cx,dx,si,di,bp,sp

4個段暫存器:cs,ds,ds,ss,es

#暫存器名表示其內容(運算元)

例如:mov ax,cx

(3)i/o埠定址方式

#直接埠定址方式:當埠位址小於等於ffh時,直接給出埠位址,例:in al,21h;注意,此時21h是埠位址,而不是立即數。

#間接埠定址方式:當埠位址大於ffh時,將埠位址先送到dx中,然後再進行操作。例:

(4)儲存器定址方式

#運算元存放在儲存器單元中,要訪問運算元就必須知道其儲存器的單元位址,在指令中可直接或間接給出運算元的位址。指令中給出的位址只是有效位址,由「」括起來。若要從儲存器中訪問運算元必須知道其實體地址。實體地址=(as/bs/cs/ds×10h+偏移位址(實體地址=段基址×10h+有效位址)。

#有效位址可以由以下3種位址分量構成:位移量:存放在指令中的乙個8位或16位數值;基址:存放在基址暫存器bx或bp中的內容;變址:存放在變址暫存器si或di中的內容。

a:直接定址方式:有效位址在指令中直接給出,例:mov ax,[2000h],預設的段位址在ds暫存器,[2000h]表示在記憶體中資料段段暫存器中偏移位址為2000h儲存單元的內容,其實體地址為:ds×10h+2000h;mov ax,es:[2000h]表示記憶體中附加資料段中偏移位址為2000h儲存單元中的內容送到ax中,其實體地址為:es×10h+2000h。

例:mov al,[1064h]

b:暫存器間接定址

#有效位址存放在基址暫存器bx、bp或變址暫存器si、di中

#段位址對應的bx/si/di暫存器預設是ds,對應bp暫存器預設是ss;可用段超越字首改變。

例:mov ax,[si]

c:暫存器相對定址方式

#有效位址是暫存器內容與有符號數8位或16位位移量之和,暫存器可以是bx/bp/si/di 有效位址=bx/bp/si/di+8/16位位移量

#段位址對應bx/si/di暫存器預設是ds,對應bp暫存器預設是ss;可用段超越字首改變。

例:mov cl,[bx+1064h]

d:基址加變址定址方式

#有效位址由基址暫存器(bx/bp)的內容加上變址暫存器(si/di)的內容構成;有效位址=bx/bp+si/di

#段位址對應bx基址暫存器預設是ds,對應bp基址暫存器預設是ss;可用段超越字首改變。

例:mov ah,[bp] [si]

e:基址加變址相對定址

#有效位址是基址暫存器(bx/bp)、變址暫存器(si/di)與乙個8位或16位位移量之和;

有效位址=bx/bp+si/di+8/16位位移量

#段位址對應bx基址暫存器預設是ds,對應bp基址暫存器預設是ss;可用段超越字首改變。

例:mov [bx+di+1234h],ah

8086儲存器的分段組織與管理

1 熟悉8086儲存器的分段管理方式。2 掌握儲存單元位址的兩種描述方式 實體地址和邏輯位址,以及從邏輯位址到實體地址的換算方法。記憶體是設定在主機內部的儲存器,能被cpu直接訪問,主要用來存放當前執行的程式和所需的數 據,以便隨時向cpu提供資訊。它與cpu的聯絡最密切,若把cpu比作生產成品的工...

8086與儲存器

選中80h位址,允許cpu對介面的讀操作。選中0ffh埠,允許cpu對介面進行寫操作。選擇乙個範圍f800h ffffh,其中,偶位址為 1,奇位址為 0 27c128是一種16k8位的sram晶元,由14位位址線和8位資料線組成。兩片27c128可擴充套件總容量至32kb 其中u7片選擇偶位址,u...

微機介面原理定址方式以及8086系統常用指令

例如 例如 3.1.直接定址方式 3.2.暫存器間接定址 若有效位址存放在bp暫存器中,則運算元在堆疊段中,即運算元實體地址為 可使用段跨越字首來取得其他段中的資料,如 暫存器相對定址方式 以bp作為基址 基址變址定址方式 相對基址變址定址方式 當偏移量為16位時,則在符號位址前加操作運算子near...