微機原理、匯編語言與接口技術(shù)課件_第1頁
微機原理、匯編語言與接口技術(shù)課件_第2頁
微機原理、匯編語言與接口技術(shù)課件_第3頁
微機原理、匯編語言與接口技術(shù)課件_第4頁
微機原理、匯編語言與接口技術(shù)課件_第5頁
已閱讀5頁,還剩410頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第一章

微型計算機系統(tǒng)概述

1、1微型計算機的發(fā)展、應用及其分類

1、1、1微機計算機的發(fā)展1971年,美國Intel公司研究并制造了I4004微處理器芯片。該芯片能同時處理4位二進制數(shù),集成了2300個晶體管,每秒可進行6萬次運算,成本約為200美元。它是世界上第一個微處理器芯片,以它為核心組成的MCS-4計算機,標志了世界第一臺微型計算機的誕生。微機概念:以大規(guī)模、超大規(guī)模構(gòu)成的微處理器作為核心,配以存儲器、輸入/輸出接口電路及系統(tǒng)總路線所制造出的計算機。劃分階段的標志:以字長和微處理器型號。第一代4位和低檔8位機Intel4004第二代中高檔8位機8080/8085、Z80、MC6800第三代16位機Intel8086、Z8000、MC6800第四代32位機80386、80486第五代64位機IntelPentium(1971-1973)(1974-1978)(1978-1981)(1981-1992)(1993后)特點:1、速度越來越快。2、容量越來越大。3、功能越來越強。1、1、2微型計算機的應用1、科學計算和科學研究計算機主要應用于解決科學研究和工程技術(shù)中所提出的數(shù)學問題(數(shù)值計算)。

2、數(shù)據(jù)處理

(信息處理)主要是利用計算機的速度快和精度高的特點來對數(shù)字信息進行加工。3、工業(yè)控制

用單板微型計算機實現(xiàn)DDC級控制,用衛(wèi)星計算機實現(xiàn)SCC級監(jiān)督管理控制,用高檔微型計算機實現(xiàn)SCC或低層MIS管理已屢見不鮮。4、計算機輔助系統(tǒng)

計算機輔助系統(tǒng)主要有計算機輔助教(CAI)、計算機輔助設(shè)計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)、計算機集成制造(CIMS)等系統(tǒng)。

5、人工智能

人工智能主要就是研究解釋和模擬人類智能、智能行為及其規(guī)律的一門學科,包括智能機器人,模擬人的思維過程,計算機學習等等。其主要任務(wù)是建立智能信息處理理論,進而設(shè)計可以展現(xiàn)某些近似于人類智能行為的計算系統(tǒng)。1、1、3微型計算機的分類按應用對象分為:1、單片機:又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。概括的講:它主要是將微處理器、部分存儲器、輸入輸出接口都集成在一塊集成電路芯片上,一塊芯片就成了一臺計算機2、單板機:將計算機的各個部分都組裝在一塊印制電路板上,包括微處理器/存儲器/輸入輸出接口,還有簡單的七段發(fā)光二極管顯示器、小鍵盤、插座等。功能比單片機強,適于進行生產(chǎn)過程的控制。可以直接在實驗板上操作,適用于教學。

3、PC機(PersonalComputer):面向個人單獨使用的一類微機,實現(xiàn)各種計算、數(shù)據(jù)處理及信息管理等。1、2計算機中數(shù)據(jù)的表示和編碼

計算機中的數(shù)據(jù)都是采用二進制形式存儲和處理的,二進制數(shù)只有兩個數(shù)字0和1,這與我們?nèi)粘I钪兴褂玫氖M制數(shù)是不同的。

1、2、1計算機中常用的進制數(shù)

人們最常用的數(shù)是十進制數(shù),計算機中采用的是二進制數(shù),同時有的時候為了簡化二進制數(shù)據(jù)的書寫,也采用八進制和十六進制表示方法。下面將分別介紹這幾種常用的進制。

1、十進制數(shù)

十進制數(shù)是大家熟悉的,用0,1,2,…,8,9十個不同的符號來表示數(shù)值,它采用的是“逢十進一,借一當十”的原則。

2、二進制表示法基數(shù)為10的記數(shù)制叫十進制;基數(shù)為2的記數(shù)制叫做二進制。二進制數(shù)的計算規(guī)則是“逢二進一,借一當二”。

二進制表示數(shù)值方法如下:

NB=±Ki*2i其中:Ki=0或1ni=-m例:二進制數(shù)1011.1表示如下:(1011.1)B=1*23+0*22+1*21+1*20

+1*2-1運算規(guī)則:加法運算:0+0=00+1=11+0=11+1=10(逢二進一)減法運算:0-0=010-1=1(借位)1-0=11-1=0乘法運算:0*0=00*1=01*0=01*1=1除法運算0/1=01/1=13、八進制表示法八進制數(shù)是基數(shù)為八的計數(shù)制。八進制數(shù)主要采用0,1,2,…,7這八個阿拉伯數(shù)字。八進制數(shù)的運算規(guī)則為“逢八進一,借一當八”。八進制表示數(shù)值方法如下:

NO=±Ki*8i其中:Ki=0、1、2、3、4、5、6、7ni=-m例:(467.6)O=4*82

+6*81

+7*80+6*8-14、十六進制表示法基數(shù)為16,用0-9、A-F十五個字符來數(shù)值,逢十六進一。各位的權(quán)值為16i。二進制表示數(shù)值方法如下:

NH=±Ki*16i其中:Ki=0-9、A-Fni=-m例:(56D.3)H=5*162

+6*161+13*160+3*16-11、2、2進制間的轉(zhuǎn)換1、二進制數(shù)和十進制數(shù)之間的轉(zhuǎn)換(1)、二進制數(shù)轉(zhuǎn)換為十進制數(shù)方法:按二進制數(shù)的位權(quán)進行展開相加即可。例:11101.101=1×24+1×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=16+8+4+0+1+0.5+0.25+0.125=29.875

(2)、十進制數(shù)轉(zhuǎn)換為二進制數(shù)方法:A、將整數(shù)部分和小數(shù)部分分別進行轉(zhuǎn)換,然后再把轉(zhuǎn)換結(jié)果進行相加。B、整數(shù)轉(zhuǎn)換采用除2取余法:用2不斷地去除要轉(zhuǎn)換的數(shù),直到商為0。再將每一步所得的余數(shù),按逆序排列,便可得轉(zhuǎn)換結(jié)果。C、小數(shù)轉(zhuǎn)換采用乘2取整法:每次用2與小數(shù)部分相乘,取乘積的整數(shù)部分,再取其小數(shù)部分乘2直到小部分為0。將所取整數(shù)順序放在小數(shù)點后即為轉(zhuǎn)換結(jié)果。例:將(136)D轉(zhuǎn)換為二進制數(shù)。

2136余數(shù)(結(jié)果)低位

268----------0234----------0217----------028----------124----------022----------021----------00----------1高位轉(zhuǎn)換結(jié)果:(136)D=(10001000)B例:將(0.625)D轉(zhuǎn)換為二進制數(shù)。0.625*2

1.25*2

0.5*2

1.0

