微處理器技術(shù)基礎(chǔ).ppt
《微處理器技術(shù)基礎(chǔ).ppt》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《微處理器技術(shù)基礎(chǔ).ppt(67頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、第一章 微處理器技術(shù)基礎(chǔ),1.1 微處理器的發(fā)展簡(jiǎn)史 1.2 微處理器有關(guān)的技術(shù)名詞 1.3 計(jì)算機(jī)編碼及總線(xiàn)的概念 1.4 8086/8088微處理器內(nèi)部結(jié)構(gòu),1.3 計(jì)算機(jī)編碼及總線(xiàn)的概念,1.3.1 計(jì)算機(jī)中常用的進(jìn)制數(shù) 人們最常用的數(shù)是十進(jìn)制數(shù),計(jì)算機(jī)中采用的是二進(jìn)制數(shù),同時(shí)有的時(shí)候?yàn)榱撕?jiǎn)化二進(jìn)制數(shù)據(jù)的書(shū)寫(xiě),也采用八進(jìn)制和十六進(jìn)制表示方法。下面將分別介紹這幾種常用的進(jìn)制。 一、 十進(jìn)制數(shù) 十進(jìn)制數(shù)是大家熟悉的,用0,1,2,,8,9十個(gè)不同的符號(hào)來(lái)表示數(shù)值,它采用的是“逢十進(jìn)一,借一當(dāng)十”的原則。,1.3.1 計(jì)算機(jī)中常用的進(jìn)制數(shù),二、二進(jìn)制表示法 基數(shù)為2的記數(shù)制叫做二進(jìn)制
2、。 二進(jìn)制數(shù)的計(jì)算規(guī)則是“逢二進(jìn)一,借一當(dāng)二”。,例:二進(jìn)制數(shù)1011.1表示如下: (1011.1)B= 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20 +1 * 2-1,1.3.1 計(jì)算機(jī)中常用的進(jìn)制數(shù),運(yùn)算規(guī)則: 加法運(yùn)算: 0+0 = 0 0+1 = 1 1+0 = 1 1+1 =10 (逢二進(jìn)一) 減法運(yùn)算: 0-0 = 0 10-1 =1 (借位) 1-0 = 1 1-1 =0 乘法運(yùn)算: 0 * 0 =0 0 * 1 =0 1 * 0 =0 1 * 1 =1 除法運(yùn)算 0 / 1 =0 1 / 1 =1,1.3.1 計(jì)算機(jī)中常用的進(jìn)制數(shù),三、 八
3、進(jìn)制表示法 八進(jìn)制數(shù)是基數(shù)為八的計(jì)數(shù)制。八進(jìn)制數(shù)主要采用0,1,2,,7這八個(gè)阿拉伯?dāng)?shù)字。 八進(jìn)制數(shù)的運(yùn)算規(guī)則為“逢八進(jìn)一,借一當(dāng)八”。,例:(467.6)O=4 * 82 + 6 * 81 + 7 * 80 + 6 * 8-1,1.3.1 計(jì)算機(jī)中常用的進(jìn)制數(shù),四、 十六進(jìn)制表示法 基數(shù)為16,用0 - 9 、A - F 十六個(gè)字符來(lái)數(shù)值,逢十六進(jìn)一。各位的權(quán)值為 16i 。,例:(56D.3)H = 5 * 162 + 6 * 161 + 13 * 160 + 3 * 16-1,1.3.2 進(jìn)制間的轉(zhuǎn)換,一 、 二進(jìn)制數(shù)和十進(jìn)制數(shù)之間的轉(zhuǎn)換 (1)二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù) 方法:按二進(jìn)
4、制數(shù)的位權(quán)進(jìn)行展開(kāi)相加即可。 例:11101.101 =124+123+122+021+120+12-1+02-2+12-3 =16+8+4+0+1+0.5+0.25+0.125 =29.875,1.3.2 進(jìn)制間的轉(zhuǎn)換,(2)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù) 方法: A、將整數(shù)部分和小數(shù)部分分別進(jìn)行轉(zhuǎn)換,然后再把轉(zhuǎn)換結(jié)果進(jìn)行相加。 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ù)點(diǎn)后即為轉(zhuǎn)換結(jié)果。,1.3.2
5、 進(jìn)制間的轉(zhuǎn)換,2 136 余數(shù)(結(jié)果) 低位 2 68 ---------- 0 2 34 ---------- 0 2 17 ---------- 0 2 8 ---------- 1 2 4 ---------- 0 2 2 ---------- 0 2 1 ---------- 0 0 ---------- 1 高位,,,,,,,,,,,例:將(136)D轉(zhuǎn)換為二進(jìn)制數(shù)。,轉(zhuǎn)換結(jié)果:(136)D=(10001000)B,1.3.2 進(jìn)制間的轉(zhuǎn)換,,,,,,,,,,轉(zhuǎn)換結(jié)果:(87)D=(01010111)B,例:將
6、(87)D轉(zhuǎn)換為二進(jìn)制數(shù)。 2 87 余數(shù)(結(jié)果) 低位 2 43 ---------- 1 2 21 ---------- 1 2 10 ---------- 1 2 5 ---------- 0 2 2 ---------- 1 2 1 ---------- 0 0 ---------- 1 高位,1.3.2 進(jìn)制間的轉(zhuǎn)換,例:將(0.625)D轉(zhuǎn)換為二進(jìn)制數(shù)。 0.625 * 2 1.25 * 2 0.5 * 2 1.0 取整: 高位 低位,,,,,轉(zhuǎn)換結(jié)果:(0.625)D =
7、(0.101)B,例:將(0.1)D轉(zhuǎn)換為二進(jìn)制數(shù)。,0.1 * 2 0.2 * 2 0.4 * 2 0.8 * 2,,,,,1.6 * 2 1.2 * 2 (循環(huán)),,取整: 高位 低位,,轉(zhuǎn)換結(jié)果:(0.1)D (0.00011)B,1.3.2 進(jìn)制間的轉(zhuǎn)換,二、 二進(jìn)制數(shù)和八進(jìn)制數(shù)、十六進(jìn)制數(shù)間的轉(zhuǎn)換 (1)二進(jìn)制數(shù)到八進(jìn)制數(shù)、十六進(jìn)制數(shù)的轉(zhuǎn)換 A、二進(jìn)制數(shù)到八進(jìn)制數(shù)轉(zhuǎn)換采用“三位化一位”的方法。從小數(shù)點(diǎn)開(kāi)始向兩邊分別進(jìn)行每三位分一組,向左不足三位的,從左邊補(bǔ)0;向右不足三位的,從右邊補(bǔ)0。 B、二進(jìn)制數(shù)到十六進(jìn)制數(shù)的轉(zhuǎn)換采用“四位化一位”的
8、方法。從小數(shù)點(diǎn)開(kāi)始向兩邊分別進(jìn)行每四位分一組,向左不足四位的,從左邊補(bǔ)0;向右不足四位的,從右邊補(bǔ)0。 例:將(1000110.01)B轉(zhuǎn)換為八進(jìn)制數(shù)和十六進(jìn)制數(shù)。 1 000 110 . 01 001 000 110 . 010,,,,,( 1 0 6 . 2 )O,,,,,,1.3.2 進(jìn)制間的轉(zhuǎn)換,二進(jìn)制數(shù)到十六進(jìn)制數(shù)的轉(zhuǎn)換: (1000110.01)B = 100 0110 . 01 0100 0110 . 0100,,,,,(4 6 . 4)H,(2)八進(jìn)制、十六進(jìn)制數(shù)到二進(jìn)制數(shù)的轉(zhuǎn)換 方法:采用“一位化三位(四位)”的方法。按順序?qū)懗雒课话诉M(jìn)制(十六進(jìn)制)數(shù)對(duì)應(yīng)的
9、二進(jìn)制數(shù),所得結(jié)果即為相應(yīng)的二進(jìn)制數(shù)。 例:將(352.6)o轉(zhuǎn)換為二進(jìn)制數(shù)。 3 5 2 . 6 011 101 010 110 =(11 101 010 . 11)B,1.3.3 帶符號(hào)數(shù)的表示方法,1.3.3 帶符號(hào)數(shù)的表示方法,計(jì)算機(jī)中的帶符號(hào)的數(shù),用二進(jìn)制編碼表示,數(shù)的符號(hào) 也用二進(jìn)制表示。,帶符號(hào)的數(shù)有三種表示方法: 1、原碼 2、反碼 3、補(bǔ)碼,數(shù)X的原碼記作X原 反碼記作X反 補(bǔ)碼記作X補(bǔ),一、原碼表示法:,原碼用數(shù)的最左邊一位(MSB)表示數(shù)的正負(fù), 即在D7或D15位加0或1。 符號(hào)位:0表示正,1表示負(fù); 數(shù)值位:真值的絕對(duì)值。,1.3.3 帶符
10、號(hào)數(shù)的表示方法,X原= X 0 X 2n-1-1 2 n-1 + X -(2 n-1-1) X 0,,,,1.3.3 帶符號(hào)數(shù)的表示方法,例:求X1=+1101011,X2=-0111011的原碼表示。 (8位) X1原 = X1 = 01101011 X2原 = X2 = 10111011,例:求X1=1011,X2=-1011的原碼。(8位) X1原=00001011 X2原=10001011,練習(xí): 求+18和-18的原碼。,1.3.3 帶符號(hào)數(shù)的表示方法,0的表示形式(8位) +0原=00000000 -0原=10000000 特點(diǎn): A、原碼與真值的對(duì)應(yīng)關(guān)系簡(jiǎn)單。
11、B、0的編碼不唯一,處理運(yùn)算不方便。,1.3.3 帶符號(hào)數(shù)的表示方法,問(wèn)題: A、一個(gè)負(fù)數(shù)和一個(gè)正數(shù)相加,和的符號(hào)位不是兩符號(hào)直接運(yùn)算的值:0+1=1,而是由兩數(shù)的大小決定。即由兩數(shù)中絕對(duì)值大的數(shù)決定。 B、兩個(gè)負(fù)數(shù)相加,由于1+1=10,因此和的符號(hào)也不是由兩符號(hào)位直接運(yùn)算的結(jié)果決定的。,二、反碼表示法:,若X0 ,則 X反=X原 若X<0, 則 X反= 對(duì)應(yīng)原碼的符號(hào)位不變,數(shù)值部分按位求反。,1.3.3 帶符號(hào)數(shù)的表示方法,練習(xí): 求-52的原碼和反碼。,特例:0的反碼也不唯一! +0 反= 0 0000000B - 0 反= 1 1111111B,+1100111反=01100111
12、 -1100111反=10011000,三、補(bǔ)碼表示法:,1.3.3 帶符號(hào)數(shù)的表示方法,方法:正數(shù)的補(bǔ)碼和原碼相同。 負(fù)數(shù)的補(bǔ)碼=相應(yīng)反碼+1。,X補(bǔ)= X 0X 2n-1-1 2 n + X -2 n-1 X <0,,1.3.3 帶符號(hào)數(shù)的表示方法,練習(xí): 求-52的補(bǔ)碼。,例:求+127和 -128的補(bǔ)碼。(8位) +127補(bǔ)=01111111原=01111111 -128補(bǔ)=28-128=100000000-10000000=10000000 -0補(bǔ)=-0000000反+1=11111111+1=00000000 0補(bǔ)=+0補(bǔ)=-0補(bǔ)=00000000,四、注意的問(wèn)
13、題:,1.3.3 帶符號(hào)數(shù)的表示方法,1、兩個(gè)運(yùn)算原則: X反反=X原 X補(bǔ)補(bǔ)=X原,X+Y補(bǔ)=X補(bǔ)+Y補(bǔ) X-Y補(bǔ)=X補(bǔ)- Y補(bǔ),,2、補(bǔ)碼運(yùn)算的性質(zhì):,3、補(bǔ)碼運(yùn)算時(shí),其符號(hào)位要與數(shù)值部分一起參加運(yùn)算,但結(jié)果不能超出范圍,否則會(huì)出現(xiàn)溢出錯(cuò)誤。 4、符號(hào)運(yùn)算后如有進(jìn)位,則把這個(gè)進(jìn)位舍掉不要。,1.3.3 帶符號(hào)數(shù)的表示方法,五、補(bǔ)碼運(yùn)算:,例: 用補(bǔ)碼進(jìn)行下列運(yùn)算: (+33)+(+15) (-33)+(+15) (+33)+(-15) (-33)+(-15),1.3.3 帶符號(hào)數(shù)的表示方法,00100001B+33補(bǔ) 11011111B-33補(bǔ),+ 00001111B+15補(bǔ) +
14、00001111B +15補(bǔ),,,00110000B+48補(bǔ) 11101110B-18補(bǔ),1.3.3 帶符號(hào)數(shù)的表示方法,00100001B+33補(bǔ) 11011111B-33補(bǔ),+ 11110001B-15補(bǔ) + 11110001B-15補(bǔ),1 00010010B+18補(bǔ) 111010000B-48補(bǔ),,,,進(jìn)位,丟掉,,進(jìn)位,丟掉,1.3.3 帶符號(hào)數(shù)的表示方法,1、已知X原=01101000B,Y原=10001000B, 求X+Y補(bǔ)=?,2、已知X原=10001101B,Y原=10000001B, 求X+Y補(bǔ)=?,練習(xí):,在計(jì)算機(jī)內(nèi), 任何信息都是用代碼表示的,字母、數(shù)字和
15、符號(hào)(以后簡(jiǎn)稱(chēng)為字符)也是用代碼表示的。一般情況下,計(jì)算機(jī)依靠輸入設(shè)備把要輸入的字符編成一定格式的代碼,然后才能接收進(jìn)來(lái)。輸出則是相反過(guò)程,為了在輸出設(shè)備輸出字符,計(jì)算機(jī)要把相應(yīng)的字符的編碼送到外部輸出設(shè)備。 目前國(guó)際上使用的字符編碼系統(tǒng)有許多種。,1.3.4 計(jì)算機(jī)中常用編碼,一、編碼介紹:,二、 ASCII字符編碼,1.3.4 計(jì)算機(jī)中常用編碼,全稱(chēng)是“美國(guó)信息交換標(biāo)準(zhǔn)代碼”。 見(jiàn)ASCII碼字符表。,說(shuō)明: 用8位表示字符代碼,其基本代碼占7位,第8位用作 奇偶校驗(yàn)位,用以檢測(cè)字符在傳送過(guò)程中是否出錯(cuò)。 (奇校驗(yàn):1的個(gè)數(shù)是奇數(shù);偶校驗(yàn):1的個(gè)數(shù)是偶數(shù); ),ASCII碼采用 7
16、位二進(jìn)制代碼來(lái)對(duì)字符進(jìn)行編碼。 它包括 32 個(gè)通用控制符號(hào),10 個(gè)阿拉伯?dāng)?shù)字, 52 個(gè)英文大、小字母, 34 個(gè)專(zhuān)用符號(hào), 共 128 個(gè)。例如阿拉伯?dāng)?shù)字 09 的ASCII碼分別為 30H39H, 英文大寫(xiě)字母A、 B、 、Z的ASCII碼是從 41H開(kāi)始依次往下編排。并非所有的ASCII字符都能打印, 有些字符為控制字符用來(lái)控制退格,換行和回車(chē)等。 ASCII代碼還包括幾個(gè)其它的字符,例如文件結(jié)束(EOF)、 傳送結(jié)束(EOT), 用作傳送和存儲(chǔ)數(shù)據(jù)的標(biāo)志。,1.3.4 計(jì)算機(jī)中常用編碼,通常,7 位ASCII代碼在最高位添加一個(gè)“0”組成 8 位代碼。因此,字符在計(jì)算機(jī)內(nèi)部按 8
17、位一組存儲(chǔ),正好占一個(gè)字節(jié)。 在存儲(chǔ)和傳送信息時(shí),最高位常用作奇偶校驗(yàn)位, 用來(lái)檢驗(yàn)代碼在存儲(chǔ)和傳送過(guò)程中是否發(fā)生錯(cuò)誤。偶校驗(yàn)時(shí),每個(gè)代碼的二進(jìn)制形式中應(yīng)有偶數(shù)個(gè) 1。例如傳送字母“G”,其ASCII碼的二進(jìn)制形式為 1000111,因有 4 個(gè) 1, 故偶校驗(yàn)位為 0, 8 位代碼將是 01000111。 奇校驗(yàn)每個(gè)代碼中應(yīng)有奇數(shù)個(gè) 1。 若用奇校驗(yàn)傳送字符“G”,則 8 位代碼為 11000111。 奇偶校驗(yàn)只具有發(fā)現(xiàn)代碼在存儲(chǔ)和傳送過(guò)程中出現(xiàn)奇數(shù)個(gè)位出現(xiàn)錯(cuò)誤的能力。 由于它簡(jiǎn)單可行, 所以在計(jì)算機(jī)中, 廣泛地被用于信息的存儲(chǔ)和傳送過(guò)程。,1.3.4 計(jì)算機(jī)中常用編碼,1.3.4 計(jì)算機(jī)中
18、常用編碼,三、壓縮BCD碼,1.3.4 計(jì)算機(jī)中常用編碼,定義: 用4位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù),也叫8-4-2-1碼。,例題:十進(jìn)制數(shù)4256的壓縮BCD碼表示為:,0100 0010 0101 0110 B,四、非壓縮BCD碼,定義: 用8位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù),這時(shí)高4位無(wú)意義,低4位是一個(gè)BCD碼。,注意:數(shù)字的ASCII碼是一種非壓縮的BCD!,xxxx0100 xxxx0010 xxxx0101 xxxx0110 B,例題:十進(jìn)制數(shù)4256的壓縮BCD碼表示為:,1.3.4 計(jì)算機(jī)中常用編碼,1.3.5 微型計(jì)算機(jī)系統(tǒng)的三總線(xiàn),一、幾個(gè)概念的介紹:,1、總線(xiàn):傳遞信息的一組公
19、用導(dǎo)線(xiàn)。,2、系統(tǒng)總線(xiàn):從處理器引出的若干信號(hào)線(xiàn),CPU通過(guò)它們 與存儲(chǔ)器或I/O設(shè)備進(jìn)行信息交換。,系統(tǒng)總線(xiàn)分為: 數(shù)據(jù)總線(xiàn)、地址總線(xiàn)和控制總線(xiàn)。,二、數(shù)據(jù)總線(xiàn)(DB):,作用:傳送數(shù)據(jù)或代碼。 其條數(shù)與處理器字長(zhǎng)相等。,如:8086的內(nèi)、外數(shù)據(jù)線(xiàn)均為16位,記作D0D15。,1.3.5 微型計(jì)算機(jī)系統(tǒng)的三總線(xiàn),在CPU進(jìn)行讀操作時(shí),內(nèi)存或外設(shè)的數(shù)據(jù)通過(guò)數(shù)據(jù)總線(xiàn)送往CPU; 在CPU進(jìn)行寫(xiě)操作時(shí),CPU數(shù)據(jù)通過(guò)數(shù)據(jù)總線(xiàn)送往內(nèi)存或外設(shè),數(shù)據(jù)總線(xiàn)是雙向總線(xiàn)。,CPU在地址總線(xiàn)上輸出將要訪(fǎng)問(wèn)的內(nèi)存單元 或I/O端口的地址,該總線(xiàn)為單向總線(xiàn)。,三、地址總線(xiàn)(AB):,作用:傳送地
20、址信息。 其條數(shù)與微處理器尋址存儲(chǔ)器單元的范圍有關(guān)。,如:8086的地址線(xiàn)為20位,可以尋址220=1048576B1M的存儲(chǔ)單元,地址范圍為00000HFFFFFH。,1.3.5 微型計(jì)算機(jī)系統(tǒng)的三總線(xiàn),1.3.5 微型計(jì)算機(jī)系統(tǒng)的三總線(xiàn),四、控制總線(xiàn)(CB):,作用:傳送控制信號(hào)。(輸出控制信號(hào)和輸入控制信號(hào)),一部分是從CPU輸出:通過(guò)對(duì)指令的譯碼,由CPU內(nèi)部產(chǎn)生,由CPU送到存儲(chǔ)器、輸入/輸出接口電路和其它部件。如時(shí)鐘信號(hào)、控制信號(hào)等。 另一部分是由系統(tǒng)中的部件產(chǎn)生,送往CPU,如:中斷請(qǐng)求信號(hào)、總線(xiàn)請(qǐng)求信號(hào)、狀態(tài)信號(hào)。,控制總線(xiàn)的方向:,1.4 8086/8088微處理器內(nèi)部結(jié)
21、構(gòu),1.4.1 8086的基本結(jié)構(gòu),8086CPU的內(nèi)部由兩個(gè)獨(dú)立的工作部件組成,即執(zhí)行部件 EU(Execution Unit)和總線(xiàn)接口部件BIU(Bus Integerface Unit),其中EU不與系統(tǒng)總線(xiàn)連接,只負(fù)責(zé)指令的執(zhí)行, BIU則根據(jù)EU的請(qǐng)求,完成CPU與存儲(chǔ)器或I/O設(shè)備之間的數(shù)據(jù)傳送。 兩部分各自執(zhí)行自己的功能并行工作,這種工作方式與傳統(tǒng)的計(jì)算機(jī)在執(zhí)行指令時(shí)的串行工作相比極大的提高了工作效率。,20位,1.4.1 8086的基本結(jié)構(gòu),一、執(zhí)行部件EU:,功能:從BIU的指令隊(duì)列中取出指令代碼,經(jīng)指令譯碼 器譯碼后執(zhí)行指令所規(guī)定的全部功能。執(zhí)行指令所得結(jié)果或 執(zhí)行指
22、令所需的數(shù)據(jù),都由EU向BIU發(fā)出命令,對(duì)存儲(chǔ)器或 I/O接口進(jìn)行讀/寫(xiě)操作。,1.4.1 8086的基本結(jié)構(gòu),1、算術(shù)邏輯單元(ALU):,核心是16位的二進(jìn)制加法器。,功能: (1)進(jìn)行所有的算術(shù)和邏輯運(yùn)算。 (2)按指令的尋址方式計(jì)算出尋址單元的16位的偏移地址或有效地址EA(Effecy Address),并將此偏移地址送到 BIU中形成一個(gè)20位的實(shí)際地址,以實(shí)現(xiàn)1M字節(jié)的存儲(chǔ)空間尋址。,1.4.1 8086的基本結(jié)構(gòu),2、狀態(tài)標(biāo)志寄存器(Flags):,該寄存器為16位,用來(lái)反映CPU運(yùn)算后的狀態(tài)特征或 存放控制標(biāo)志。,,,,,,,,,,,,,,,,,/,/,/,/,/,/,/
23、,其中9位有效位(6位狀態(tài)標(biāo)志位,3位控制標(biāo)志位), 7位無(wú)效位。,1.4.1 8086的基本結(jié)構(gòu),(1)狀態(tài)標(biāo)志位:用來(lái)反映EU執(zhí)行算術(shù)或邏輯運(yùn)算以后的結(jié)果特征。,CF:進(jìn)位標(biāo)志。 CF=1表示指令執(zhí)行結(jié)果在最高位產(chǎn)生了一個(gè)進(jìn)位或借位; CF=0表示無(wú)進(jìn)位或借位產(chǎn)生。 AF:輔助進(jìn)位標(biāo)志(又叫半進(jìn)位標(biāo)志)。 AF=1表示字節(jié)操作時(shí),結(jié)果的低4位產(chǎn)生了一個(gè)進(jìn)位或借位; AF=0表示無(wú)進(jìn)位或借位產(chǎn)生。 OF:溢出標(biāo)志 。 OF=1表示帶符號(hào)數(shù)在進(jìn)行算術(shù)運(yùn)算時(shí)產(chǎn)生了算術(shù)溢出; OF=0表示無(wú)溢出。,1.4.1 8086的基本結(jié)構(gòu),功能:當(dāng)運(yùn)算結(jié)果超出了范圍,
24、 8位為-128--+127, 16位為-3276832767, 那樣就會(huì)產(chǎn)生溢出,即OF為1。 備注:溢出只能出現(xiàn)在兩個(gè)同號(hào)數(shù)相加 或兩個(gè)異號(hào)數(shù)相減的情況下。 OF的判斷:次高位向最高位進(jìn)位與最高位進(jìn)位的異或,如果值為1,溢出,否則沒(méi)有溢出。,1.4.1 8086的基本結(jié)構(gòu),具體地講, 對(duì)于加運(yùn)算, 如果次高位(數(shù)值部分最高位)形成進(jìn)位加入最高位,而最高位(符號(hào)位)相加(包括次高位的進(jìn)位)卻沒(méi)有進(jìn)位輸出時(shí);或者反過(guò)來(lái),次高位沒(méi)有進(jìn)位加入最高位,但最高位卻有進(jìn)位輸出時(shí),都將發(fā)生溢出。 因?yàn)檫@兩種情況分別是:兩正數(shù)相加,結(jié)果超出了范圍,形式上變成了負(fù)數(shù);兩負(fù)數(shù)相加,結(jié)果超出了范
25、圍,形式上變成了正數(shù)。 對(duì)于減運(yùn)算,當(dāng)次高不需從最高位借位,但最高位卻需借位(正數(shù)減負(fù)數(shù),差超出范圍); 或者反過(guò)來(lái),次高位需從最高位借位, 但最高位不需借位(負(fù)數(shù)減正數(shù),差超出范圍), 也會(huì)出現(xiàn)溢出。,1.4.1 8086的基本結(jié)構(gòu),SF:符號(hào)標(biāo)志。 SF=1表示運(yùn)算結(jié)果為 負(fù)數(shù); SF=0表示運(yùn)算結(jié)果不為負(fù)數(shù)。 PF:奇偶標(biāo)志 。 PF=1表示運(yùn)算結(jié)果的低八位所含1的個(gè)數(shù)為偶數(shù)。 PF=0表示指令執(zhí)行結(jié)果中有奇數(shù)個(gè)1。,ZF:零標(biāo)志 。 ZF=1表示運(yùn)算結(jié)果為零; ZF=0表示運(yùn)算結(jié)果不為零。,1.4.1 8086的基本結(jié)構(gòu),舉例: 0101 0100 0011 1001 + 01
26、00 0101 0110 1010,,1001 1001 1010 0011,顯然,運(yùn)算結(jié)果最高位為1,所以,SF=1;由于運(yùn)算結(jié)果本身部位0,所以ZF=0;由于低8位所包含的1的個(gè)數(shù)為4,為偶數(shù),所以PF=1;由于 最高位沒(méi)有向前進(jìn)位,所以CF=0;運(yùn)算過(guò)程中,第3位向第4位產(chǎn)生了進(jìn)位,所以AF=1;由于低位向最高位產(chǎn)生了進(jìn)位,而最高位沒(méi)有向前產(chǎn)生進(jìn)位,所以O(shè)F=1。,1.4.1 8086的基本結(jié)構(gòu),練習(xí): 分析01100110+01010110運(yùn)算對(duì)標(biāo)志的影響.,(2)控制標(biāo)志位:用來(lái)控制CPU的操作,它由程序設(shè)置或由程序 清除。,DF:方向標(biāo)志。用來(lái)控制數(shù)據(jù)串操作指令的地址步進(jìn)方向。
27、DF=1表示數(shù)據(jù)串指令將以地址的遞減順序?qū)?shù)據(jù)串?dāng)?shù)據(jù)進(jìn)行處理; DF=0表示數(shù)據(jù)串指令將以地址的遞增順序?qū)?shù)據(jù)串?dāng)?shù)據(jù)進(jìn)行處理。 。 IF:中斷允許標(biāo)志 。 IF=1表示8086CPU開(kāi)中斷; IF=0表示8086CPU關(guān)中斷。 TF:陷阱標(biāo)志或單步操作標(biāo)志 。 TF=1表示8086CPU處于單步工作方式; TF=0表示8086CPU正常執(zhí)行程序。,1.4.1 8086的基本結(jié)構(gòu),3、數(shù)據(jù)暫存寄存器:,1.4.1 8086的基本結(jié)構(gòu),功能:協(xié)助ALU完成運(yùn)算,對(duì)參加運(yùn)算的數(shù)據(jù)進(jìn)行暫存。,4、通用寄存器組:,(1)通用寄存器(數(shù)據(jù)寄存器) : AX、BX、CX、DX??梢宰?6位或作兩個(gè)8位來(lái)使用
28、。,(2)專(zhuān)用寄存器:,1.4.1 8086的基本結(jié)構(gòu),5、控制單元:,功能:接收從BIU的指令流隊(duì)列中來(lái)的指令,經(jīng)過(guò)指令 譯碼器譯碼,形成各種控制信號(hào),對(duì)EU的各個(gè)部件實(shí)現(xiàn) 完成規(guī)定的操作。,總線(xiàn)接口部件BIU內(nèi)部設(shè)有四個(gè)16位段地址寄存器:代碼段寄存器CS、數(shù)據(jù)段寄存器DS、堆棧段寄存器SS和附加段寄存器ES,一個(gè)16位指令指針寄存器IP,一個(gè)6字節(jié)(對(duì)8086而言)指令隊(duì)列緩沖器,20位地址加法器和總線(xiàn)控制電路。,二、總線(xiàn)接口部件BIU :,1.4.1 8086的基本結(jié)構(gòu),主要功能:根據(jù)執(zhí)行部件EU的請(qǐng)求,負(fù)責(zé)完成CPU與存儲(chǔ)器或I/O設(shè)備之間的數(shù)據(jù)傳送。,1.4.1 8086的基本結(jié)構(gòu)
29、,1、指令隊(duì)列緩沖器:,功能:用來(lái)暫存一組預(yù)取指令,即在執(zhí)行指令的同時(shí), 從內(nèi)存中取下一條指令,并放入指令隊(duì)列緩沖器中。采用 “先進(jìn)先出”原則,順序存放,順序被取到EU中去執(zhí)行。, 2、指令指針寄存器IP:,它是一個(gè)16位的寄存器,存放EU要執(zhí)行的下一條指令 (預(yù)取指令)的偏移地址(段內(nèi)地址),用以控制程序中指 令的執(zhí)行順序,實(shí)現(xiàn)對(duì)代碼段指令的跟蹤 。,1.4.1 8086的基本結(jié)構(gòu),3、地址產(chǎn)生器:,由于指令指針和通用寄存器都是16位,因而尋址范圍只有 64K字節(jié)。8086為了實(shí)現(xiàn)1MB的存儲(chǔ)單元的尋址,采用分段管 理方式。由段寄存器提供段地址,指令(IP)提供偏移地址, 經(jīng)地址產(chǎn)生器(加法
30、器)運(yùn)算產(chǎn)生20位的物理地址PA(Physical Address),此地址也稱(chēng)為實(shí)際地址。,邏輯地址LA(Logic Address):是在程序中使用的地址,它由段地址和偏移地址兩部分組成(16位)。 表示形式為:“段地址偏移地址”,1.4.1 8086的基本結(jié)構(gòu),補(bǔ)充:,物理地址PA:就是存儲(chǔ)器的實(shí)際地址,它是指CPU和 存儲(chǔ)器進(jìn)行數(shù)據(jù)交換時(shí)所使用的地址(20位)。,物理地址=段地址10H偏移地址,存儲(chǔ)器中的每個(gè)存儲(chǔ)單元都可以用兩個(gè)形式的地址來(lái)表示:實(shí)際地址(或稱(chēng)物理地址)和邏輯地址。,1.4.1 8086的基本結(jié)構(gòu),,,,,段寄存器值,偏移量,+,物理地址,,,,,,16位,4位,,,
31、,16位,,,,20位,存儲(chǔ)器物理地址的計(jì)算方法,段基址:CS、DS、ES、SS。 偏移地址:IP、DI、SI、BP、SP等。,1.4.1 8086的基本結(jié)構(gòu),例題: 計(jì)算邏輯地址035AH:32B8H的物理地址PA。,練習(xí): 計(jì)算邏輯地址1645H:3BA0H的物理地址PA。,4、總線(xiàn)控制邏輯:,1.4.1 8086的基本結(jié)構(gòu),功能:用來(lái)分時(shí)傳送20位地址信號(hào)和16位數(shù)據(jù)信號(hào)、4位 狀態(tài)信號(hào)以及其他控制信號(hào)的輸入與輸出。,5、段寄存器:,CS:16位代碼段寄存器 DS:16位數(shù)據(jù)段寄存器 ES:16位附加段寄存器 SS:16位堆棧段寄存器,,,,,,,,,,,CS 0000,,,I
32、P,,代碼段,,,DS或ES 0000,,,SI、DI或BX,,,,SS 0000,,,SP或BP,,數(shù)據(jù)段,堆棧段,存儲(chǔ)器,段寄存器和偏移地址寄存器組合關(guān)系,1.4.1 8086的基本結(jié)構(gòu),1、20位地址的形成,并將此地址送至程序存儲(chǔ)器指定單元,從該單元取出指令字節(jié),依次放入指令隊(duì)列中。 2、每當(dāng)8086的指令隊(duì)列中有2個(gè)空字節(jié),8088指令隊(duì)列中有1個(gè)空字節(jié)時(shí),總線(xiàn)接口部件就會(huì)自動(dòng)取指令至隊(duì)列中。 3、執(zhí)行部件從總線(xiàn)接口的指令隊(duì)列首取出指令代碼,執(zhí)行該指令。 4、當(dāng)隊(duì)列已滿(mǎn),執(zhí)行部件又不使用總線(xiàn)時(shí),總線(xiàn)接口部件進(jìn)入空閑狀態(tài)。 5、執(zhí)行轉(zhuǎn)移指令、調(diào)用指令、返回指令時(shí),
33、先清空隊(duì)列內(nèi)容,再將要執(zhí)行的指令放入隊(duì)列中。,三、補(bǔ)充--8086/8088CPU執(zhí)行程序的操作過(guò)程:,1.4.2 8086的內(nèi)部寄存器功能,8086CPU中可供編程使用的有14個(gè)16位寄存器,按其用途可分為3類(lèi):通用寄存器、段寄存器、指針和標(biāo)志寄存器,如圖所示。,1.4.2 8086的內(nèi)部寄存器功能,一、通用寄存器 :,分為數(shù)據(jù)寄存器和指針寄存器、變址寄存器兩組。,1、數(shù)據(jù)寄存器:,作用:主要用來(lái)存放操作數(shù)或中間結(jié)果。數(shù)據(jù)寄存器包括4個(gè) 16位的寄存器AX、BX、CX和DX,一般用來(lái)存放16位數(shù)據(jù),故稱(chēng) 為數(shù)據(jù)寄存器。其中的每一個(gè)又可根據(jù)需要將高8位和低8位分成 獨(dú)立的兩個(gè)8位寄存器來(lái)使用,
34、即AH、BH、CH、DH和AL、BL、 CL、DL兩組,用于存放8位數(shù)據(jù),它們均可獨(dú)立尋址、獨(dú)立使用。,AX:累加器;BX:基址寄存器; CX:計(jì)數(shù)寄存器;DX:數(shù)據(jù)寄存器,2、指針寄存器和變址寄存器:,1.4.2 8086的內(nèi)部寄存器功能,前者作用:用來(lái)存取位于當(dāng)前堆棧段中的數(shù)據(jù)。 后者作用:用來(lái)存放當(dāng)前數(shù)據(jù)段的偏移地址。,表3.1 通用寄存器的特定用法,二、段寄存器 :,1、代碼段寄存器CS(Code Segment):,1.4.2 8086的內(nèi)部寄存器功能,2、數(shù)據(jù)段寄存器DS (Data Segment):,4、附加段寄存器ES(Extra Segment):,3、堆棧段寄存器SS(Stack Segment):,作用:提供CPU運(yùn)行的當(dāng)前代碼段,CPU執(zhí)行的指令將從該段中取得。,作用:指向程序當(dāng)前使用的數(shù)據(jù)段。,作用:通常用來(lái)存放數(shù)據(jù),典型用法是用來(lái)存放串操作的目的數(shù)據(jù)。,作用:給出程序當(dāng)前使用的堆棧段。,1.4.2 8086的內(nèi)部寄存器功能,三、狀態(tài)標(biāo)志寄存器 :,前面已經(jīng)介紹。,
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案