第3版第2章計(jì)算機(jī)中的信息表示_第1頁
第3版第2章計(jì)算機(jī)中的信息表示_第2頁
第3版第2章計(jì)算機(jī)中的信息表示_第3頁
第3版第2章計(jì)算機(jī)中的信息表示_第4頁
第3版第2章計(jì)算機(jī)中的信息表示_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第第2 2章章 計(jì)算機(jī)中的信息表示計(jì)算機(jī)中的信息表示 數(shù)據(jù)信息數(shù)據(jù)信息指令信息指令信息數(shù)值型數(shù)據(jù)數(shù)值型數(shù)據(jù)非數(shù)值型數(shù)據(jù)非數(shù)值型數(shù)據(jù)產(chǎn)生控制信號(hào)的基本依據(jù)產(chǎn)生控制信號(hào)的基本依據(jù)2 本章主要內(nèi)容:本章主要內(nèi)容: 2.1 2.1 數(shù)據(jù)型數(shù)據(jù)的表示數(shù)據(jù)型數(shù)據(jù)的表示 2.2 2.2 字符的表示字符的表示 2.3 2.3 指令信息的表示指令信息的表示 32.1.1 帶符號(hào)數(shù)的表示帶符號(hào)數(shù)的表示1、真值與機(jī)器數(shù)真值與機(jī)器數(shù)機(jī)器數(shù):機(jī)器數(shù):在計(jì)算機(jī)中使用的連同數(shù)符一起數(shù)碼化的數(shù)。在計(jì)算機(jī)中使用的連同數(shù)符一起數(shù)碼化的數(shù)。真值:真值:正負(fù)號(hào)加絕對(duì)值表示的數(shù)值。正負(fù)號(hào)加絕對(duì)值表示的數(shù)值。常用的機(jī)器數(shù)表示形式有常用

2、的機(jī)器數(shù)表示形式有原碼、補(bǔ)碼和反碼原碼、補(bǔ)碼和反碼。例如:設(shè)機(jī)器字長為例如:設(shè)機(jī)器字長為8位,有如下真值的原、補(bǔ)、反碼位,有如下真值的原、補(bǔ)、反碼 真值真值x x 原原 x 補(bǔ)補(bǔ) x 反反 1101000011010000110100001101 0000000000000000000000000 -0100000000000000011111111 -1101100011011111001111110010 2.1 2.1 數(shù)值型數(shù)據(jù)的表示數(shù)值型數(shù)據(jù)的表示 4無符號(hào)整數(shù)無符號(hào)整數(shù)定點(diǎn)整數(shù)定點(diǎn)整數(shù)定點(diǎn)小數(shù)定點(diǎn)小數(shù)0000000011111111 025511111111 01111111原原原

3、原-127127補(bǔ)補(bǔ)10000000 01111111補(bǔ)補(bǔ) -1281271.1111111 0.1111111原原原原-(1-2-7) (1-2-7)1.0000000 0.1111111補(bǔ)補(bǔ)補(bǔ)補(bǔ) -1 (1-2-7)12-72.1.2 定點(diǎn)數(shù)與浮點(diǎn)數(shù)定點(diǎn)數(shù)與浮點(diǎn)數(shù)1、定點(diǎn)數(shù)定點(diǎn)數(shù)設(shè)機(jī)器字長設(shè)機(jī)器字長8 8位,則一些定點(diǎn)數(shù)的表示范圍如下:位,則一些定點(diǎn)數(shù)的表示范圍如下:分分辨辨率率5E E浮點(diǎn)數(shù)真值:浮點(diǎn)數(shù)真值:N = N = + + R R M M 浮點(diǎn)數(shù)機(jī)器格式:浮點(diǎn)數(shù)機(jī)器格式:階碼階碼MsMs Es EEs E1 1 E Ek M M1 M Mn尾數(shù)尾數(shù)階符階符數(shù)符數(shù)符R R:階碼底,

4、隱含約定,與尾數(shù)基數(shù)相同。:階碼底,隱含約定,與尾數(shù)基數(shù)相同。E E:階碼,為定點(diǎn)整數(shù),補(bǔ)碼或移碼表示。:階碼,為定點(diǎn)整數(shù),補(bǔ)碼或移碼表示。 其其位數(shù)位數(shù)決定決定數(shù)值范圍數(shù)值范圍;階符階符表示表示數(shù)的大小數(shù)的大小。M M:尾數(shù),為定點(diǎn)小數(shù),原碼或補(bǔ)碼表示。:尾數(shù),為定點(diǎn)小數(shù),原碼或補(bǔ)碼表示。 其其位數(shù)位數(shù)決定決定數(shù)的精度數(shù)的精度;數(shù)符數(shù)符表示表示數(shù)的正負(fù)數(shù)的正負(fù)。尾數(shù)規(guī)格化:尾數(shù)規(guī)格化:1/2 M 1/2 M 1 1最高有效位絕對(duì)值為最高有效位絕對(duì)值為1 12 、浮點(diǎn)數(shù)浮點(diǎn)數(shù)(1 1)典型浮點(diǎn)數(shù)格式)典型浮點(diǎn)數(shù)格式MsMs:尾數(shù)的符號(hào)位,也是整個(gè)浮點(diǎn)數(shù)的符號(hào)位。:尾數(shù)的符號(hào)位,也是整個(gè)浮點(diǎn)數(shù)的

