1. 程式人生 > >80386 處理器的定址方式

80386 處理器的定址方式

 在實式模式下,80386處理器的最大定址空間仍然為1M,和8086/8088相似。即段地址
*10H+段內偏移地址,從而形成20位地址。此種模式下,段基址是16的倍數,長度最大不

超過64K

 在保護模式下,80386處理器可以使用所有的實體記憶體。段基址可以是32位,也可以不

16的倍數,同時它的最大長度為4G,這與8086完全不同,在形成邏輯地址時用段基址
直接加上段內偏移地址,而並不將段基址左移4(乘以16)。通常情況下,除了訪問堆疊外,
預設的段都為DS,有跨段字首就另當別論了。在以BPEBPESP作為基址暫存器時,這
時預設的段暫存器應該是SS,舉幾個簡單的例子:
   MOV EAX,[SI];這裡的段暫存器是DS
   MOV EAX,FS:[ESI];這裡的段暫存器是FS,因為指令中使用跨段字首顯示指定了
   MOV EAX,[BP];這裡的段暫存器是SS,因為指令中使用了BP作為基址暫存器
   MOV EAX,GS:[BP];這裡段暫存器是GS,因為指令中使用跨段字首顯示指定了
   8038632位數的操作的順序是高高低低,即是說高16-》高16,高8-》高8,低16-
16,低8-》低8,這和8086相似。同時80386微處理器相容所有8086的定址方式,而且
8086的定址方式有很大的改進和擴充套件。在8086下,只允許BP
BXSIDI作為定址
暫存器,但在80386下,8個通用暫存器都可以作為定址暫存器。不過有一點要注意的是在
基址變址暫存器定址方式或相對基址變址定址方式中,段暫存器由基址暫存器來確定,而不
是由變址暫存器來確定,同時除ESP外其它的7個通用暫存器都可以作為變址暫存器,用
程式碼來表示就是:
  MOV EAX,[EBP+ESP+2];這條指令是錯誤的,因為不可以用ESP作為變址暫存器
  MOV EAX,[EBP+ESI+10H];這裡的段暫存器應該有基址暫存器來決定。 基址暫存器是 BP
那麼這裡的段寄存就是SS
  MOV EAX,GS:[EBP+EDI+100H];不用看了,這裡的段暫存器應該是
GS,因為指令通過跨
段字首顯示指定了
  80386支援的基地址+變址+位移量定址進一步滿足了高階語言支援的資料型別。對於C
語言來講,普通變數,陣列,結構體,結構體的陣列,陣列的構體我們既可存放在棧中(
態定義-static definition),也可以存放在堆中(動態定義-dynamic definition),ASM也一樣可

以實現。基址變址暫存器提供了兩個可以改變的部分,而位移量則是靜態的。

相關推薦

80386 處理器方式

 在實式模式下,80386處理器的最大定址空間仍然為1M,和8086/8088相似。即段地址 *10H+段內偏移地址,從而形成20位地址。此種模式下,段基址是16的倍數,長度最大不 超過64

80386處理器方式

        在實式模式下,80386處理器的最大定址空間仍然為1M,和8086/8088相似。即段地址*10H+段內偏移地址,從而形成20位地址。此種模式下,段基址是16的倍數,長度最大不超過64K。       在保護模式下,80386處理器可以使用所有的實體記憶體。段

16-8086處理器方式

CPU作為計算機的中央處理器,每天忙忙碌碌,只要它工作著就會不斷地執行指令,處理各種資料。既然要處理資料,就會涉及兩個問題: 1. 資料在哪裡,如何獲取 2. 處理完之後,把資料送到哪裡去 而在計算機中,定址方式就是如何找到要操作的資料,以及把資料處理完存放到哪裡。對

ARM處理器 八種方式

ARM處理器的八種定址方式: 前言:1.什麼是定址?資料都存在儲存器中,定址簡單地說就是找到儲存資料或指令的地址。儲存器有很多儲存單元,用於儲存資料。或者說,定址就是讀取資料所在儲存裝置中對應地址編號中儲存的內容。以儲存單位定址分為位,字,節,字,雙字定址。以功能定址分為直

資料表示、方式與指令系統_計算機系統結構第二章_自考本科

概要:計算機系統結構第二章資料表示、定址方式與指令系統知識點小結 一、資料表示(應用) 1、資料表示的定義,資料表示與資料結構的關係     定義:能由計算機硬體識別和引用的資料型別,表現再它有對這種型別的資料進行操作的指令和運算部件 &nbs

組合語言——彙編的8種方式,以及2個預設段暫存器

1.立即定址方式 MOV AH, 80H(直接給暫存器賦值)2. 暫存器定址方式(源或者目的有一個是暫存器) 2.1) 源運算元是暫存器定址方式 如:ADD VARD, EAX  ADD VARW, AX   MOV VARB, BH等。 其中:VARD、VARW和VARB是雙字,字和位元組