取整:高位低位轉(zhuǎn)換結(jié)果:(0.625)D=(0.101)B2、二進制數(shù)和八進制數(shù)、十六進制數(shù)間的轉(zhuǎn)換(1)、二進制數(shù)到八進制數(shù)、十六進制數(shù)的轉(zhuǎn)換A、二進制數(shù)到八進制數(shù)轉(zhuǎn)換采用“三位化一位”的方法。從小數(shù)點開始向兩邊分別進行每三位分一組,向左不足三位的,從左邊補0;向右不足三位的,從右邊補0。B、二進制數(shù)到十六進制數(shù)的轉(zhuǎn)換采用“四位化一位”的方法。從小數(shù)點開始向兩邊分別進行每四位分一組,向左不足四位的,從左邊補0;向右不足四位的,從右邊補0。例:將(1000110.01)B轉(zhuǎn)換為八進制數(shù)和十六進制數(shù)。

1

000110.01001

000110.010

(106.2)O二進制數(shù)到十六進制數(shù)的轉(zhuǎn)換:(1000110.01)B=1000110.0101000110.0100(46.4)H(2)、八進制、十六進制數(shù)到二進制數(shù)的轉(zhuǎn)換方法:采用“一位化三位(四位)”的方法。按順序?qū)懗雒课话诉M制(十六進制)數(shù)對應的二進制數(shù),所得結(jié)果即為相應的二進制數(shù)。例:將(352.6)o轉(zhuǎn)換為二進制數(shù)。

352.6011101010110=(11101010.11)B1、2、3數(shù)的定點與浮點表示對R進制數(shù)NR=±S*R±E,可以有很多表示方法。如:十進制數(shù):265.78可以有:265.78、2657.8*10-1、0.26578*103

、2.6578*102等。1、定點數(shù)表示法一般采用兩種簡單的約定:定點整數(shù)和定點小數(shù)。

(1)、定點整數(shù)A、帶符號整數(shù):某個N位二進制數(shù),其最高位為符號位,其它N-1位為數(shù)值部分:

NfNn-2Nn-3……N2N1N0符號位

數(shù)值部分

小數(shù)點B、無符號整數(shù):所有的數(shù)位都用來表示數(shù)值。

Nn-1Nn-2Nn-3……N3N2N1N0

數(shù)值部分小數(shù)點(2)、定點小數(shù)用最高位表示符號,其它N-1位表示數(shù)值部分,將小數(shù)點定在數(shù)值部分的最高位左邊。

NfNn-2Nn-1……N2N1N0符號位

數(shù)值部分

小數(shù)點

2、浮點數(shù)表示浮點數(shù):小數(shù)點在數(shù)據(jù)中的位置可以左右移動。

N=±S*R±E在計算機內(nèi),存儲的格式:

EfE(m位)

SfS(n位)

階碼部分

尾數(shù)部分其中:Ef:階碼,表示階碼的符號

E:階碼,指出小數(shù)點的位置

Sf:數(shù)碼,數(shù)值的符號位

S:尾數(shù),決定數(shù)值的精度1、2、4機器數(shù)的表示機器數(shù):數(shù)值數(shù)據(jù)在計算機中的編碼。機器數(shù)的真值:機器數(shù)所代表的實際數(shù)值。常用的編碼方案:原碼、反碼、補碼。1、原碼表示碼原碼:用最高位表示符號,其中:0----正、1----負,其它位表示數(shù)值的絕對值。定義:

[X]原=X0〈=X〈1定點小數(shù)

1+X-1〈X〈=0[X]原=X0〈=X〈=2n-1定點整數(shù)

2n+1+X-(2n-1)〈=X〈=0例:求X1=0.1011,X2=-0.1011的原碼表示。(8位)[X1]原

=X1=01011000[X2]原=1+X2=11011000小數(shù)點位置例:求X1=1011,X2=-1011的原碼。(8位)[X1]原=00001011[X2]原=10001011小數(shù)點位置0的表示形式(8位)[+0]原=00000000[-0]原=10000000特點A、原碼與真值的對應關(guān)系簡單。B、0的編碼不唯一,處理運算不方便。2、反碼表示法反碼:最高一位表示符號,數(shù)值位是對負數(shù)取反。[+0]反=00000000[-0]反=1111111[+1100111]反=01100111[-1100111]反=100110003、補碼表示法正數(shù)的補碼和原碼相同。負數(shù)的補碼=反碼+1。例:求0.1011和-0.1011的補碼。(8位)[0.1011]補=[0.1011]原=01011000[-0.1011]補=[-1011000]反+1=10100111+1=10101000[0]補=[+0]補=[-0]補=000000001、2、5計算機中常用的編碼1、ASCII碼

常用的編碼方式為美國標準信息交換(AmericanStandardCardforInformationInterchange,ASCII碼)。

2、BCD碼

BCD碼是一種用4位二進制數(shù)字來表示一位十進制數(shù)字的編碼,也成為二進制編碼表示的十進制數(shù)(BinaryCodeDecimal),簡稱BCD碼。表1-2示出了十進制數(shù)0-15的BCD碼。

BCD碼有兩種格式:(1)壓縮BCD碼格式(PackedBCDFormat)

用4個二進制位表示一個十進制位,就是用0000B-1001B來表示十進制數(shù)0-8。例如:十進制數(shù)4256的壓縮BCD碼表示為:0100001001010110B(2)非壓縮BCD碼格式(UnpackedBCDFormat)用8個二進制位表示一個十進制位,其中,高四位無意義,我們一般用xxxx表示,低四位和壓縮BCD碼相同。例如:十進制數(shù)4256的非壓縮BCD碼表示為:

xxxx0100xxxx0010xxxx0101xxxx0110B

1、3微型計算機的一般概念

1、3、1中央處理器的組成中央處理器(CPU)由運算器和控制器組成。1、運算器:計算機中加工和處理數(shù)據(jù)的功能部件。功能:(1)、對數(shù)據(jù)進行加工處理,主要包括算術(shù)和邏輯運算,如加、減、乘、與、或、非運算等。

(2)、暫時存放參與運算的數(shù)據(jù)和中間結(jié)果。ALU數(shù)據(jù)寄存器1#數(shù)據(jù)寄存器2#存儲器外設(shè)2、控制器控制和指揮計算機內(nèi)各功能部件協(xié)同動作,完成計算機程序功能。由程序計數(shù)器(IP)、指令寄存器(IR)、指令譯碼器(ID)和時序信號發(fā)生器組成。(1)、程序計數(shù)器(IP):程序指令所在單元地址。(2)、指令寄存器(IR):保存當前正在執(zhí)行的一條指令。(3)、指令譯碼器(ID):將指令的操作碼翻譯成機器能識別的命令信號。(4)、時序信號發(fā)生器:根據(jù)指令譯碼器(ID)產(chǎn)生的命令信號產(chǎn)生具體的控制信號。3.寄存器陳列包括一組通用寄存器組和專用寄存器。通用寄存器用于暫存參加運算的一個操作數(shù),例如數(shù)據(jù)寄存器可以用來存放8位或16位的二進制操作數(shù)。這些操作數(shù)可以是參加操作的數(shù)據(jù),操作的中間結(jié)果,也可以是操作數(shù)的地址,大部分算術(shù)和邏輯運算指令都可以使用這些數(shù)據(jù)寄存器。專用寄存器通常有指令指針I(yè)P或程序計數(shù)器PC和堆棧指針SP等