5、符號(hào)位。6(2) 表示范圍表示范圍表示范圍:表示范圍:-231 231 (1-2-9)例:某規(guī)格化浮點(diǎn)數(shù)用補(bǔ)碼表示,其中階碼例:某規(guī)格化浮點(diǎn)數(shù)用補(bǔ)碼表示,其中階碼6位,含位,含1位階位階符;尾符符;尾符1位,尾數(shù)位,尾數(shù)9位。位。階符階符1 1位,階碼位,階碼k位,補(bǔ)碼表示,以位,補(bǔ)碼表示,以2 2為底;為底;數(shù)符數(shù)符1 1位,尾數(shù)位,尾數(shù)n位,補(bǔ)碼表示,規(guī)格化。位,補(bǔ)碼表示,規(guī)格化。絕對(duì)值最大浮點(diǎn)負(fù)數(shù)絕對(duì)值最大浮點(diǎn)負(fù)數(shù):最大浮點(diǎn)正數(shù)最大浮點(diǎn)正數(shù):最小浮點(diǎn)正數(shù)最小浮點(diǎn)正數(shù):階碼為最大數(shù):階碼為最大數(shù): 2 -1k尾數(shù)為絕對(duì)值最大的負(fù)數(shù):尾數(shù)為絕對(duì)值最大的負(fù)數(shù):-1尾數(shù)為最大數(shù):尾數(shù)為最大數(shù):階

6、碼為最大數(shù):階碼為最大數(shù):2 -1k1-2-n階碼為最小數(shù):階碼為最小數(shù):-2 k尾數(shù)為最小正數(shù):尾數(shù)為最小正數(shù):2-1最小絕對(duì)值:最小絕對(duì)值: 2-337(3) 實(shí)用浮點(diǎn)數(shù)格式實(shí)用浮點(diǎn)數(shù)格式IEEE754IEEE754標(biāo)準(zhǔn)的標(biāo)準(zhǔn)的3232位浮點(diǎn)數(shù)格式為:位浮點(diǎn)數(shù)格式為:階碼階碼S S 尾數(shù)尾數(shù)數(shù)符數(shù)符31 30 23 22 0階碼:階碼:8 8位以位以2 2為底,階碼為底,階碼 = = 階碼真值階碼真值 + 127 + 127 。尾數(shù):尾數(shù):2323位,采用隱含尾數(shù)最高位位,采用隱含尾數(shù)最高位1 1的表示方法,的表示方法, 實(shí)際尾數(shù)實(shí)際尾數(shù)2424位,尾數(shù)真值位,尾數(shù)真值 = 1 + = 1

7、 + 尾數(shù)尾數(shù)S S:數(shù)符,:數(shù)符,0 0正正1 1負(fù)。負(fù)。這種格式的非這種格式的非0 0浮點(diǎn)數(shù)真值為:浮點(diǎn)數(shù)真值為:(-1) 2 (1 + 尾數(shù))尾數(shù))S階碼階碼-1278(3) 實(shí)用浮點(diǎn)數(shù)格式實(shí)用浮點(diǎn)數(shù)格式例如:試將例如:試將- -(0.110.11)用)用IEEEIEEE短實(shí)數(shù)浮點(diǎn)格式表示出來。短實(shí)數(shù)浮點(diǎn)格式表示出來。階碼階碼S S 尾數(shù)尾數(shù)數(shù)符數(shù)符31 30 23 22 0階碼:階碼階碼:階碼 = = 階碼真值階碼真值 + 127= -1+127=126=+ 127= -1+127=126=(0111111001111110)尾數(shù):為尾數(shù):為 0.100 0.100 02解:解:- -

8、(0.11) = -0.11) = -(1 + 0.11 + 0.1) 22-1數(shù)符數(shù)符:為:為1 12該浮點(diǎn)代碼為該浮點(diǎn)代碼為 1,01111110,100 1,01111110,100 0階碼階碼8位位尾數(shù)尾數(shù)23位位9 2.2 2.2 字符的表示字符的表示 2.2.1 ASCIIASCII碼碼 美國國家信息交換標(biāo)準(zhǔn)代碼,簡稱美國國家信息交換標(biāo)準(zhǔn)代碼,簡稱ASCII碼。碼。09共共10個(gè)數(shù)字字符:個(gè)數(shù)字字符:30H39H 26個(gè)大寫英文字母:個(gè)大寫英文字母:41H5AH一些一些通用符號(hào)和控制符號(hào)通用符號(hào)和控制符號(hào) 128個(gè)個(gè)ASCIIASCII碼碼字符包括字符包括 通常一個(gè)字符的通常一個(gè)字

