匯編語言--Intel系列微處理器的三種工作模式
微機中常用的Intel系列微處理器的主要發展過程是:8080,8086/8088,80186,80286,80386,80486,Pentium, Pentium II, Pentium III, Pentium 4。
8086/8088是一個重要的階段,它們略有區別。8088被IBM用在了它所生產的第一臺微機上,該微機的結構事實上成為以后微機的基本結構。
80386是第二個重要的型號,隨著微機應用及性能的發展,在微機上構造可靠的多任務操作系統的問題日益突出。
8086/8088不具備實現一個完善的多任務操作系統的功能。為此Intel開發了80286,80286具備了對多任務系統的支持。但對8086/8088的兼容卻做得不好。這妨礙了用戶對原8086機上的程序的使用。IBM最早基于80286開發了多任務系統OS/2,結果犯了一個戰略錯誤。
隨后Intel又開發了80386微處理器,這是一個劃時代的新產品。它可以在3個模式下工作:
1)實模式:工作方式相當于一個8086。
2)保護模式:提供支持多任務環境的工作方式,建立保護機制。
3)虛擬8086模式:可從保護模式切換至其中的一種8086工作方式。這種方式的提供使用戶可以方便地在保護模式下運行一個或多個原8086程序。
以后的各代微處理器都提供了上述3種工作模式。
也許你會覺得,這三種模式太抽象了,其實CPU的這3種模式只要用過PC機的人都經歷過。任何一臺使用Intel系列CPU的PC機只要一開機,CPU就工作在實模式下。如果你的機器裝的是DOS,那么在DOS加載后CPU仍以實模式工作。如果你的機器裝的是Windows,那么Windows加載后,將由Windows將CPU切換到保護模式下工作,因為Windows是多任務系統,它必須在保護模式下運行。如果你在Windows中運行一個DOS下的程序,那么Windows將CPU切換到虛擬8086模式下運行該程序?;蛘呤沁@樣,你點擊開始菜單在程序項中進入MS-DOS方式,這時,Windows也將CPU切換到虛擬8086模式下運行。
可以從保護模式直接進入能運行原8086程序的虛擬8086模式是很有意義的,這為用戶提供了一種機制,可以在現有的多任務系統中方便地運行原8086系統中的程序。
前面講過,我們在8086PC機的基礎上學習匯編語言,但現在知道,我們實際的編程環境是當前CPU的實模式,當然,有些程序也可以在虛擬8086模式下運行。
從80386到當前的CPU,提供8086實模式的目的是為了兼容。現今CPU的真正有效力的工作模式是支持多任務操作系統的保護模式。這也許會引發你的一個疑問:“為什么我們不在保護模式下學習匯編語言?”
類似問題很多,我們都希望學習更新的東西,但學習的過程是客觀的。任何合理的學習過程(盡可能排除走彎路、盲目探索、不成系統)都是一個循序漸進的過程。我們必須先通過一個易于全面把握的事物,來學習和探索一般的規律和方法。信息技術是一個發展非???、日新月異的技術,新的東西不斷出現,使人在學習的時候往往無所適從。在你的身邊不斷有這樣的故事出現:COOL先生用了三天(或更短)的時間就學會了某某語言,并開始用它編軟件。。在這個故事的感召下,一個初學者也去嘗試,但完全是另外一種結果。COOL先生的快速學習只是露出水面的冰山一角,深藏水下的是他的較為系統的相關基礎知識和相關的技術。在開始的時候學習保護模式下的編程,是不現實的,保護模式下所涉及的東西對初學者來說太復雜。你必須知道很多知識后,才能開始編寫第一個小程序。相比之下8086就合適很多。
posted on 2010-08-05 08:50 luqingfei 閱讀(1023) 評論(0) 編輯 收藏 引用 所屬分類: 匯編語言基礎學習