1. 若偏存地址來自sp寄存器則在計算物理地址時段基址來自於什麼寄存器
基址"可以"來源於SS段寄存器,為CPU默認搭配。也可以使用其他段寄存器,但需要明確使用段超越。
2. 段地址和段基址的區別
段地址 = 段基址 × 16 + 偏移地址
也就是:實際地址 = 段基址 × 16 + 補償地址
段地址指的是物理地址
段基址指的是當前段寄存器的內容。
3. 物理地址的首址和末地址
首地址等於基址後面加0,尾地址等於首地址加上段址空間寬度64K,答案為
DS:12100H~220FFH
ES:0A3010H~0B310FH
CS:634E0H~734DFH
物理地址是你的網卡地址,MAC(Media Access Control, 介質訪問控制)地址是識別LAN(區域網)節點的標識。
網卡的物理地址通常是由網卡生產廠家燒入網卡的EPROM(一種快閃記憶體晶元,通常可以通過程序擦寫),它存儲的是傳輸數據時真正賴以標識發出數據的電腦和接收數據的主機的地址。
(3)物理和地址中段基址默認是什麼擴展閱讀:
邏輯地址就是IP地址,是虛擬的,實際不存在的,它在網路中用來定義不同的網路,使其不會發生數據混亂,在OSI七層模型中屬於第三層網路層的。
內存必須容納操作系統和各種用戶進程,因此必須盡可能有效得分配內存,在分配內存過程中,通常需要將多個進程放入內存中,前面提到過,需要每個進程的空間相互獨立。
而且必須保護每個進程的內存空間的獨立性,如果不同的進程間需要通信,可以按照前面提到的通信方法進行通信,但是在此時,考慮內存空間獨立性的實現。
4. 源操作數的物理地址是es ds ss 怎麼判斷
這圖太難看了
5. 匯編題,請指教
邏輯地址和物理地址的轉換問題。
物理地址=段基址×16+段內偏移地址,乘16就相當於把段基址左移4位,所以(ds)=3000h(即0011 0000 0000 0000B)左移四位就是30000h(即0011 0000 0000 0000 0000B)。
6. 段基址的概念
在80x86 CPU中設置的段寄存器只有16位,只能存放20位段起始地址的高16位,稱它為段基值(Segment Base Value),而機器將段起始地址的低4位設置為0。故將段基值左移4位後(即末尾加4位二進制0),就得到一個20位的段起始地址,稱它為段基地址或段基址(Segment Base Address)。顯然,段基址為xxxx0H,其低4位二進制數為0,即能被16整除的主存物理地址才可作為段基址。
7. 段基地址是什麼
X86實模式下內存地址為20位二進制數(5位16進制數),一般表示成xxxx:yyyy(16進制)的形式,稱為邏輯地址;對應的物理地址為xxxx0+yyyy。邏輯地址中的xxxx就稱為段基址,yyyy稱為偏移量。多個邏輯地址可能對應同一個物理地址。
因為物理地址的計算公式是xxxx0+yyyy,所以要先在段基地址xxxx的後面補4個0(2進制,在16進制下就是一個0),再加上偏移量。
8. 誰能幫我解釋一下,匯編語言中的物理地址,段基址和偏移地址的具體含義,及作用,要詳細一點,謝謝!
物理地址就是數據在內存中實際存放的位置.因為8086或8088有20條地址線,定址能力有2的20次方,1MBit.而8086或8088內部寄存器是是16位的,無法用一個位完全表示出來.所以採用段首地址+偏移量兩個寄存器來表示的方式,俗稱PC或CS:IP來表示一個實際的物理地址,這就是所謂的虛擬地址.例如段首地址為0000H,而偏移量的范圍就在0000H-FFFFH之間,就表示00000H-0FFFFH的實際內存單元.就是說一個段的大小在64Kb.
SUB1 DB 03H,35H 這個命令中,SUB1表示存放03H,35H這兩個數據的首地址,相當於C語言中字元串數組的首地址.假如這個SUB1在數據段中,有專門的數據段寄存器DS,它的實際地址就是DS:SUB1
9. 物理地址.邏輯地址.段地址.偏移地址的具體含義和作用是什麼
實模式下,每個存儲單元分配一個惟一的20位二進制數(5位十六進制數)的存儲器地址,稱為物理地址。
邏輯地址由16位二進制數(4位十六進制數)的段地址和偏移地址組成。
段首地址:5位十六進制數中的末尾1位十六進制數為0的地址,即可作為段首地址
段地址是指每一段的段首地址的高4位十六進制數,通常被保存在某個段寄存器中。
偏移地址則是指在段內相對於段首地址的偏移值,也取4位十六進制數。