9、符的ASCIIASCII碼占用主存一個(gè)字節(jié)單碼占用主存一個(gè)字節(jié)單元,字符序列則占用連續(xù)的主存單元。元,字符序列則占用連續(xù)的主存單元。 26個(gè)小寫英文字母:個(gè)小寫英文字母:61H7AH102.2.2 UNICODE編碼編碼 ASCII碼適合英語,但不太適用于其他語言。一些碼適合英語,但不太適用于其他語言。一些計(jì)算機(jī)公司形成了一個(gè)聯(lián)盟,稱為計(jì)算機(jī)公司形成了一個(gè)聯(lián)盟,稱為UNICODE。 UNICODE最基本的思路是將每個(gè)字符和符號(hào)賦予最基本的思路是將每個(gè)字符和符號(hào)賦予一個(gè)永久、唯一的一個(gè)永久、唯一的16位值,即碼點(diǎn),不再使用多字節(jié)位值,即碼點(diǎn),不再使用多字節(jié)字符和字符和ESC字符序列。將每個(gè)字符長

10、度固定為字符序列。將每個(gè)字符長度固定為16位長位長,使軟件的編制簡單了許多。,使軟件的編制簡單了許多。 11 分配了一些碼點(diǎn)給變音符(分配了一些碼點(diǎn)給變音符(112)、標(biāo)點(diǎn)符號(hào)()、標(biāo)點(diǎn)符號(hào)(112)、上下標(biāo))、上下標(biāo)字符(字符(48)、方向字符()、方向字符(48)、算術(shù)運(yùn)算符()、算術(shù)運(yùn)算符(256)、幾何圖符)、幾何圖符(96)和裝飾符號(hào)()和裝飾符號(hào)(192)。)。 漢語、日語和朝鮮語所需要的符號(hào)。先是漢語、日語和朝鮮語所需要的符號(hào)。先是1 024個(gè)發(fā)音符號(hào)(個(gè)發(fā)音符號(hào)(如片假名和拼音字母),然后是漢語和日語的象形符號(hào)(如片假名和拼音字母),然后是漢語和日語的象形符號(hào)(20 992)和

11、朝鮮語的)和朝鮮語的Hangul音節(jié)(音節(jié)(11 156)。)。 分配了分配了6 400個(gè)碼點(diǎn)供用戶進(jìn)行本地化時(shí)使用。個(gè)碼點(diǎn)供用戶進(jìn)行本地化時(shí)使用。 每個(gè)符號(hào)為每個(gè)符號(hào)為16位,位,UNICODE共有共有 65 536個(gè)碼點(diǎn)。整個(gè)碼點(diǎn)空個(gè)碼點(diǎn)。整個(gè)碼點(diǎn)空間被劃分為塊,每塊的碼點(diǎn)數(shù)為間被劃分為塊,每塊的碼點(diǎn)數(shù)為16的倍數(shù)。碼點(diǎn)分配順序如下:的倍數(shù)。碼點(diǎn)分配順序如下: 主要字母表都有各自連續(xù)的空間。例如:拉丁語(主要字母表都有各自連續(xù)的空間。例如:拉丁語(336個(gè)碼點(diǎn)個(gè)碼點(diǎn))、希臘語()、希臘語(144個(gè)碼點(diǎn))、斯拉夫語(個(gè)碼點(diǎn))、斯拉夫語(256)。)。12 2.3 2.3 指令信息的表示指令信

12、息的表示 指令:指示計(jì)算機(jī)執(zhí)行某種操作的信息的集合。指令:指示計(jì)算機(jī)執(zhí)行某種操作的信息的集合。本節(jié)主要討論:一般本節(jié)主要討論:一般指令格式指令格式 常用常用尋址方式尋址方式 面向用戶面向用戶指令類型指令類型2.3.1 指令格式指令格式指令基本格式指令基本格式 操作碼操作碼 地址碼地址碼1、 指令中的基本信息:指令中的基本信息:操作碼,操作數(shù)地址,操作結(jié)果地址,操作碼,操作數(shù)地址,操作結(jié)果地址, 下一條指令地址下一條指令地址操作數(shù)地址和操作數(shù)地址和操作結(jié)果地址操作結(jié)果地址132、 地址結(jié)構(gòu)地址結(jié)構(gòu)使用使用隱地址隱地址可以減少指令中的地址數(shù),可以減少指令中的地址數(shù),簡化簡化地址結(jié)構(gòu)地址結(jié)構(gòu)。(1

13、1)三地址指令)三地址指令格式:格式:操作數(shù)操作數(shù)地址地址OP A1 A2 A3 OP A1 A2 A3 結(jié)果結(jié)果地址地址下條指令地址下條指令地址功能:功能:轉(zhuǎn)移時(shí),用轉(zhuǎn)移轉(zhuǎn)移時(shí),用轉(zhuǎn)移地址修改地址修改PCPC內(nèi)容。內(nèi)容。(A1)(A1)OPOP(A2) A3(A2) A3(PC) + n PC(PC) + n PC14目的地址目的地址(2 2)二地址指令)二地址指令格式:格式:OP A1 A2 OP A1 A2 源地址源地址功能:功能: (A1)OP(A2) A1(A1)OP(A2) A1(PC) + n PC(PC) + n PC雙操作數(shù):雙操作數(shù):(3 3)一地址指令)一地址指令格式:格