1、3、2微型計算機的組成ABDBCBCPU

存儲器I/O接口外設(shè)(微型計算機組成框圖)1、微處理器微處理器(CPU)是大規(guī)模集成電路技術(shù)做成的芯片,芯片內(nèi)集成有控制器、運算器和寄存器等相關(guān)部件,完成對計算機系統(tǒng)內(nèi)各部件進行統(tǒng)一協(xié)調(diào)和控制。2、存儲器功能:存放程序和數(shù)據(jù)。存儲器內(nèi)存(主存)外存(輔存)RAMROMSRAMDRAMROMEPROME2PROM軟盤、硬盤、光盤3、I/O設(shè)備和I/O接口(1)、I/O設(shè)備:微機配備的輸入/輸出設(shè)備(外設(shè))。標準輸入/輸出設(shè)備(控制臺):鍵盤和顯示器(CRT)。I/O設(shè)備輸入設(shè)備輸出設(shè)備鍵盤鼠標掃描儀、數(shù)碼相機顯示器打印機繪圖儀(2)、I/O接口:連接外設(shè)備和系統(tǒng)總線,完成信號轉(zhuǎn)換、數(shù)據(jù)緩沖、與CPU進行信號聯(lián)絡(luò)等工作。顯示器卡:完成顯示器與總線的連接。聲卡:完成聲音的輸入/輸出。網(wǎng)卡:完成網(wǎng)絡(luò)數(shù)據(jù)的轉(zhuǎn)換。掃描卡:連接掃描儀到計算機。調(diào)制解調(diào)器卡:模擬信號與數(shù)字信號相互轉(zhuǎn)換。鍵盤接口、打印機接口等。232接口:串行數(shù)據(jù)接口。USB接口:通用串行接口。4、系統(tǒng)總線(1)、總線:傳遞信息的一組公用導線。(2)、系統(tǒng)總線:從處理器引出的若干信號線,CPU通過它們與存儲器或I/O設(shè)備進行信息交換。系統(tǒng)總線分為:(A)、地址總線:傳遞地址信息的總線,即AB。CPU在地址總線上輸出將要訪問的內(nèi)存單元或I/O端口的地址,該總線為單向總線。內(nèi)存容量的計算:16條地址線可訪問216=64KB。

20條地址線可訪問220=1MB。

1K=1024B1M=1024KB1G=1024MB

(B)、數(shù)據(jù)總線:傳遞數(shù)據(jù)信息的總線,即DB。在CPU進行讀操作時,內(nèi)存或外設(shè)的數(shù)據(jù)通過數(shù)據(jù)總線送往CPU;在CPU進行寫操作時,CPU數(shù)據(jù)通過數(shù)據(jù)總線送往內(nèi)存或外設(shè),數(shù)據(jù)總線是雙向總線。(C)、控制總線:傳遞控制信息的總線,即CB??刂瓶偩€的方向:一部分是從CPU輸出:通過對指令的譯碼,由CPU內(nèi)部產(chǎn)生,由CPU送到存儲器、輸入/輸出接口電路和其它部件。如時鐘信號、控制信號等。另一部分是由系統(tǒng)中的部件產(chǎn)生,送往CPU,如:中斷請求信號、總線請求信號、狀態(tài)信號??刂瓶偩€的部件(總線主控設(shè)備):

CPU和DMA控制器。被總線控制的部件(總線控制設(shè)備):

存儲器和I/O設(shè)備??偩€的使用特點:1、在某一時刻,只能由一個總線主控設(shè)備來控制總線,其它總線主控設(shè)備此時必須放棄對總線的控制。2、在連接系統(tǒng)的各個設(shè)備中,在某一時刻只能有一發(fā)送者發(fā)送信號,但可以有多個設(shè)備從總線上同時獲得信號。3、通過總線插槽來接口板連接。1、3、3微型計算機系統(tǒng)的組成一個微型計算機系統(tǒng)包括硬件系統(tǒng)和軟件系統(tǒng)。硬件和軟件的結(jié)合,才能使計算機正常工作運行。

計算機硬件系統(tǒng)是一個為執(zhí)行程序建立物質(zhì)基礎(chǔ)的物理裝置,稱為硬件或裸機。

計算機軟件系統(tǒng)指為運行、管理、應用、維護計算機所編制的所有程序及文檔的總和。依據(jù)功能的不同,軟件分為系統(tǒng)軟件和應用軟件兩大類。

1、3、4微型計算機的工作過程在進行計算前,應做如下工作:(1)、用助記符號指令(匯編語言)編寫程序(源程序);(2)、用匯編軟件(匯編程序)將源程序匯編成計算機能識別的機器語言程序;(3)、將數(shù)據(jù)和程序通過輸入設(shè)備送入存儲器中存放。完成5+6=?的程序:MOVA,05H/B0H05H

;把05送入累加器AADDA,06H/04H06H

;06與A中內(nèi)容相加,結(jié)果存入累加器AHLT/F4H

;停止所有操作。1、取指令階段的執(zhí)行過程:(設(shè)程序從00H開始存放)(1)、將程序計數(shù)器(PC或IP)的內(nèi)容送地址寄存器AR。(2)、程序計數(shù)器PC的內(nèi)容自動加1變?yōu)?1H,為取下一條指令作好準備。(3)、地址寄存器AR將00H通過地址總線送至存儲器地址譯碼器譯碼,選中00H單元。(4)、CPU發(fā)出“讀”命令。(5)、所選中的00單元的內(nèi)容B0H讀至數(shù)據(jù)總線DB上。(6)、經(jīng)數(shù)據(jù)總線DB,讀出的B0H送至數(shù)據(jù)寄存器DR。(7)、數(shù)據(jù)寄存器DR將其內(nèi)容送至指令寄存器IR中,經(jīng)過譯碼CPU“識別”出這個操作碼為“MOVA,05H”指令,于是控制器發(fā)出執(zhí)行這條指令的各種控制命令。PCARALUABDRIRIDPLA00H100H200B0H0105H0204H0306H04F4H34讀命令B0H56B0H7控制信號(取第一條指令操作示意圖)2、執(zhí)行指令階段的執(zhí)行過程:(1)、將程序計數(shù)器(PC或IP)的內(nèi)容送地址寄存器AR。(2)、程序計數(shù)器PC的內(nèi)容自動加1變?yōu)?2H,為取下一條指令作好準備。(3)、地址寄存器AR將01H通過地址總線送至存儲器地址譯碼器譯碼,選中01H單元。(4)、CPU發(fā)出“讀”命令。(5)、所選中的01H單元的內(nèi)容05H讀至數(shù)據(jù)總線DB上。(6)、經(jīng)數(shù)據(jù)總線DB,讀出的05H送至數(shù)據(jù)寄存器DR。(7)、由控制碼計算機已知到讀出的是立即數(shù),并要求將它送入累加器A中,所以數(shù)據(jù)寄存器DR通過內(nèi)部總線將05H送入累加器A中。PCARALUABDRIRIDPLA02H101H200B0H0105H0204H0306H04F4H34讀命令05H567控制信號05H(執(zhí)行第一條指令操作示意圖)習題1.微型計算機按照字長和微處理器芯片作為每個階段的標志,將微型計算機分為哪幾個階段?2.計算機的特點是什么?主要有哪些應用領(lǐng)域?3.計算機是由哪幾部分組成的?闡述每部分的作用。4.畫圖說明計算機執(zhí)行指令ADDAL,06H的工作過程。5.將下列各十進制數(shù)轉(zhuǎn)換成為二進制數(shù)(最多保留6位小數(shù))(1)221(2)12.375(3)123.25(4)1236.以十六進制形式,給出下列十進制數(shù)對應的8位二進制補碼表示。(1)46(2)-46(3)-128(4)1277.給出下列十進制數(shù)對應的壓縮和非壓縮BCD碼形式。(1)58(2)1624第二章微處理器

