如何實現16位內部地址到20位實際地址的轉換

物理地址=段地址*16+偏移地址(這裏的物理地址是20位的,即0x00000 - 0xffffff這個範圍的地址
就是一個寄存器裏的左移4位  加上 另外一個寄存器裏的偏移地址(16×64k+表示範圍是64k的地址即對應所謂的20位
20根地址線,表示 0x00000 - 0xffffff這個範圍的地址
而寄存器16位 您想一想還有4位怎麼辦? 恰好錯開(左移4位) 相加 組成20位
附:
段地址:8086CPU將1MB的存儲器空間分紅許多邏輯段,每一個段最大限制爲64KB, 段地址就是邏輯段在主存中的起始位置spa

偏移地址:存儲單元距離段起始位置的偏移量簡稱偏移地址,因爲限定每段 不超過64KB,因此偏移地址也能夠用16位數據表示。數據

物理地 址:在1M字節的存儲器裏,每個存儲單元都有一個惟一的20位地址,稱爲該存儲單元的物理地址,把段地址左移4位再加上偏移地址就造成物理地址(0--65535的數據能夠用16位來表達,可是超過65536了,16位表達不了,因而工程師們想了一個辦法,比分說要表達65537,即爲 1×65536+1,這裏的第2個1便是偏移值,必須小於65536,第1個1其範圍必須小於16,由於左移4位,最大表示是16嘛)。co