14、式:OP AOP A隱含約定隱含約定單操作數(shù):單操作數(shù):功能:功能:(AC)OP(A) AC(AC)OP(A) AC(PC) + n PC(PC) + n PCOPOP(A A) A A(PC) + n PC(PC) + n PC15(4 4)零地址指令)零地址指令格式:格式:OP OP 這種指令不含操作數(shù),有兩種可能:這種指令不含操作數(shù),有兩種可能: 不需要操作數(shù)的指令;不需要操作數(shù)的指令; 所需操作數(shù)都是隱含指定。所需操作數(shù)都是隱含指定。(1) 固定長度操作碼固定長度操作碼各指令各指令操作碼的位置、位數(shù)固定相同。操作碼的位置、位數(shù)固定相同。(2 2)可變長度操作碼)可變長度操作碼各指令各指

15、令操作碼的位置、位數(shù)不固定,根據(jù)需要操作碼的位置、位數(shù)不固定,根據(jù)需要變化。變化。3. 操作碼結(jié)構(gòu)操作碼結(jié)構(gòu)關(guān)鍵在設(shè)置擴(kuò)展標(biāo)志。關(guān)鍵在設(shè)置擴(kuò)展標(biāo)志。16例:例: 指令字長指令字長16位,可含有位,可含有3 3、2 2、1 1或或0 0個(gè)地址,每個(gè)地址占個(gè)地址,每個(gè)地址占4 4位。位。操作碼操作碼 地址碼地址碼 15 12 11 8 7 4 3 00000 0000 X X Y Y Z Z 1110 1110 X X Y Y Z Z.11111111 0000 0000 Y ZY Z 1111 1111 1110 1110 Y ZY Z.三地址指令三地址指令 1515條條二地址指令二地址指令 1

16、515條條11111111 11111111 0000 0000 Z Z 1111 11111111 1111 1110 1110 Z Z.一地址指令一地址指令 1515條條11111111 11111111 11111111 0000 0000 1111 11111111 1111 11111111 1111 1111.零地址指令零地址指令 1616條條17(3)復(fù)合型操作碼)復(fù)合型操作碼操作碼分為幾部分,每部分表示一種操作。操作碼分為幾部分,每部分表示一種操作。例:某機(jī)算邏指令例:某機(jī)算邏指令0 1 2 3 4 5 6 7 8 15基本操作基本操作 進(jìn)位進(jìn)位 移位移位 回送回送 判跳判跳

17、操作數(shù)操作數(shù)4、 指令長度指令長度(1 1)變長指令格式)變長指令格式可簡化控制,常用于精簡指令系統(tǒng)計(jì)算機(jī)可簡化控制,常用于精簡指令系統(tǒng)計(jì)算機(jī)RISC中。中。合理利用存儲(chǔ)空間。合理利用存儲(chǔ)空間。(2 2)固定長度指令格式)固定長度指令格式182.3.2 常用常用尋址方式尋址方式 指令中以什么方式提供操作數(shù)地址或操作數(shù),指令中以什么方式提供操作數(shù)地址或操作數(shù),稱為尋址方式。稱為尋址方式。 尋址方式的含義有二個(gè):一是要表示指令尋址方式的含義有二個(gè):一是要表示指令所需的操作數(shù)在何處(如在指令中、寄存器中所需的操作數(shù)在何處(如在指令中、寄存器中或主存單元中);二是要給出獲取操作數(shù)地址或主存單元中);二

18、是要給出獲取操作數(shù)地址的方法。的方法。 指令約定尋址方式的方法通常有二種:一指令約定尋址方式的方法通常有二種:一種是在指令中設(shè)置專門的尋址字段;另一種是種是在指令中設(shè)置專門的尋址字段;另一種是由操作碼隱含約定。由操作碼隱含約定。19操作碼操作碼OP OP 立即數(shù)立即數(shù)1、 立即尋址立即尋址指令直接給出操作數(shù)。指令直接給出操作數(shù)。定長格式:定長格式:變長格式:變長格式:基本指令基本指令 立即數(shù)立即數(shù)數(shù)在指令中,其長數(shù)在指令中,其長度固定、有限。度固定、有限。數(shù)在基本指令之后,數(shù)在基本指令之后,其長度可變。其長度可變。用來提供常數(shù)、設(shè)置初值等。用來提供常數(shù)、設(shè)置初值等。20OP OP A A 2、

19、 直接尋址直接尋址指令直接給出操作數(shù)地址,根據(jù)該地址可從主指令直接給出操作數(shù)地址,根據(jù)該地址可從主存單元中讀取操作數(shù)。尋址過程可描述為:存單元中讀取操作數(shù)。尋址過程可描述為:指令指令 操作數(shù)操作數(shù)S S 也可表示為:也可表示為:主存主存操作數(shù)地址操作數(shù)地址操作數(shù)操作數(shù)M213、寄存器尋址、寄存器尋址指令中給出寄存器號(hào)(也稱寄存器地址),從指令中給出寄存器號(hào)(也稱寄存器地址),從寄存器中獲取操作數(shù)。尋址過程可描述為:寄存器中獲取操作數(shù)。尋址過程可描述為:OP OP Ri Ri 指令指令 操作數(shù)操作數(shù)S S也可表示為:也可表示為:寄存器號(hào)寄存器號(hào)操作數(shù)操作數(shù)RRi 該尋址方式的優(yōu)點(diǎn)該尋址方式的優(yōu)點(diǎn)