通過本章的學習,讀者應該掌握以下內(nèi)容:8086/8088微處理器的結(jié)構(gòu)及指令執(zhí)行的操作過程8086/8088在最大和最小模式下引腳功能8086的操作時序80x86的實地址方式和虛地址方式

2、18086/8088微處理器2、1、18086/8088微處理器的結(jié)構(gòu)及執(zhí)行程序的操作過程8086:Intel系列的16位微處理器,16條數(shù)據(jù)線、20條地址線,可尋址地址范圍220=1MB,8086工作時,只要一個5V電源和一個時鐘,時鐘頻率為5MHz

。8088:內(nèi)部與8086兼容,也是一個16位微處理器,只是外部數(shù)據(jù)總線為8位,所以稱為準16位微處理器。它具有包括乘法和除法的16位運算指令,所以能處理16位數(shù)據(jù),還能處理8位數(shù)據(jù)。8088有20根地址線,所以可尋址的地址空間達220即1M字節(jié)。AHALBHBLCHCLDHDLSPBPDISI通用寄存器運算寄存器ALU標志執(zhí)行部分控制電路123456CSDSSSESIP

內(nèi)部寄存器I/O控制電路地址加法器20位16位8位指令隊列緩沖器外總線執(zhí)行部件總線接口部件8086CPU結(jié)構(gòu)圖1、總線接口部件功能:(1)、從取指令送到指令隊列。(2)、CPU執(zhí)行指令時,到指定的位置取操作數(shù),并將其送至要求的位置單元中。總線接口部件的組成:(1)、四個段地址寄存器

CS,16位代碼段寄存器;

DS,16位數(shù)據(jù)段寄存器;

ES,16位附加段寄存器;

SS,16位堆棧段寄存器。(2)、16位指令指針寄存器IP(PC)。(3)、20位的地址加法器。(4)、六字節(jié)的指令隊列緩沖器。說明:(1)、指令隊列緩沖器:在執(zhí)行指令的同時,將取下一條指令,并放入指令隊列緩沖器中。CPU執(zhí)行完一條指令后,可以指令下一條指令(流水線技術(shù))。提高CPU效率。(2)、地址加法器:產(chǎn)生20位地址。CPU內(nèi)無論是段地址寄存器還是偏移量都是16位的,通過地址加法器產(chǎn)生20位地址。2、執(zhí)行部件作用:(1)、從指令隊列中取出指令。(2)、對指令進行譯碼,發(fā)出相應相應的控制信號。(3)、接收由總線接口送來的數(shù)據(jù)或發(fā)送數(shù)據(jù)至接口。(4)、進行算術(shù)運算。執(zhí)行部件的組成:(1)、四個通用寄存器AX、BX、CX、DX。四個通用寄存器都是16位或作兩個8位來使用。(2)、專用寄存器SP------堆棧指針寄存器BP------基址指針寄存器DI-------目的變址寄存器SI-------源變址寄存器(3)、算術(shù)邏輯單元ALU

完成8位或者16位二進制算術(shù)和邏輯運算,計算偏移量。(4)、數(shù)據(jù)暫存寄存器協(xié)助ALU完成運算,暫存參加運算的數(shù)據(jù)。(5)、執(zhí)行部件的控制電路從總線接口的指令隊列取出指令操作碼,通過譯碼電路分析,發(fā)出相應的控制命令,控制ALU數(shù)據(jù)流向。(6)、標志寄存器16位寄存器,其中有7位未用。D15D0OFDFIFTFSFZFAFPFCF進借位標志奇偶標志半進借位標志零標志符號標志單步中斷中斷允許方向標志溢出標志1-有進、借位0-無進、借位1-低8位有偶數(shù)個10-低8位有奇數(shù)個11-低4位向高4位有進、借位0-低4位向高4位無進、借位1-結(jié)果為00-結(jié)果不為03、8086/8088CPU執(zhí)行程序的操作過程(1)、20位地址的形成,并將此地址送至程序存儲器指定單元,從該單元取出指令字節(jié),依次放入指令隊列中。(2)、每當8086的指令隊列中有2個空字節(jié),8088指令隊列中有1個空字節(jié)時,總線接口部件就會自動取指令至隊列中。(3)、執(zhí)行部件從總線接口的指令隊列首取出指令代碼,執(zhí)行該指令。(4)、當隊列已滿,執(zhí)行部件又不使用總線時,總線接口部件進入空閑狀態(tài)。(5)、執(zhí)行轉(zhuǎn)移指令、調(diào)用指令、返回指令時,先清空隊列內(nèi)容,再將要執(zhí)行的指令放入隊列中。2、1、28086/8088微處理器的引腳功能根據(jù)所連的存儲器和外設(shè)規(guī)模的不同,使它們可以在兩種模式下工作:

系統(tǒng)的最小模式:只有一8086/8088CPU。系統(tǒng)的最大模式:有兩個或兩個以上的CPU,一個為主CPU8086/8088,另一個為協(xié)CPU8087/8089。指令周期:執(zhí)行一條指令所需要的時間??偩€周期(機器周期):CPU通過總線與存儲器或I/O接口進行一次數(shù)據(jù)傳輸所需的時間。T狀態(tài)(時鐘周期):CPU處理動作的最小單位。T1T2T3TWT4總線周期

而當系統(tǒng)規(guī)模較大時,要求有較強的驅(qū)動能力,這樣就需要兩個獲兩個以上的微處理器。其中有一個是主處理器8086或8088,其它的處理器稱為協(xié)處理器,它們協(xié)助主處理器工作。例如8088便通過總線控制器8288來形成各種控制信號。如圖所示,為8086CPU和8088CPU的引腳信號圖。共有40條引腳線,這些引腳線用來輸出或接收各種信號:地址線,數(shù)據(jù)線,控制線和狀態(tài)線,電源線和定時線。

由于8088微處理器是一種準16位機。其內(nèi)部結(jié)構(gòu)基本上與8086相同,其信號也與8086基本相同,只是有一些引腳的功能有所不同,在這里,我們將以8086為例,具體介紹一下最小模式下和最大模式下各位引腳功能,如出現(xiàn)功能不同的引腳再具體講解。

01020304050607080910111213141516171819204039383736353433323130292827262524232221GNDAD14/A14AD13/A13AD12/A12AD11/A11AD10/A10AD9/A9AD8/A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDVCC(5V)AD15/A15A16/S3A17/S4A18/S5A19/S6/BHE/S7HIGH(SSO)MN//MX/RDHOLD(/RQ//GT0)

