80386實模式編程模型

概括:當80386上電覆位後,進入實模式狀態,本文就介紹80386在實模式下的編程模型,採用和8086同樣的敘述結構,相同的部分會省略。

一、寄存器

1.1、80386寄存器結構圖如下

1.2、由上圖可知,80386的寄存器和8086相比,區別如下:

■ 所有的寄存器都被擴展到了32位,其中EAX,EBX,ECX,EDX可以被16位或者8位方式讀寫。

■ 段寄存器又多了兩個FS,GS。

■ 標誌寄存器多了一些爲保護模式下利用的標誌位。

二、存儲器接口

雖然80386擁有32根地址線,可以尋址4G的內存,但是爲了和8086兼容,在實模式下任然採用8086的段機制,而且段的大小和粒度和8086一樣。

三、尋址方式

除了寄存器被擴展到32位以外,80386靈活的存儲器尋址方式是又一大特色,基址變址不再像8086那樣死板,使彙編編程更加靈活,也更有利於高級語言的編譯器進行優化。

3.1、寄存器和立即數尋址和8086相同。

3.2、存儲器尋址方式兼容8086的16位的尋址模式同時增加更加靈活的32位模式尋址方式,見下圖:

■ 由基址決定所在段,再未指明段的情況下,EBP,ESP對應的是SS段,其他的默認對應DS段。

■ ESP不能用於變址。

■ 比例因子的存在有利於對應各種數據類型。

四、指令系統 [Label:] Operator [Operand1[,Operand2]][;comment]

80386的指令系統和8086相比最主要的區別還是寄存器位數的區別,完全兼容8086指令系統。

下圖只列出80386指令相對於8086指令除了位數和尋址方式以外的不同之處。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章