20、:尋址速度快尋址速度快可減少一個(gè)操作數(shù)地址的位數(shù)可減少一個(gè)操作數(shù)地址的位數(shù)224 4、間接尋址、間接尋址指令給出存放操作數(shù)地址的主存單元地址,指令給出存放操作數(shù)地址的主存單元地址,即操作數(shù)的間接地址。尋址過程可描述為:即操作數(shù)的間接地址。尋址過程可描述為:指令指令也可表示為:也可表示為:A1A1A2A2.A2A2 操作數(shù)操作數(shù)S S.間址單元間址單元OP OP A1 A1 主存主存.間址單元地址間址單元地址操作數(shù)操作數(shù)M操作數(shù)地址操作數(shù)地址M235 5、 寄存器間址寄存器間址操作數(shù)在主存單元中,由指令給出寄存器號(hào),該操作數(shù)在主存單元中,由指令給出寄存器號(hào),該寄存器存放操作數(shù)地址。尋址過程可描述

21、為:寄存器存放操作數(shù)地址。尋址過程可描述為:指令指令也可表示為:也可表示為:A A. 操作數(shù)操作數(shù)S SRiOP OP Ri Ri 主存主存. 寄存器號(hào)寄存器號(hào)操作數(shù)操作數(shù)M操作數(shù)地址操作數(shù)地址RA地址指針地址指針 該尋址方式的優(yōu)點(diǎn)該尋址方式的優(yōu)點(diǎn):尋址速度比間址尋址快尋址速度比間址尋址快可減少一個(gè)操作數(shù)地址的位數(shù)可減少一個(gè)操作數(shù)地址的位數(shù)246 6、 變址尋址變址尋址指令給出一個(gè)形式地址,并指定一個(gè)寄存器作為變址寄指令給出一個(gè)形式地址,并指定一個(gè)寄存器作為變址寄存器,將變址寄存器內(nèi)容與形式地址相加得到操作數(shù)地存器,將變址寄存器內(nèi)容與形式地址相加得到操作數(shù)地址。尋址過程可描述為:址。尋址過程可

22、描述為:指令指令也可表示為:也可表示為:A A. 操作數(shù)操作數(shù)S SRiOP OP Ri Ri D D主存主存.N變址寄存器變址寄存器 加法器加法器 變址寄存器號(hào)變址寄存器號(hào)D+N=操作數(shù)地址操作數(shù)地址變址量變址量NR 形式地址形式地址D操作數(shù)操作數(shù)M25變址方式的典型用法:將形式地址作為基準(zhǔn)地址,變址方式的典型用法:將形式地址作為基準(zhǔn)地址,將變址寄存器內(nèi)容作變化量。將變址寄存器內(nèi)容作變化量。7 7、 基址尋址基址尋址指令給出一個(gè)形式地址,并給出基址寄存器號(hào),基址寄存指令給出一個(gè)形式地址,并給出基址寄存器號(hào),基址寄存器內(nèi)容(作為基準(zhǔn)量)與形式地址相加得到操作數(shù)地址。器內(nèi)容(作為基準(zhǔn)量)與形式地

23、址相加得到操作數(shù)地址。 基址尋址與變址尋址在形成操作數(shù)地址的方法上很相基址尋址與變址尋址在形成操作數(shù)地址的方法上很相似,但主要應(yīng)用目的不同:似,但主要應(yīng)用目的不同: 變址尋址面向用戶,用于訪問字符串、線形表、一維數(shù)組等;變址尋址面向用戶,用于訪問字符串、線形表、一維數(shù)組等; 基址尋址面向系統(tǒng),用來解決程序在主存中重定位的問題,以基址尋址面向系統(tǒng),用來解決程序在主存中重定位的問題,以及在有限字長指令中擴(kuò)大尋址空間等。及在有限字長指令中擴(kuò)大尋址空間等。268 8、 相對(duì)尋址相對(duì)尋址用程序計(jì)數(shù)器用程序計(jì)數(shù)器PC的內(nèi)容作為基準(zhǔn)地址,指令中給出的形的內(nèi)容作為基準(zhǔn)地址,指令中給出的形式地址作為位移量(可正

24、可負(fù)),二者相加后形成操作式地址作為位移量(可正可負(fù)),二者相加后形成操作數(shù)的地址。尋址過程可描述為:數(shù)的地址。尋址過程可描述為:指令指令A(yù)+dA+dPCOP OP d dA程序計(jì)數(shù)器程序計(jì)數(shù)器 加法器加法器A A OP dOP d. 操作數(shù)操作數(shù)S S.主存主存.d d特點(diǎn)特點(diǎn): 操作數(shù)地址隨操作數(shù)地址隨PC內(nèi)容變化而改變,但二者之間的距離不內(nèi)容變化而改變,但二者之間的距離不變,可使操作數(shù)與指令在主存中一起移動(dòng);變,可使操作數(shù)與指令在主存中一起移動(dòng); 位移量可正可負(fù),表示操作數(shù)地址可以在指令地址之后或之前。位移量可正可負(fù),表示操作數(shù)地址可以在指令地址之后或之前。279 9、 堆棧尋址堆棧尋址

