1. 程式人生 > >邏輯地址(段地址,偏移地址)知識點全面回顧

邏輯地址(段地址,偏移地址)知識點全面回顧

1.什麼是邏輯地址?

:邏輯地址是使用者程式設計時使用的地址,分為段地址和偏移地址兩部分。

邏輯地址表示形式:3020:055AH---------(組合語言中,數字後面加H表示16進位制)

2.為什麼要用邏輯地址?(邏輯地址的產生背景)

:8086cpu訪問儲存器時,地址暫存器(16位)要先向地址匯流排發出地址訊號(地址匯流排是專門用來存取記憶體地址的,故與記憶體單元有關,20位),而地址暫存器只有16位,從地址暫存器發出的地址訊號,所能訪問的儲存空間只有2^16 = 65536 = 64KB,達不到20位地址匯流排所提供的地址範圍。

針對這種情況,就把記憶體地址分為若干段,每段有一些儲存單元構成。用段地址指出是哪一段,偏移地址標明是段中的哪一個單元。

3.什麼叫段地址,偏移地址?之間有什麼關係?

:1.把記憶體地址分為若干段,每段有一些儲存單元構成。用段地址指出是哪一段,偏移地址標明是段中的哪一個單元。

     2.段地址和偏移地址都是16位2進位制數。

     3.段地址和偏移地址有多種組合,故存在多個地址組合指向同一個儲存單元上。

4.邏輯地址唯一麼?

:不唯一,因為段地址和偏移有多種組合,故存在多個地址組合指向同一個儲存單元上。

5.cpu執行程式時,採用的是邏輯地址還是實體地址?

:實體地址---使用者程式設計時採用的邏輯地址在cpu執行程式時都要轉換成實體地址。

這是由cpu的地址加法器完成的。

邏輯地址與實體地址的轉換:

6.邏輯地址怎樣轉換為實體地址?

:轉換時,先將16位的段地址左移4位,相當於乘以16或者16進位制的10H,再和偏移地址相加。

轉換公式為:

實體地址 = 段地址*10H + 偏移地址

如:將3020:055AH轉換為實體地址:----= 3020*10H(左移四位)+055AH = 3075AH

7段與偏移地址是什麼關係?

:段是由儲存單元構成的,段包含偏移地址對應的儲存單元。即偏移地址對應的位元組儲存單元在段中。.

8.段的大小指的是什麼?

:指的是這個段包含儲存單元的多少。

9.將記憶體分段的依據?以及段的相關知識

:段地址和偏移地址都是16位二進位制數,

每段最大64K位元組單元(2^16=65536 = 64KB),每段最小16個位元組單元(硬性規定),也可以100個,1000個到最多達到65536個。

偏移地址範圍:0000H --- FFFFH

10.什麼叫小段?

:規定每16個位元組單元為一小段。

轉載自:http://blog.csdn.net/thisispan/article/details/7685040