HLDA(/RQ//GT1)/WR(/LOCK)M//IO(/S2)DT//R(/S1)/DEN(/S0)ALE(QS0)/INTA(QS1)/TESTREADYRESET8086/80881、地址/數(shù)據(jù)總線AD15-AD0:地址/數(shù)據(jù)復用引腳,雙向,三態(tài)。(8086/8088)AD15-AD0:16位地址總線A15-A0,輸出訪問存儲器或I/O的地址信息。(8086)AD15-AD0:16位數(shù)據(jù)總線D15-D0,與存儲器和I/O設(shè)備交換數(shù)據(jù)信息。(8088)AD7-AD0:8位數(shù)據(jù)總線D7-D0,與存儲器和I/O設(shè)備交換數(shù)據(jù)信息。地址/數(shù)據(jù)總線復用,分時工作。2、地址/狀態(tài)總線A19/S6-A16/S3A19/S6-A16/S3:地址/狀態(tài)總線復用引腳,輸出,三態(tài)。A19/S6-A16/S3:輸出訪問存儲器的20位地址的高4位地址A19-A16。A19/S6-A16/S3:輸出CPU的工作狀態(tài)。A19/S6-A16/S3:分時工作,T1狀態(tài):輸出地址的高4位信息;T2、T3、T4狀態(tài):輸出狀態(tài)信息。S6:指示8086/8088當前是否與總線相連,S6=0,表示8086/8088當前與總線相連。S5:表明中斷允許標志當前的設(shè)置。S5=0,表示CPU中斷是關(guān)閉的,禁止一切可屏蔽中斷源的中斷請求;S5=1,表示CPU中斷是開放的,允許一切可屏蔽中斷源的中斷申請。S4、S3:指出當前使用段寄存器的情況。S4、S3組合所對應的段寄存器情況

S4S3段寄存器

00當前正在使用ES01當前正在使用SS10當前正在使用CS11當前正在使用DS3、控制總線(1)、/BHE/S7:高8位數(shù)據(jù)總線允許/狀態(tài)復用引腳。在總線周期的T1狀態(tài),此引腳輸出/BHE信號,表示高8位數(shù)據(jù)線D15-D8上的數(shù)據(jù)有效。在T2、T3、TW和T4狀態(tài)時,此引腳輸出S7狀態(tài)信號。/BHE、A0組合:/BHEA0總線使用情況

00從偶地址單元開始,在16位數(shù)據(jù)總線上進行字傳送

01從奇地址單元開始,在高8位數(shù)據(jù)總線上進行字節(jié)傳送

10從偶地址單元開始,在低8位數(shù)據(jù)總線上進行字節(jié)傳送

11無效S7:8086中無定義。

8088中,在最大模式中,為高電平;在最小模式中,輸出SS0信號,此信號與其它信號合作將總線周期的讀/寫動作。

(2)、/RD:讀信號,三態(tài)輸出,低電平有效。/RD=0,表示當前CPU正在對存儲器或I/O端口進行讀操作。(3)、/WR:寫信號,三態(tài)輸出,低電平有效。/WR=0,表示當前CPU正在對存儲器或I/O端口進行讀操作。(4)、M//IO:存儲器或IO端口訪問信號,三態(tài)輸出。M//IO=1,表示CPU正在訪問存儲器;M//IO=0,表示CPU正在訪問IO端口。(5)、READY:準備就緒信號,輸入,高電平有效。READY=1,表示CPU訪問的存儲器或IO端口已準備好傳送數(shù)據(jù)。若CPU在總線周期T3狀態(tài)檢測到READY=0,表示未準備好,CPU自動插入一個或多個等待狀態(tài)TW,直到READY=1為止。(6)、INTR:可屏蔽中斷請求信號,輸入,高電平有效。當INTR=1,表示外設(shè)向CPU發(fā)出中斷請求,CPU在當前指令周期的最后一個T狀態(tài)去采樣該信號,若此時,IF=1,CPU響應中斷,執(zhí)行中斷服務(wù)程序。(7)、/INTA:中斷響應信號,輸出,低電平有效。表示CPU響應了外設(shè)發(fā)來的中斷申請信號INTR。(8)、NMI:不可屏蔽中斷請求信號,輸入,上升沿觸發(fā)。該請求信號不受IF狀態(tài)的影響,也不能用軟件屏蔽,一旦該信號有效,則執(zhí)行完當前指令后立即響應中斷。(9)、/TEST:測試信號,輸入,低電平有效。當CPU執(zhí)行WAIT指令時,每隔個時鐘周期對/TEST進行一次測試,若/TEST=1,繼續(xù)等待,直到/TEST=0。(10)、RESET:復位信號,輸入,高電平有效。RESET信號至少要保持4個時鐘周期。復位時:標志寄存器、IP、DS、SS、ES為0,CS=FFFFH,復位后CPU從FFFF0H處開始執(zhí)行。(11)、ALE:地址鎖存允許信號,輸出,高電平有效。用來鎖存地址信號A15-A0,分時使用AD15-AD0地址/數(shù)據(jù)總線。(12)、DT//R:數(shù)據(jù)發(fā)送/接收控制信號,三態(tài)輸出。此信號控制數(shù)據(jù)總線上的收發(fā)器8286的數(shù)據(jù)傳送方向,DT//R=1,發(fā)送數(shù)據(jù)----寫操作;DT//R=0,接收數(shù)據(jù)--讀操作。(13)、/DEN:數(shù)據(jù)允許信號,三態(tài)輸出,低電平有效。作為數(shù)據(jù)總線上收發(fā)器8286的選通信號。(14)、HOLD:總線請求信號,輸入,高電平有效。當系統(tǒng)中CPU之外的另一個控制器要求使用總線時,通過它向CPU發(fā)一高電平的請求信號。(15)、HLDA:總線請求響應信號,輸出,高電平有效。當HLDA有效時,表示CPU對其它控制器的總線請求作出響應,與此同時,所有與三總線相接的CPU的線腳呈現(xiàn)高阻抗狀態(tài),從而讓出總線。(16)、MN//MX:工作模式選擇信號,輸入。MN//MX=1,表示CPU工作在最小模式系統(tǒng);MN//MX=0,表示CPU工作在最大模式系統(tǒng)。(17)、CLK:主時鐘信號,輸入。8086/8088的時鐘頻率為5MHZ。4、電源線和地線8086/8088采用單+5V,1、20引腳為地線。5、最大模式下的有關(guān)引腳(1)、QS1、QS2:指令隊列狀態(tài)信號,輸出。

QS1QS2含義

00無操作

01將指令首字節(jié)送入指令隊列

10隊列為空

11將指令其余字節(jié)送指令隊列(2)、S2、S1、S0:總線周期狀態(tài)信號,三態(tài)輸出。

S2、S1、S0狀態(tài)信號的編碼

S2S1S0操作過程產(chǎn)生信號

000發(fā)中斷響應信號/INTA001讀I/O端口IORC010寫I/O端口IOWC011暫停無

100取指令/MRDC101讀存儲器/MRDC110寫存儲器/AMWC111無作用無(3)、/RQ//GT1、/RQ//GT2:總線請求信號(輸入)/總線請求允許信號(輸出),雙向,低電平有效。(4)、/LOCK:總線封鎖信號,三態(tài)輸出,低電平有效。/LOCK=0,CPU不允許其它控制器占用總線。2、1、38086/8088系統(tǒng)存儲器的組織和堆棧1、8086/8088系統(tǒng)存儲器的組織8086/8088是16位的微處理器,在組成存儲系統(tǒng)時,總是使偶地址單元的數(shù)據(jù)通過AD0

~

AD7傳送,而奇地址單元的數(shù)據(jù)通過AD8~

AD15傳送,所有的操作可以是按字節(jié)為單位也可以是按字為單位來處理的,但8086/8088系統(tǒng)中的存儲器是以8位(一個字節(jié))為單位對數(shù)據(jù)進行處理的。因此每個字節(jié)用一個唯一的地址碼表示,這稱為存儲器的標準結(jié)構(gòu)。

需要說明的是,在存儲器中,任何連續(xù)存放的兩個字節(jié)都可以稱為一個字。存放時,其低位字節(jié)可從奇數(shù)地址開始,這種方式稱為非規(guī)則方式,奇數(shù)地址的字稱為非規(guī)則字。其高位字節(jié)可從偶數(shù)地址開始,這種方式稱為規(guī)則方式,。將偶數(shù)地址的字稱為規(guī)則字。

(2)8086存儲器的分段結(jié)構(gòu)

由于8086/8088有20條地址線,可以尋址多達220(1M)字節(jié),所以把1M字節(jié)的存儲器分為任意數(shù)量的段,其中每一段最多可達尋址216(64K)字節(jié)。

8086CPU把1M字節(jié)的存儲器空間劃分為任意的一些存儲段,一個存儲段是存儲器中可獨立尋址的一個邏輯單位,也稱邏輯段,每個段的長度為64K字節(jié)。

8086CPU中有四段寄存器:CS,DS,SS和ES,這四個段寄存器存放了CPU當前可以尋址的四個段的基址,也即可以從這四個段寄存器規(guī)定的邏輯段中存取指令代碼和數(shù)據(jù)。一旦這四個段寄存器的內(nèi)容被設(shè)定,就規(guī)定了CPU當前可尋址的段。(3)8086存儲器的邏輯地址和物理地址存儲器中的每個存儲單元都可以用兩個形式的地址來表示:實際地址(或稱物理地址)和邏輯地址。實際地址:也稱物理地址,是用唯一的20位二進制數(shù)所表示的地址,規(guī)定了1M字節(jié)存儲體中某個具體單元的地址。邏輯地址在程序中使用,即段地址:偏移地址

。(4)物理地址的形成物理地址有兩部分組成:段基址和偏移地址。

8086/8088CPU中有一個地址加法器,它將段寄存器提供的段地址自動乘以10H即左移4位,然后與16位的偏移地址相加,并鎖存在物理地址鎖存器中。如圖所示。物理地址=段基址*16+偏移地址。段基址:CS、DS、ES、SS。偏移地址:IP、DI、SI、BP、SP等。段寄存器值偏移量+物理地址16位4位16位20位存儲器物理地址的計算方法CS0000IP代碼段DS或ES0000SI、DI或BXSS0000SP或BP數(shù)據(jù)段堆棧段存儲器段寄存器和偏移地址寄存器組合關(guān)系2、堆棧堆棧主要用于暫存數(shù)據(jù)和在過程調(diào)用或處理中斷時暫存斷點信息。

(1)堆棧的概念

堆棧是在存儲器中開辟的一片數(shù)據(jù)存儲區(qū),這片存儲區(qū)的一端固定,另一端活動,且只允許數(shù)據(jù)從活動端進出。采用“先進后出”的規(guī)則

。(2)堆棧的組織堆棧指示器SP,他總是指向堆棧的棧頂堆棧的伸展方向既可以從大地址向小地址,也可以從小地址向大地址。8086/8088的堆棧的伸展方向是從大地址向小地址。

2、28086總線的操作時序在微機系統(tǒng)中,CPU是在時鐘信號CLK控制下,按節(jié)拍有序地執(zhí)行指令序列。從取指令開始,經(jīng)過分析指令、對操作數(shù)尋址,然后執(zhí)行指令、保存操作結(jié)果,這個過程稱為指令執(zhí)行周期。

指令周期:執(zhí)行一條指令所需要的時間。總線周期(機器周期):CPU通過總線與存儲器或I/O接口進行一次數(shù)據(jù)傳輸所需的時間。T狀態(tài)(時鐘周期):CPU處理動作的最小單位。T1T2T3TWT4總線周期2、2、28086的時序8086的總線時序包括以下一個部分:(1)、系統(tǒng)復位。(2)、存儲器讀操作。(3)、存儲器寫操作。(4)、中斷響應操作。(5)、輸入輸出周期。(6)、空轉(zhuǎn)周期??偩€操作總線讀操作:CPU從存儲器或外設(shè)讀取數(shù)據(jù)??偩€寫操作:CPU將數(shù)據(jù)寫入存儲器或外設(shè)。1、存儲器讀周期總線周期包括:T1、T2、T3、(TW)、T4機器周期。(1)、T1周期M//IO信號:從存儲器讀還是從I/O設(shè)備中讀數(shù)據(jù);AD15-AD0、A19/S7-A16/S3:確定20位地址;/BHE:選擇奇地址存儲體選擇。ALE:地址鎖存信號,以使地址/數(shù)據(jù)線分開。(2)、T2狀態(tài)A19/S6-A16/S3:出現(xiàn)S6-S3狀態(tài)信號。決定段寄存器、IF狀態(tài)、8086CPU不否連在總線上。AD15-AD0:高阻狀態(tài)。/RD:由高電平變?yōu)榈碗娖?,開始進行讀操作。/DEN:變低電平,啟動收發(fā)器8268,做好接收數(shù)據(jù)的準備。(3)、T3狀態(tài)若存儲器或I/O端口已做好發(fā)送數(shù)據(jù)準備,則在T3狀態(tài)期間將數(shù)據(jù)放到數(shù)據(jù)總線上,在T3結(jié)束時,CPU從AD15-AD0上讀取數(shù)據(jù)。(4)、TW狀態(tài)在T3狀態(tài),存儲器或外設(shè)沒有準備好數(shù)據(jù),不能在T3狀態(tài)將數(shù)據(jù)放到總線上,使READY=0,則CPU在T3和T4之間插入一個或幾個TW狀態(tài),直到數(shù)據(jù)準備好READY=1為止。TW狀態(tài)時總線的動作與T3時相同。(5)、T4狀態(tài)CPU對數(shù)據(jù)總線進行采樣,讀出數(shù)據(jù)。CPU往存儲器或I/O設(shè)備寫數(shù)據(jù)的時序如下頁所示:CLKT1T2T3、TWT4M//IOA19/S6-A16/S3A19-A16/BHE/S7/BHES7-S3ALEREADYAD15-AD0地址輸出數(shù)據(jù)輸出/RDDT//R/DENCPU從存儲器或I/O端口讀取數(shù)據(jù)的時序2、存儲器寫周期(1)、T1狀態(tài)M//IO信號:對存儲器寫還是對I/O設(shè)備中寫數(shù)據(jù);AD15-AD0、A19/S7-A16/S3:確定20位地址;/BHE:選擇奇地址存儲體選擇。ALE:地址鎖存信號,以使地址/數(shù)據(jù)線分開。DT//R:為高電平,指示收發(fā)器8286發(fā)送數(shù)據(jù),寫操作。(2)、T2狀態(tài)A19/S6-A16/S3:出現(xiàn)S6-S3狀態(tài)信號。決定段寄存器、IF狀態(tài)、8086CPU不否連在總線上。AD15-AD0:發(fā)出16位數(shù)據(jù)。/WR:由高電平變?yōu)榈碗娖?,開始進行寫操作。/DEN:變低電平,啟動收發(fā)器8268,做好發(fā)送數(shù)據(jù)的準備。(3)、T3狀態(tài)若存儲器或I/O端口已做好接收數(shù)據(jù)準備,則在T3狀態(tài)期間將數(shù)據(jù)放到數(shù)據(jù)總線上,在T3結(jié)束時,CPU將AD15-AD0上數(shù)據(jù)寫入到存儲器或I/O設(shè)備中。(4)、TW狀態(tài)在T3狀態(tài),存儲器或外設(shè)沒有準備好接收數(shù)據(jù),使READY=0,則CPU在T3和T4之間插入一個或幾個TW狀態(tài),直到設(shè)備準備好READY=1為止。(5)、T4狀態(tài)在T4狀態(tài),數(shù)據(jù)從數(shù)據(jù)總線上被撤除,各種控制信號和狀態(tài)信號進入無效狀態(tài),CPU完成了對存儲器或I/O設(shè)備的寫操作。3、輸入/輸出周期8086與外設(shè)通訊,也即從外設(shè)輸入數(shù)據(jù),或把數(shù)據(jù)輸出給外設(shè)的時序,與CPU同存儲器之間的通訊時序,幾乎完全相同,只是IO/M信號應為高。所以我們就不贅述。

4、空轉(zhuǎn)周期8086只有在CPU于存儲器或外設(shè)要傳送指令或操作時,才能執(zhí)行如上所述的總線周期,若CPU不執(zhí)行總線周期,則總線接口執(zhí)行空轉(zhuǎn)操作。CLKT1T2T3、TWT4M//IOA19/S6-A16/S3A19-A16/BHE/S7/BHES7-S3ALEREADYAD15-AD0地址輸出數(shù)據(jù)輸出/WRDT//R/DENCPU往存儲器或I/O端口寫數(shù)據(jù)的時序5、中斷響應周期中斷響應周期:從CPU中止現(xiàn)行程序轉(zhuǎn)中斷服務(wù)程序這一過程。中斷響應周期要用兩個總線周期。第一個響應周期:使AD15-AD0、/BHE/S7、A19/S6-A16/S3懸空。第二個響應周期:外設(shè)向數(shù)據(jù)總線上輸送一個字節(jié)的中斷類型號。每一響應周期的T1狀態(tài)輸出一個高電平脈沖,作為地址鎖存信號。CLKT1T2T3T4T1T2T3T4第一中斷響應周期第二中斷響應周期ALE/INTAAD7-AD08086中斷響應周期的時序圖6、總線保持和響應周期(保持響應信號HLDA

)7、系統(tǒng)復位產(chǎn)生:RESET端上的高電平維持4個時鐘周期,可使CPU復位。CPU復位:PSW、DS、ES、SS、IP等寄存器,指令隊列[被清零。CS寄存器設(shè)置為FFFFH。注:由于復位后,IF=0,處關(guān)中斷狀態(tài),所以在初始化程序中應開中斷,使CPU可響應中斷請求。當RESET由高電平變低電平7個機器周期后,CPU開始從FFFF0處執(zhí)行程序。8086的復位時序:CLKRESET輸入RESET內(nèi)部三態(tài)門浮空8086CPU復位后總線信號:AD15-AD0:A19/S6-A16/S3:/BHE/S7:S2、S1、S0:/LOCK、/RD、/INTA:ALE、HLDA、QS0、QS1:/RQ//GT0:/RQ//GT1:高阻狀態(tài)低電平高電平2、3

80x86的工作模式主要介紹一下實地址方式和保護虛地址方式。2、3、1實地址方式具有32條地址線的微處理器只有低20條地址線起作用,能尋址1M字節(jié)的物理地址。

實地址方式和保護虛地址方式的區(qū)分是由控制寄存器CR0的最低位PE位決定的。若PE位為0,則工作在實地址方式;若PE位為1,工作在保護虛地址方式

;實地址方式下,采用類似于8086的體系結(jié)構(gòu)。歸納起來,有如下幾個特點:

①尋址機構(gòu)、存儲器管理、中斷處理機構(gòu)和8086一樣

②操作數(shù)默認長度為16位,但允許訪問處理器的32位寄存器組,在使用32位寄存器組時,指令中要加上前綴以表示越權(quán)存取。

③不用虛擬地址的概念,存儲器容量最大為1M字節(jié);采用分段方式,每段大小固定為64K字節(jié),存儲段可以彼此覆蓋,即一個64K字節(jié)的段如未用完,另一個段可以覆蓋未用的存儲區(qū)。

④實地址方式下,存儲器中保留兩個固定區(qū)域,一個為初始化程序區(qū),另一個為中斷向量區(qū)。前者為FFFF0H—FFFFFH,后者為00000—003FFH。

⑤在實地址方式下,運行的程序不分特權(quán)等級,實際上,實地址方式下的程序相當于工作在特權(quán)級0,除保護虛地址方式下的一些專用指令外,所有其他指令都能在實地址方式下運行。2、3、2保護虛地址方式在保護方式下,全部32根地址有效,可尋址達4G字節(jié)的物理空間;支持多任務(wù),一個任務(wù)可運行多達16KB個段,每個段最大可為4G字節(jié),故一個任務(wù)最大可達64MM字節(jié)的虛擬地址,能快速的進行任務(wù)切換和任務(wù)保護環(huán)境;在保護方式運行的程序分為4個特權(quán)級:0、1、2、3,操作系統(tǒng)核心運行在最高特權(quán)等級0,用戶程序運行在最低特權(quán)等級3。

4級特權(quán)保護結(jié)構(gòu)

如圖所示:應用程序3級常用擴展程序內(nèi)核0級2級系統(tǒng)服務(wù)程序1級系統(tǒng)和應用程序分離1、保護方式下的尋址機制在保護方式下,一個存儲單元的地址也是由段基地址和段內(nèi)偏移量兩部分組成。在保護方式下,段基地址也是32位的,所以就不能由段寄存器的內(nèi)容直接形成32位的段基地址,而是要經(jīng)過轉(zhuǎn)換。于是在內(nèi)存中就有一個表,每一個內(nèi)存段對應著表中的一項,此項中包含32位的段基地址。在80x86中,一個段用一個8字節(jié)的描述符來描述,多個描述符構(gòu)成一個表,稱為描述表。

由描述符中所規(guī)定的段基地址加上32位的段內(nèi)偏移量就可以尋址一個存儲單元,如圖所示。段寄存器偏移量

訪問權(quán)

界限

基地址

存儲器操作數(shù)段內(nèi)基址段界}選擇段大到4GB2、描述符表和描述符(1)描述符表描述符表定義了訪問存貯器的一種數(shù)據(jù)結(jié)構(gòu),是存放在存貯器空間中的一種特殊數(shù)據(jù)段,其表項是由段描述符或其他類型的描述符構(gòu)成的,每個描述符占8個字節(jié)。分為三種類型:全局描述符表(GDT)局部描述符表(LDT)中斷描述符表(IDT)。(2)描述符在保護虛地址方式下的每一個段,都有一個相應的描述符。描述符由8個字節(jié)組成,包含了此段的基地址(32位)、段的大?。?0位)、段的類型等一些主要特性。在80x86中的描述符有兩大類:段描述符:代碼段和數(shù)據(jù)段描述符

