開啟主選單

求真百科

偏移量
圖片來自優酷

計算機匯編語言偏移量,計算機匯編語言,是指把存儲單元實際地址與其所在段的段地址之間的距離稱為段內偏移,也稱為「有效地址或偏移量」。

  • 外文名:Offset
  • 學 科:信息工程
  • 領 域:工程技術

目錄

簡介

段地址左移四位,與有效地址相加,就構成了邏輯地址。一般而言,段地址是cpu自己獨立編制的,但是偏移量是程序員編寫的。偏移量就是程序的邏輯地址與段首的差值。

在早期的8086中地址線是20位的,而段地址是16位。在十六進制下就是4位。這樣一個段寄存器就不能完整的描述出內存的地址。所以就和通用寄存器配用。偏移量存在通用寄存器中,段地址則存在段寄存器中。而地址首的五位(十六進制下,二十地址線是五位)有個特點,即末尾總是零,所以就取前四位當做段地址。正好是段地址的存儲空間大小。所以在上圖中,按照地址存儲時的分法,倒過來組合,即左移四位(二進制下,十六進制是一位),比如段地址為1001H(H十六進制之意),左移一位(乘以16),即補零變為10010H,假設偏移地址是1010H,則實際物理地址就是11020H了。形象來說,段地址是頭,偏移量是實際位置相對頭的位置 [1]

指定段和偏移量

實模式中,內存比保護模式中的結構更令人困惑。內存被分割成段,並且,操作內存時,需要指定段和偏移量。

段-寄存器這種格局是早期硬件電路限制留下的一個傷疤。地址總線在當時有20-bit。然而20-bit的地址不能放到16-bit的寄存器里,這意味着有4-bit必須放到別的地方。因此,為了訪問所有的內存,必須使用兩個16-bit寄存器。 這一設計上的折衷方案導致了偏移量格局。最初的設計中,其中一個寄存器只有4-bit有效,然而為了簡化程序,兩個寄存器都是16-bit有效,並在執行時求出加權和來標識20-bit地址。 偏移量是16-bit的,因此,一個段是64KB [2]

燈光偏移

燈光偏移可以理解為車燈光束上下左右的偏移情況,就是照的正不正。相關政策中燈光偏移是這樣描述的:「在檢驗前照燈近光光束照射位置時,前照燈照射在距離10m的屏幕上時,乘用車前照燈近光光束明暗截止線轉角或中點的高度應為0.7H~0.9H(H為前照燈基準中心高度,下同),其它機動車(拖拉機運輸機組除外)應為0.6H~0.8H。機動車(裝有一隻前照燈的機動車除外)前照燈近光光束水平方向位置向左偏不允許超過170mm,向右偏不允許超過350mm [3] 。」

視頻

偏移量計算方法

含看視頻

參考文獻