25、操作數(shù)存放在主存堆棧中,指令隱含約定由堆棧指針操作數(shù)存放在主存堆棧中,指令隱含約定由堆棧指針SP寄存器提供堆棧棧頂單元地址,進(jìn)行讀出或?qū)懭?。尋址寄存器提供堆棧棧頂單元地址,進(jìn)行讀出或?qū)懭?。尋址過程可描述為:過程可描述為:指令指令棧底棧底SPOPOPA堆棧指針寄存器堆棧指針寄存器. 操作數(shù)操作數(shù)S S.主存主存.堆棧是一種按堆棧是一種按“后進(jìn)先出后進(jìn)先出”存取順序進(jìn)行存取的存儲(chǔ)結(jié)構(gòu)。在主存存取順序進(jìn)行存取的存儲(chǔ)結(jié)構(gòu)。在主存中設(shè)置的堆棧區(qū)有二端,作為起點(diǎn)的一端固定稱為中設(shè)置的堆棧區(qū)有二端,作為起點(diǎn)的一端固定稱為棧底棧底;另一端稱;另一端稱為為棧頂棧頂。對(duì)堆棧的讀出(彈出)或?qū)懭耄▔喝耄┒际菍?duì)棧頂單

26、元進(jìn)。對(duì)堆棧的讀出(彈出)或?qū)懭耄▔喝耄┒际菍?duì)棧頂單元進(jìn)行,因此行,因此CPU中設(shè)具有加減計(jì)數(shù)功能的中設(shè)具有加減計(jì)數(shù)功能的SP指示棧頂?shù)奈恢?。指示棧頂?shù)奈恢?。棧頂棧頂堆棧堆?8堆棧自底向上(按地址碼減少的方向)生成堆棧自底向上(按地址碼減少的方向)生成壓棧:壓棧:SPSP內(nèi)容減內(nèi)容減1 1,再壓(存)入數(shù)。,再壓(存)入數(shù)。先取數(shù),先取數(shù),SPSP內(nèi)容加內(nèi)容加1 1出棧:出棧: 主存主存.(SP)=FF初始化初始化棧頂棧頂= =棧底棧底 主存主存.(SP)=FE壓入壓入aa棧頂棧頂 主存主存.(SP)=FE壓入壓入bab棧底棧底棧頂棧頂= =棧底棧底 主存主存.(SP)=FE彈出彈出ba29

27、指令中怎樣表達(dá)尋址方式:指令中怎樣表達(dá)尋址方式: (1 1)操作碼隱含說明不同尋址方式)操作碼隱含說明不同尋址方式例:某機(jī)指令操作碼最高兩位例:某機(jī)指令操作碼最高兩位0000:RRRR型指令,寄存器型指令,寄存器- -寄存器尋址寄存器尋址0101:RXRX型指令,寄存器型指令,寄存器- -變址尋址變址尋址1010:SISI型指令,基址型指令,基址- -立即尋址立即尋址1111:SSSS型指令,基址型指令,基址- -基址尋址基址尋址30(2 2)指令中設(shè)置專門字段說明尋址方式)指令中設(shè)置專門字段說明尋址方式例:某機(jī)指令的每個(gè)地址字段中各設(shè)置一例:某機(jī)指令的每個(gè)地址字段中各設(shè)置一個(gè)個(gè)3 3位的尋址

28、方式字段。位的尋址方式字段。操作碼操作碼OP OP 尋址方式尋址方式 R R 尋址方式尋址方式 R R 源地址字段源地址字段目的地址字段目的地址字段3位位3位位312.3.3 2.3.3 指令類型指令類型 按指令功能或操作性質(zhì)對(duì)指令分類。按指令功能或操作性質(zhì)對(duì)指令分類。1.1.數(shù)據(jù)傳送類指令數(shù)據(jù)傳送類指令源地址源地址 目的地址;且源地址中的數(shù)據(jù)保持不變。目的地址;且源地址中的數(shù)據(jù)保持不變。數(shù)據(jù)數(shù)據(jù)設(shè)置時(shí)需考慮:設(shè)置時(shí)需考慮:(1 1)規(guī)定傳送范圍)規(guī)定傳送范圍例:例: 80 80X86X86: IBM370 IBM370:R R M M,R R R RR R M M,R R R R,M M M

29、 M32(2 2)指明傳送單位)指明傳送單位例:例: 用操作碼說明用操作碼說明(VAX-11)(VAX-11):用地址量說明用地址量說明(80X86)(80X86):傳送次數(shù)由傳送次數(shù)由計(jì)數(shù)器控制計(jì)數(shù)器控制MOVMOVB B 8 8MOV MOV AXAX,BXBX (16)(16)MOVMOVW W 1616MOVMOVL L 3232MOV MOV ALAL,BLBL (8)(8)MOV MOV EAXEAX,EBXEBX (32)(32)例:例: 80X8680X86的串傳送指令:的串傳送指令:REPREP MOVSWMOVSW(3 3)采用的尋址方式)采用的尋址方式在尋址方式的設(shè)置上幾