系統(tǒng)描述符:特種數(shù)據(jù)段和控制描述符

習題

1.總線接口部件有哪些功能?請逐一說明。8086的總線接口部件有那幾部分組成?2.狀態(tài)標志和控制標志又何不同?程序中是怎樣利用這兩類標志的?8086的狀態(tài)標志和控制標志分別有哪些?3.段寄存器CS=1200H,指令指針寄存器IP=FF00H,此時,指令的物理地址為多少?指向這一物理地址的CS值和IP值是唯一的嗎?4.從引腳信號上看,8086和8088有什么不同?5.什么是最小模式和最大模式?它們在用途上有什么不同6.信號的作用是什么?試說明當起始地址為奇地址、偶地址一次讀寫一個字節(jié)和一個字時,和A0的狀態(tài)。7.根據(jù)8086CPU的存儲器讀寫時序圖,請說明:

(1)地址信號應在哪些時間內(nèi)有效?

(2)讀、寫動作發(fā)生在什么時間內(nèi)?

(3)為什么讀與寫數(shù)據(jù)的有效時間長短不一樣?

(4)什么情況下才要插入Tw周期?它能否加在T1,T2之間?8.在總線周期的T1、T2、T3、T4狀態(tài),CPU分別執(zhí)行什么動作?什么情況下需要插入等待狀態(tài)Tw?Tw在哪兒插入?怎樣插入?9.畫出8086最小模式的讀周期時序。10.什么叫描述符?他們分為哪幾種?各描述符的主要功能是什么?第三章微型計算機指令系統(tǒng)