彙編中的方式

儲存器   儲存器(Memory)是現代資訊科技中用於儲存資訊的記憶裝置。其概念很廣,有很多層次,在數字系統中,只要能儲存二進位制資料的都可以是儲存器;在積體電路中,一個沒有實物形式的具有儲存功能的電路也叫儲存器,如RAM、FIFO等;在系統中,具有實物形式的儲存裝置也叫儲存器,如記憶體條、

微控制器的幾種方式

定址就是尋找指令中運算元或運算元所在的地址。所謂定址方式,就是如何找到存放運算元的地址,把運算元提取出來的方法。通常指源運算元的定址方式。 MCS-51系列微控制器定址方式共有七種:暫存器定址、直接定址、立即數定址、暫存器間接定址、變址定址、相對定址、位定址。 1、暫存器定址 暫

Atitit 計算機系統結構 計算機系統結構 Cpu 儲存 cache 指令系統 目錄 Line 56: 第2章指令系統設計 指令格式 方式 1 Line 64: 第3章CPU及其實現

Atitit 計算機系統結構  計算機系統結構   Cpu  儲存 cache   指令系統 目錄 Line 56: 第2章指令系統設計 指令格式  定址方式 1 Line 64: 第3章CPU及其實

(王爽版)彙編實驗7 方式在結構化資料訪問中的應用

題目如下: 彙編程式碼如下: assume cs:codesg ;資料段 data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984'

組合語言資料方式

資料定址方式 1、 立即數定址 立即數定址:指令需要的運算元緊跟在操作碼之後稱之為指令機器碼的一部分,並隨著處理器的取址操作需要從主存進入指令暫存器。這些運算元用常量形式直接表達,從指令程式碼中立即得到立即數,立即數定址方式只用於指令的原運算元,在傳送指令過程中常用來給暫存器和儲存單

MIPS的暫存器、指令和方式的分類

MIPS的32個暫存器 助記符 編號 作用 zero 0 恆為0 at 1 (assembly temporary)保留給彙編器使用 v0,v1 2-3

真實模式與保護模式的方式

文章目錄 一、真實模式定址 二、保護模式定址 三、參考資料 一、真實模式定址 CPU 在真實模式下,地址匯流排只有 20 位,定址空間為 1 M。 20 位的目標實體地址取決於兩個條件,一是 16 位的段基址,二是

計算機組成原理 方式小結

定址方式小結 定址方式 立即定址 直接把常量寫進指令裡面 運算元作為指令的一部分而直接寫在指令中,這種運算元稱為立即數。這種定址方式也就稱為 立即數定址方式 暫存器定址 指令放暫存器地址 暫存器讀寫資料 指令所要的運算元已儲存在某暫存器中,或把目標運算元 存

微控制器的方式詳解

一、定址方式: 定址就是尋找指令中運算元或運算元所在的地址。所謂定址方式,就是如何找到存放運算元的地址,把運算元提取出來的方法。通常指源運算元的定址方式。 MCS-51系列微控制器定址方式共有七種:暫存器定址、直接定址、立即數定址、暫存器間接定址、變址定址、相對定址、位定址。 1

磁碟(CHS方式、LBA方式

目前市場上的硬碟價格越來越低,相比以前同樣價格買的硬碟容量越來越大。但是更換硬碟時,也要注意你的PC主機板是否支援目前的大容量硬碟。計算機的發展一直受著硬碟容量限制或BIOS(軟體系統,主機板是其硬體載體)訪問容量限制的制約。 要明白這個原因我們需要對IDE介面硬碟的工作方式做一個介紹,即使到現在我們今天的I

Linux系統IA-32 —— 的方式

•定址方式       –根據指令給定資訊得到運算元或運算元地址 •運算元所在的位置       –指令中:立即定址       –暫存器中:暫存器定址     &nbs

組合語言的方式(針對16位

定址方式 立即定址 mov ax,3064H(運算元放在指令的下一個單元中) 暫存器定址 mov ax,bx,(運算元放在暫存器中) 前兩種地址都是基於本程式碼段的 直接定址 mov ax,[2000H],(運算元放在記憶體中,指令中直接給出記憶體地址)(其實是

組合語言(王爽第三版)實驗7 方式在結構化資料訪問中的應用

這個實驗我自己摸索了好幾個小時才弄出來,最後想通了發現自己把問題想複雜了。 1、個人認為最簡單的方法 assume cs:code,ds:data data segment db '1975','1976','1977','1978','1979','1980','19

運算元的方式(暫存器間接,基址,間,比例間接

計算機中程式是由按一定順序排列的一系列指令,通常一條指令包括兩方面的內容:操作碼和運算元,操作碼決定要完成的操作,告訴計算機要幹什麼;運算元指參加運算的資料及其所在的單元地址。整條指令以二進位制編碼的形式存放在儲存器中。指令要進行操作,都有相應的資料參加,可是資