30、乎不受限制,能比較在尋址方式的設(shè)置上幾乎不受限制,能比較集中地反映指令系統(tǒng)各種尋址方式的實(shí)現(xiàn)。集中地反映指令系統(tǒng)各種尋址方式的實(shí)現(xiàn)。332.2.輸入輸入/ /輸出指令輸出指令各種信息各種信息主機(jī)主機(jī) 外設(shè)外設(shè)數(shù)據(jù);數(shù)據(jù);控制命令;控制命令;狀態(tài)。狀態(tài)。(1 1)外設(shè)的編址方式)外設(shè)的編址方式I/OI/O接口中寄存器或相當(dāng)部件稱為接口中寄存器或相當(dāng)部件稱為I/OI/O端口。端口。如何為如何為I/OI/O端口分配地址?端口分配地址?34 I/O I/O端口獨(dú)立編址端口獨(dú)立編址I/OI/O地址空間不占主存地址空間,可與主存地址空地址空間不占主存地址空間,可與主存地址空間重疊。間重疊。=1 =1 訪問

31、存儲(chǔ)器訪問存儲(chǔ)器=0 =0 訪問訪問I/OI/O端口端口需設(shè)置專門的控制線區(qū)分訪問對(duì)象,如需設(shè)置專門的控制線區(qū)分訪問對(duì)象,如為每個(gè)為每個(gè)I/OI/O端口端口分配端口地址;分配端口地址;在在I/OI/O指令中給出端口地址。指令中給出端口地址。M/IOM/IO35 I/O I/O端口與主存單元統(tǒng)一編址端口與主存單元統(tǒng)一編址I/OI/O端口與主存單元使用一個(gè)地址空間,用不同的端口與主存單元使用一個(gè)地址空間,用不同的地址碼來區(qū)分它們。地址碼來區(qū)分它們。如將存儲(chǔ)地址空間的低端分配給主存單元,高端如將存儲(chǔ)地址空間的低端分配給主存單元,高端分配給分配給I/OI/O端口。端口。 設(shè)置設(shè)置專用專用I/OI/O指

32、令指令針對(duì)獨(dú)立編址,用針對(duì)獨(dú)立編址,用I/OI/O指令訪問指令訪問I/OI/O端口。端口。指令中說明輸入指令中說明輸入/ /輸出操作,并給出端口地址。輸出操作,并給出端口地址。(2 2)I/OI/O指令設(shè)置方式指令設(shè)置方式顯式顯式I/OI/O指令指令36例:例: 80X8680X86的的I/OI/O指令指令 輸入:輸入:IN ALIN AL,n n;端口地址端口地址(n) AL(n) AL( (直接端口尋址直接端口尋址) ) IN ALIN AL,DXDX;間接端口地址間接端口地址(DX) AL(DX) AL( (間接端口尋址間接端口尋址) ) 輸出:輸出:OUT nOUT n,ALAL;(A

33、L) n(AL) n( (直接端口尋址直接端口尋址) ) OUT DXOUT DX,ALAL;(AL) (DX)(AL) (DX)( (間接端口尋址間接端口尋址) )37 用用傳送指令傳送指令實(shí)現(xiàn)實(shí)現(xiàn)I/OI/O操作操作針對(duì)統(tǒng)一編址,用傳送指令訪問針對(duì)統(tǒng)一編址,用傳送指令訪問I/OI/O端口。端口。不設(shè)專用不設(shè)專用I/OI/O指令。指令。例例. . 某機(jī)某機(jī)I/OI/O接口中的寄存器地址為接口中的寄存器地址為80H80H,用傳送指令實(shí)現(xiàn),用傳送指令實(shí)現(xiàn)輸入輸入/ /輸出:輸出: MOV 80HMOV 80H,A A;將累加器;將累加器A A內(nèi)容輸出到內(nèi)容輸出到80H80H端口端口 MOV AM

34、OV A,80H80H;將將80H端口內(nèi)容輸入到累加器端口內(nèi)容輸入到累加器A隱式隱式I/OI/O指令指令38 通過通過I/OI/O處理機(jī)進(jìn)行處理機(jī)進(jìn)行I/OI/O操作操作CPUCPU執(zhí)行簡單執(zhí)行簡單I/OI/O指令指令 ( (啟動(dòng)、停止、查詢、清除啟動(dòng)、停止、查詢、清除) )設(shè)置時(shí)需考慮設(shè)置時(shí)需考慮操作數(shù)類型操作數(shù)類型、符號(hào)符號(hào)、進(jìn)制進(jìn)制等;等;運(yùn)算結(jié)束后設(shè)置相應(yīng)運(yùn)算結(jié)束后設(shè)置相應(yīng)狀態(tài)標(biāo)志狀態(tài)標(biāo)志。兩級(jí)兩級(jí)I/OI/O指令指令包括:包括:加、減、求補(bǔ)、加加、減、求補(bǔ)、加1 1、減、減1 1、比較等運(yùn)算、比較等運(yùn)算I/OI/O處理機(jī)執(zhí)行處理機(jī)執(zhí)行I/OI/O操作指令操作指令 ( (輸入、輸出輸入

35、、輸出) )3.3.算術(shù)運(yùn)算類指令算術(shù)運(yùn)算類指令4.4.邏輯運(yùn)算類指令:與、或、非、異或等運(yùn)算邏輯運(yùn)算類指令:與、或、非、異或等運(yùn)算可實(shí)現(xiàn)對(duì)操作數(shù)位的可實(shí)現(xiàn)對(duì)操作數(shù)位的設(shè)置設(shè)置、測試測試、清除清除、修改修改等。等。有的機(jī)器設(shè)置專門的位操作指令。有的機(jī)器設(shè)置專門的位操作指令。395.5.移位操作指令移位操作指令 算術(shù)移位、邏輯移位和循環(huán)移位如下圖所示。算術(shù)移位、邏輯移位和循環(huán)移位如下圖所示。40控制程序執(zhí)行的順序和選擇執(zhí)行的方向??刂瞥绦驁?zhí)行的順序和選擇執(zhí)行的方向。(1 1)轉(zhuǎn)移指令)轉(zhuǎn)移指令6. 6. 程序控制類指令程序控制類指令(2 2)子程序調(diào)用指令與返回指令)子程序調(diào)用指令與返回指令子程