指令系統(tǒng)是微處理器(CPU)所能執(zhí)行的指令的集合,它與微處理器有密切的聯(lián)系,不同的微處理器有不同的指令系統(tǒng)。在本章中我們主要講解INTEL公司生產(chǎn)的8086/8088CPU的尋址方式以及各種指令系統(tǒng),并通過具體實例講述了各條指令的功能和使用方法。通過本章的學習,讀者應該掌握以下內(nèi)容:

?3種操作數(shù)的尋址方式

?常用指令的格式、功能、以及對標志位的影響

3、18086/8088的尋址方式操作碼操作數(shù)匯編指令:操作碼:指令操作類型;操作數(shù):指令所需操作數(shù)或操作數(shù)的地址;操作數(shù)可以有一個,也可以有兩個,一個源操作數(shù),一個目的操作數(shù)。例:MOVAX,CX;將CX的內(nèi)容送入AX中。本章主要介紹8086/8088的指令系統(tǒng)以及在指令中為取得操作數(shù)地址所使用的尋址方式。

3、

1、1立即尋址方式指令操作數(shù)部分直接給出指令的操作數(shù),操作數(shù)與操作碼一起存入代碼段中。立即數(shù)有8位和16位。例:MOVAL,5;源操作數(shù)為立即尋址指令執(zhí)行后,AL=05H,8位數(shù)據(jù)05H存入AL寄存器。例:MOVAX,3064H;源操作數(shù)為立即尋址指令執(zhí)行后,AX=3064H,16位數(shù)據(jù)3064H存入AX寄存器。3、1、2寄存器尋址方式寄存器尋址方式的操作數(shù)是寄存器的值,指令中直接使用寄存器名,包括8位或16位通用寄存器和段寄存器??墒褂玫?6位寄存器:AX、BX、CX、DX、SI、DI、SP、BP;其中:AX、BX、CX、DX可分成兩8位使用。例:MOVAX,CX;(AX)(CX)

