1)存儲器編址
由于微處理器内部的寄存器和ALU都是16位的,為了友善20位的位址管理,在8086對存儲器管理的設計中,采用了分段管理的技術。
采用分段方法進行編址的優點:
減少指令長度,提高指令執行速度。
為程式的浮動裝配創造了條件。
(1)實體位址和邏輯位址
對應每個實體存儲單元都有一個唯一的20位編号,就是實體位址,從00000H~FFFFFH。
使用者程式設計時,采用邏輯位址,形式為: 段位址 : 偏移量
一個存儲單元具有一個唯一的實體位址,但具有多個邏輯位址。
(2)邏輯位址轉換為實體位址
将邏輯位址中的段位址左移4位,加上偏移量就得到20位實體位址。
(3)段寄存器使用時的一些基本約定
這裡寫圖檔描述
(4)段配置設定方式
8086對邏輯段要求:
每個段最大限制為64KB
段位址的低4位為0000B
各段可以獨立占用64KB存儲區,各段也可以允許重疊
1MB空間最多能分成64K段
1MB空間最少能分成16個段
(5)8086系統幾個固定使用的區域
00000H~003FFH:中斷向量表
B0000H~B0F9FH:單色顯示器的顯示緩沖區
B8000H~BBF3FH:彩色顯示器的顯示緩沖區
FFFF0H~FFFFFH:無條件轉移指令
2)I/O編址
8086允許有65536(64K)個8位的I/O端口,兩個編号相鄰的8位端口可以組合成一個16位的端口。(BHE#=0、A0=0)
8086的I/O可采用獨立編址方式
- I/O位址空間:64K
- 端口位址範圍:0000~FFFFH
- 8位/16位端口
- 對I/O端口操作時,需要用專門的指令進行操作,并且隻能夠通過累加器(AL或AX)來完成。
8086的I/O亦可采用統一編址方式