36、序調(diào)用指令:將子程序調(diào)用指令:將返回地址壓入堆棧,返回地址壓入堆棧, 再轉(zhuǎn)到子程序入口地址再轉(zhuǎn)到子程序入口地址無條件轉(zhuǎn)移無條件轉(zhuǎn)移條件轉(zhuǎn)移條件轉(zhuǎn)移循環(huán)循環(huán)返回指令:返回指令:將堆棧中的返回地址彈出,以返回調(diào)用程序?qū)⒍褩V械姆祷氐刂窂棾?,以返回調(diào)用程序41(3 3)軟中斷指令)軟中斷指令主要用于主要用于程序的調(diào)試和程序的調(diào)試和系統(tǒng)功能調(diào)用系統(tǒng)功能調(diào)用。如如80X8680X86的中斷指令的中斷指令 INT nINT n 。7. 7. 串操作指令:串操作指令:串傳送、串比較、串查找等操作串傳送、串比較、串查找等操作 主要用于字符信息的處理主要用于字符信息的處理8. 8. 數(shù)據(jù)轉(zhuǎn)換指令:數(shù)據(jù)轉(zhuǎn)換指令:

37、數(shù)值轉(zhuǎn)換和數(shù)據(jù)類型轉(zhuǎn)換數(shù)值轉(zhuǎn)換和數(shù)據(jù)類型轉(zhuǎn)換429. 9. 堆棧操作指令堆棧操作指令對(duì)堆棧的主要操作是壓入堆棧和彈出堆棧。對(duì)堆棧的主要操作是壓入堆棧和彈出堆棧。10. 10. 特權(quán)指令特權(quán)指令提供給系統(tǒng)軟件使用,一般不直接給普通用戶提供給系統(tǒng)軟件使用,一般不直接給普通用戶使用。使用。主要用于系統(tǒng)資源的分配和管理。如檢測用戶主要用于系統(tǒng)資源的分配和管理。如檢測用戶的訪問權(quán)限、修改虛擬存儲(chǔ)器管理的段表等。的訪問權(quán)限、修改虛擬存儲(chǔ)器管理的段表等。432.3.4 Pentium II2.3.4 Pentium II指令格式指令格式Pentium II指令格式中,操作碼字段(指令格式中,操作碼字段(OP

38、CODE)是必)是必須的,其他字段則是可選的。其指令格式如下:須的,其他字段則是可選的。其指令格式如下:441 1、指令前綴部分、指令前綴部分指令前綴有指令前綴有4 4種:種: 第第1 1種包括種包括4 4條前綴指令:條前綴指令:LOCKLOCK、REPREP、REPEREPE、REPNEREPNE。 第第2 2種段指定,顯式地指定該指令使用哪個(gè)寄存器。種段指定,顯式地指定該指令使用哪個(gè)寄存器。 第第3 3種操作數(shù)長度指定,用于寄存器數(shù)據(jù)寬度切換。種操作數(shù)長度指定,用于寄存器數(shù)據(jù)寬度切換。 第第4 4種地址長度指定,用于存儲(chǔ)器地址寬度切換。種地址長度指定,用于存儲(chǔ)器地址寬度切換。452 2、指

39、令部分、指令部分指令本身包括以下字段:指令本身包括以下字段:(1 1)OPCODEOPCODE:定義指令類型,寄存器數(shù)據(jù)寬度,及操作結(jié)果存:定義指令類型,寄存器數(shù)據(jù)寬度,及操作結(jié)果存入寄存器還是存儲(chǔ)器。入寄存器還是存儲(chǔ)器。(2 2)MOD/RMMOD/RM:分:分3 3個(gè)字段個(gè)字段MODMOD、REGREG、RMRM。REGREG(3 3位):定義一個(gè)寄存器尋址的操作數(shù)。位):定義一個(gè)寄存器尋址的操作數(shù)。MODMOD(2 2位)與位)與RMRM(3 3位):定義另一個(gè)操作數(shù)的尋址方式。包括位):定義另一個(gè)操作數(shù)的尋址方式。包括8 8個(gè)寄存器尋址和個(gè)寄存器尋址和2424種存儲(chǔ)器尋址。種存儲(chǔ)器尋址。46(3 3)SIBSIB當(dāng)當(dāng)MOD/RM=00/100MOD/RM=00/100時(shí),使用時(shí),使用SIBSIB以說明比例變址尋址方式。以說明比例變址尋址方式。(4 4)DISPDISP如果如果MOD/R

溫馨提示

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

評(píng)論

0/150

提交評(píng)論