MOVAL;(AL)(AL)-13、1、3內(nèi)存尋址方式在內(nèi)存尋址方式中,操作數(shù)是某個內(nèi)存單元的內(nèi)容(值),指令中給出的是內(nèi)存單元的有效地址EA(即偏移地址),段地址通常在隱含的某個段寄存器中。1、直接尋址方式

直接尋址方式的操作數(shù)的形式為:Variable或[Variable]在直接尋址方式中,操作數(shù)的偏移地址(有效地址EA)直接用指令加以指定(有直接地址值和標號兩種形式),它存放在代碼段中指定操作碼之后,但操作數(shù)一般存放在存儲器的數(shù)據(jù)段中,所以必須先求出操作數(shù)的物理地址,然后再訪問存儲器才能取得操作數(shù)。段地址隱含的由DS指定,也可以ES指定,但需在指令中指明。最后存儲器地址為:DS:偏移地址或ES:偏移地址。例:MOVAX,ES:[2000H]將ES:2000H單元內(nèi)容送入AX。例:MOVAX,LABLE或MOVAX,[LABEL]將標號為LABLE(存放操作數(shù)單元的符號地址),即DS:LABLE中的內(nèi)容送入AX。2、寄存器間接尋址寄存器間接尋址方式的操作數(shù)形式為:[reg]操作數(shù)的有效地址包含在基址寄存器BX,基址指針BP或一個變址寄存器(SI或DI)中。寄存器間接尋址要用方括號括起來,以便與寄存器操作數(shù)相區(qū)別。例:MOVAX,[BX];將由BX決定的存儲單元的內(nèi)容送到AX寄存器。0000000100020003BBAATAB:AXAHALAABB間接尋址數(shù)據(jù)段0001BX操作數(shù)在存儲器中,指令中寄存器內(nèi)容作為操作數(shù)所在單元的有效地址。

(BX)(SI)(DI)(BP)有效地址=

段寄存器為DS段寄存器為SS物理地址計算方法:物理地址=(DS)*16+(BX)或(SI)或(DI)物理地址=(SS)*16+(BP)例:已知:(DS)=2100H,(DI)=2000H

指令:MOVAX,[DI];(AX)((DI))物理地址=(DS)*16+(DI)

=2100H*16+2000H=21000H+2000H=23000H

指令結(jié)果:將23000H單元內(nèi)容送AL中,將23001H單元內(nèi)容送AH中。3、寄存器相對尋址方式操作數(shù)在存儲器內(nèi),指令中寄存器內(nèi)容與指令指定的位移量(DISP)之和作為操作數(shù)所在單元的有效地址。

(BX)

DISP8

(SI)

(DI)(BP)DISP16有效地址=

段寄存器為DS段寄存器為SS+物理地址=(DS)*16+(BX)+DISP8(SI)、(DI)、DISP16類同。物理地址=(SS)*16+(BP)+DISP16例:

如果(DS)=3000H,(SI)=2000H,COUNT=3000H,則執(zhí)行指令MOVAX,CONUT[SI],求出此種尋址方式對應的有效地址和物理地址。有效地址=2000H+3000H=5000H物理地址=(DS)*16+5000H=30000H+5000H=35000H4、基址變址尋址方式:操作數(shù)在存儲器中,指令將基址寄存器(BX或BP)與變址寄存器(SI或DI)內(nèi)容之和作為操作數(shù)所在存儲單元的有效地址。

(BX)(SI)(BP)(DI)有效地址=+物理地址=(DS)*16+(BX)+(SI)或(DI)物理地址=(SS)*16+(BP)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論