8086 奇偶分體與邊界對齊

2021-10-06 12:57:01 字數 1099 閱讀 7239

8086 資料型別分倆種,字(16 bit)型別和位元組(8 bit)型別

有時要讀字型別,有時又要讀位元組型別

為什麼需要字型別呢?因為需要對以前的老處理器(8 bit 暫存器)做向下相容

將一塊儲存體,平分為兩個部分,每個部分 8 bit 的寬度,一部分全是奇數字址,另外一部分全是偶數字址

將高 8 位位址線與偶儲存體相連,將低 8 位位址線與奇儲存體相連

字型別的資料需要連續讀取兩個 8 bit 儲存單元,必然儲存單元位址乙個是奇數,另乙個是偶數

使用位元組型別時,只需要讀取乙個 8 bit 儲存單元,所以儲存單元位址可以是奇數,也可以是偶數

a0傳送的資料

指令舉例00

兩個連續的位元組

mov ax, [2002h]01

奇位址的位元組

mov al, [2002h]10

偶位址的位元組

mov ah, [2002h]11

不傳送無

當讀取資料時,我們希望在乙個週期內讀取到所有資料,如果只是使用奇偶分體還是做不到的

如果不對齊,如下圖,當讀取第乙個位元組資料時可以乙個週期內讀到,但讀取字資料時就需要兩個週期了

所以我們需要將不足乙個字長的資料,補充為乙個字長

org $+1 ; 也可以用 even 和 align 2

d2 dw 8888h

高階語言都會對自動幫你優化成邊界對齊,如果是使用彙編,需要你人為干預

8086與儲存器

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

低邊驅動與高邊驅動

高邊指電源,低邊指地,高邊驅動和低邊驅動是用來除錯功率的,以驅動負載。高邊驅動 開關位於電源和負載之間 低邊驅動 開關位於負載和地之間。通俗的來講,高邊驅動 hsd 是指通過直接在用電器或者驅動裝置前通過在電源線閉合開關來實現驅動裝置的使能,而低邊驅動 lsd 則是通過在用電器或者驅動裝置後,通過閉...

邊雙聯通分量與割邊

在圖論中,除了在有向圖中的強連通分量,在無向圖中還有一類雙聯通分量 雙聯通分量一般是指點雙連通分量 當然,還有一種叫做邊雙連通分量 對於乙個連通圖,如果任意兩點至少存在兩條 邊不重複 的路徑,則說圖是點雙連通的,邊雙連通的極大子圖稱為邊雙連通分量。邊雙聯通分量的計算方法比較簡單 模擬tarjan求強...