匯編語言第2章_第1頁
匯編語言第2章_第2頁
匯編語言第2章_第3頁
匯編語言第2章_第4頁
匯編語言第2章_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 1 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 2 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 32.12.1 數(shù)的表示及運(yùn)算 2.1.1 2.1.1 無符號數(shù)的表示及運(yùn)算無符號數(shù)的表示及運(yùn)算1.1.無符號數(shù)的表示方法無符號數(shù)的表示方法 十進(jìn)制計(jì)數(shù)法的特點(diǎn)是: 逢十進(jìn)一; 使用10個數(shù)字符號(0,1,2,9)的不同組合來表示一個十進(jìn)制數(shù); 以后綴D或d表示十進(jìn)制數(shù)(Decimal),但該后綴可以省略。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方

2、法2021年年10月月26日日 4任何一個十進(jìn)制數(shù)可表示為: ) 1 . 1 . 2(101nmiiiDDN式中:m表示小數(shù)位的位數(shù),n表示整數(shù)位的位數(shù),Di為第i位上的數(shù)符(可以是09十個數(shù)字符號中的任一個)。 例例2.1 138.5(D)= 1012105108103101 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 5 二進(jìn)制計(jì)數(shù)法的特點(diǎn)是: 逢二進(jìn)一; 使用2個數(shù)字符號(0,1)的不同組合來表示一個二進(jìn)制數(shù); 以后綴B或b表示二進(jìn)制數(shù)(Binary)。 任何一個二進(jìn)制數(shù)可表示為: )2 . 1 . 2(21nmiiiBBN式中:m為小數(shù)位的位數(shù),n為整

3、數(shù)位的位數(shù),Bi為第i位上的數(shù)符(0或1)。 例例2.2 1101.11B= )(75.13212121202121210123D 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 6(3 3)十六進(jìn)制數(shù)的表示法)十六進(jìn)制數(shù)的表示法 十六進(jìn)制計(jì)數(shù)法的特點(diǎn)是: 逢十六進(jìn)一; 使用16個數(shù)字符號(0,1,2,3,9,A,B,C,D,E,F)的不同組合來表示一個十六進(jìn)制數(shù),其中AF 依次表示1015; 以后綴H或h表示十六進(jìn)制數(shù)(Hexadecimal)。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 7任何一個十六進(jìn)制數(shù)可表示為: )3

4、. 1 . 2(161nmiiiHHN式中:m為小數(shù)位的位數(shù),n為整數(shù)位的位數(shù),Hi為第i位上的數(shù)符(可以是0,1,,9,A,B,C,D,E,F十六個數(shù)字符號中的任一個)。 例例2.3 0E5AD.BFH =21012316151611161316101651614 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 8一般來說,對于基數(shù)為X的任一數(shù)可用多項(xiàng)式表示為: )4 . 1 . 2(1nmiiiXXkN式中:X為基數(shù),表示X進(jìn)制;i為位序號;m為小數(shù)部分位數(shù);n為整數(shù)部分的位數(shù);ki為第i位上的數(shù)值,可以為0,1,2,X-1共X個數(shù)字符號中任一個;Xi為第i位

5、的權(quán)。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 92. 各種數(shù)制之間的轉(zhuǎn)換(1)任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù) 二進(jìn)制、十六進(jìn)制以至任意進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的方法很簡單,只要按式2.1.2,2.1.3和2.1.4各位按權(quán)展開(即該位的數(shù)值乘于該位的權(quán))求和即可。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 10 (下面通過一個簡單的例子對轉(zhuǎn)換方法進(jìn)行分析。例如, B2B3B0B2B1B0B3B1)5 . 1 . 2(212021211011130123BD 可見,要確定13D對應(yīng)的二進(jìn)制數(shù),只需從右到左分別確定 B0,B1,B2

6、,B3即可。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 11 式(2.1.5)右側(cè)除以2: 商為 ,余數(shù)為1,此余數(shù)即為B0; 商再除以2: 商為 ,余數(shù)為0,此余數(shù)即為B1; 商再除以2: 商為 ,余數(shù)為1,次余數(shù)即為B2; 商再除以2: 商為0(商為0時停止),余數(shù)為1,此余數(shù)即為 B3。 012202121012121021 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 12 由以上過程可以得出十進(jìn)制整數(shù)部分轉(zhuǎn)換為二進(jìn)制數(shù)的方法: 顯然,該方法也適用于將十進(jìn)制整數(shù)轉(zhuǎn)換為八進(jìn)制整數(shù)(基數(shù)為8)、十六進(jìn)制整數(shù)(基數(shù)為16)以

7、至其它任何進(jìn)制整數(shù)。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 132) 小數(shù)部分的轉(zhuǎn)換小數(shù)部分的轉(zhuǎn)換同樣用一個簡單例子說明十進(jìn)制小數(shù)部分的轉(zhuǎn)換方法。例如, B-1B-2B-1B-221212111 .075.0BD要將一個十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù),實(shí)際上就是求B-1,B-2,給式(2.1.6)右側(cè)乘以基數(shù)2得: (2.1.6)1211整數(shù)部分為B-1小數(shù)部分 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 14 整數(shù)部分為1,此即為B-1。小數(shù)部分為12-1。 小數(shù)部分再乘以基數(shù)2得:整數(shù)部分為1,此即為B-2。 此時小數(shù)部

8、分已為0,停止往下計(jì)算(若不為0,繼續(xù)求B-3,B-4,直到小數(shù)部分為0或小數(shù)部分的位數(shù)滿足一定精度時為止) 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 15 由以上分析可得到十進(jìn)制小數(shù)部分轉(zhuǎn)換為二進(jìn)制小數(shù)的方法: 顯然,該方法也適用于將十進(jìn)制小數(shù)轉(zhuǎn)換為八進(jìn)制小數(shù)(基數(shù)為8)、十六進(jìn)制小數(shù)(基數(shù)為16)以至其它任何進(jìn)制小數(shù)。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 16 因?yàn)?4=16,即可用四位二進(jìn)制數(shù)表示一位十六進(jìn)制數(shù),所以可得到如下所述的二進(jìn)制數(shù)與十六進(jìn)制數(shù)之間的轉(zhuǎn)換方法。 以小數(shù)點(diǎn)為界,向左(整數(shù)部分)每四位為一組

9、,高位不足4位時補(bǔ)0;向右(小數(shù)部分)每四位為一組,低位不足4位時補(bǔ)0。然后分別用一個16進(jìn)制數(shù)表示每一組中的4位二進(jìn)制數(shù)。 直接將每一位十六進(jìn)制數(shù)寫成其對應(yīng)的四位二進(jìn)制數(shù)。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 17 加: 0+0=0 0+1=1 1+0=1 1+1=0(進(jìn)1)減: 0-0=0 1-1=0 1-0=1 0-1=1(借位)乘: 00=0 01=0 10=0 11=1除: 二進(jìn)制除法是乘法的逆運(yùn)算。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 18 “與“運(yùn)算(AND). “與”運(yùn)算又稱邏輯乘,可用符號“”

10、或“”表示。運(yùn)算規(guī)則如下:00=0 01=0 10=0 11=1 可以看出,只有當(dāng)兩個變量均為“1”時,“與”的結(jié)果才為“1”。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 19 “或”運(yùn)算(OR) “或”運(yùn)算又稱邏輯加,可用符號“”或“+”表示。運(yùn)算規(guī)則如下:00=0 01=1 10=1 11=1 可以看出,兩個變量只要有一個為“1”,“或”的結(jié)果就為“1”。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 20 “非”運(yùn)算(NOT) 變量的“非”運(yùn)算結(jié)果用表示。邏輯“非”運(yùn)算規(guī)則如下: “異或”運(yùn)算(XOR) “異或”運(yùn)算可用

11、符號“”表示。運(yùn)算規(guī)則如下: 可以看出,兩變量只要不同,“異或”運(yùn)算的結(jié)果就為“1”。 10 01 011101110000 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 212.1.2 帶符號數(shù)的表示及運(yùn)算帶符號數(shù)的表示及運(yùn)算 日常生活中遇到的數(shù),除了上述無符號數(shù)外,還有帶符號數(shù)。對于帶符號的二進(jìn)制數(shù),通常用二進(jìn)制數(shù)的最高位表示數(shù)的符號。 把一個數(shù)及其符號位在機(jī)器中的一組二進(jìn)制數(shù)表示形式,稱為“機(jī)器數(shù)”。機(jī)器數(shù)所表示的值稱為該機(jī)器數(shù)的“真值”。 機(jī)器數(shù)可以用不同方法表示,常用的有原碼、反碼和補(bǔ)碼表示法。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021

12、年年10月月26日日 22設(shè)數(shù)x的原碼記作x原,如機(jī)器字長為n,則原碼定義如下: 0) 12(|2120111xxxxxnnn原 在原碼表示法中,最高位為符號位(正數(shù)為0,負(fù)數(shù)為1),其余數(shù)字位表示數(shù)的絕對值。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 23 例如,當(dāng)機(jī)器字長n=8時, +0原=00000000B -0原=27+0(按定義計(jì)算,下同)=10000000B +8原=00001000B-8原=27+8=10001000B +127原=01111111B-127原=27+127=11111111B 當(dāng)機(jī)器字長n=16時, +0原=000000000

13、0000000B-0原=215+0=1000000000000000B +8原=0000000000001000B-8原=215+8=1000000000001000B +32767原=0111111111111111B-32767原=215+32767=1111111111111111B 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 24 可以看出,8位二進(jìn)制原碼原碼表示數(shù)的范圍為,16位二進(jìn)制原碼表示數(shù)的范圍為;“0”的原碼有兩種表示法:00000000表示+0,10000000表示-0。 原碼表示法簡單直觀,且與真值的轉(zhuǎn)換很方便,但不便于在計(jì)算機(jī)中進(jìn)行加減

14、運(yùn)算。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 25(2) 反碼設(shè)數(shù)x的反碼記作x反,如機(jī)器字長為n,則反碼定義如下: 0) 12(|) 12(12011xxxxxnnn反 正數(shù)的反碼與其原碼相同。例如,當(dāng)機(jī)器字長n=8時: +0反=+0原=00000000B +127反=+127原=01111111B當(dāng)機(jī)器字長n=16時: +8反=+8原=0000000000001000B +127反=+127原=0000000001111111B 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 26 負(fù)數(shù)的反碼是在原碼基礎(chǔ)上,符號位不變(

15、仍為1),數(shù)值位按位取反。例如,當(dāng)機(jī)器字長n=8時: -0反=(28-1)-0=11111111B -127反=(28-1)-127=10000000B 反碼表示數(shù)的范圍是:8位二進(jìn)制反碼位二進(jìn)制反碼表示數(shù)的范圍為,16位二進(jìn)制反碼位二進(jìn)制反碼表示數(shù)的范圍為;“0”的反碼有兩種表示法:00000000表示+0,11111111表示-0。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 27(3) 補(bǔ)碼設(shè)數(shù)x的補(bǔ)碼記作x補(bǔ),如機(jī)器字長為n,則補(bǔ)碼定義如下: 02|212011xxxxxnnn補(bǔ)正數(shù)的補(bǔ)碼與其原碼、反碼相同。例如,當(dāng)機(jī)器字長n=8時:+8補(bǔ)=+8反=+

16、8原=00001000B+127補(bǔ)=+127反=+127原=01111111B當(dāng)機(jī)器字長n=16時:+8補(bǔ)=+8反=+8原=0000000000001000B+127補(bǔ)=+127反=+127原=0000000001111111B 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 28 負(fù)數(shù)的補(bǔ)碼是在原碼基礎(chǔ)上,符號位不變(仍為1),數(shù)值位按位取反,末位加1;或在反碼基礎(chǔ)上末位加1。例如,當(dāng)機(jī)器字長n=8時:-8原=10001000B-127原=11111111B-8反=11110111B-127反=10000000B-8補(bǔ)=28-8=11111000B-127補(bǔ)=2

17、8-127=10000001B可以看出,8位二進(jìn)制補(bǔ)碼位二進(jìn)制補(bǔ)碼表示數(shù)的范圍為,16位二進(jìn)制補(bǔ)碼表示數(shù)的范圍為。8位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼如表2.1所示。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 29表表2.1 8位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼表位二進(jìn)制數(shù)的原碼、反碼和補(bǔ)碼表 二進(jìn)制數(shù) 無符號十進(jìn)制數(shù)帶 符 號 數(shù)原碼反碼補(bǔ)碼0000 00000000 00010000 0010 0111 11100111 11111000 00001000 0001 1111 11011111 11101111 1111012 126127128129 253254

18、255+0+1+2 +126+127-0-1 -125-126-127+0+1+2 +126+127-127-126 -2-1-0+0+1+2 +126+127-128-127 -3-2-1 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 302 2 真值與補(bǔ)碼之間的轉(zhuǎn)換真值與補(bǔ)碼之間的轉(zhuǎn)換 (1)真值轉(zhuǎn)換為補(bǔ)碼根據(jù)補(bǔ)碼定義便可完成真值到補(bǔ)碼的轉(zhuǎn)換(2) 補(bǔ)碼轉(zhuǎn)換為真值同理,要求補(bǔ)碼的真值,也要先求出補(bǔ)碼對應(yīng)的原碼。正數(shù)的原碼與補(bǔ)碼相同。負(fù)數(shù)的原碼可在補(bǔ)碼基礎(chǔ)上再次求補(bǔ),即:補(bǔ)補(bǔ)原xx 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日

19、31 補(bǔ)碼加法的運(yùn)算規(guī)則為: 即:兩數(shù)補(bǔ)碼的和等于兩數(shù)和的補(bǔ)碼。 補(bǔ)補(bǔ)補(bǔ)yxyx 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 32已知 +51補(bǔ)=0011 0011B,+66補(bǔ)=0100 0010B, -51補(bǔ)=1100 1101B, -66補(bǔ)=1011 1110B 求求 +66補(bǔ)+51補(bǔ)=?+66補(bǔ)+-51補(bǔ)=?-66補(bǔ)+-51補(bǔ)=? 解: 二進(jìn)制(補(bǔ)碼)加法 十進(jìn)制加法 0100 0010 + 66補(bǔ) + 66+) 0011 0011 + 51補(bǔ) +) + 51 0111 0101 +117補(bǔ) +117 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法20

20、21年年10月月26日日 33 二進(jìn)制(補(bǔ)碼)加法 十進(jìn)制加法 0100 0010 + 66補(bǔ) +66+) 1100 1101 -51補(bǔ) +) -51 0000 1111 +15補(bǔ) +151自動丟失由于+66補(bǔ)+51補(bǔ)=(+66)+(+55)補(bǔ)=01110101B結(jié)果為正,因此(+66)+(+55)原=(+66)+(+55)補(bǔ)=01110101B其真值為+117,計(jì)算結(jié)果正確。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 34 二進(jìn)制(補(bǔ)碼)加法 十進(jìn)制加法 1011 1110 - 66補(bǔ) -66+) 1100 1101 -51補(bǔ) +) -51 1000 10

21、11 -117補(bǔ) -1171自動丟失由于+66補(bǔ)+51補(bǔ)=(+66)+(55)補(bǔ)=0000111B結(jié)果為正,因此(+66)+(55)原=(+66)+(55)補(bǔ)=00001111其真值為+15,計(jì)算結(jié)果正確。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 35由于-66補(bǔ)+-51補(bǔ)=10001011B=(-66)+(-55)補(bǔ) 結(jié)果為負(fù),因此 (-66)+(-55)原=(-66)+(-55)補(bǔ)補(bǔ)=11110101B其真值為-117,計(jì)算結(jié)果正確。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 36補(bǔ)碼減法的運(yùn)算規(guī)則為: 補(bǔ)補(bǔ)補(bǔ)補(bǔ)補(bǔ)y

22、xyxyx(2.2.6) 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 37已知+51補(bǔ)=0011 0011B,+66補(bǔ)=0100 0010B51補(bǔ)=1100 1101B,66補(bǔ)=1011 1110B求 +66補(bǔ)+51補(bǔ)=? -66補(bǔ)- -51補(bǔ)=? 解 +66補(bǔ)- +51補(bǔ)=+66補(bǔ)+-51補(bǔ) -66補(bǔ)- -51補(bǔ)=-66補(bǔ)+51補(bǔ) 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 38 二進(jìn)制(補(bǔ)碼)加法 十進(jìn)制加法 1011 1110 - 66補(bǔ) -66+) 0011 0011 +51補(bǔ) -) -51 1111 0001 -15

23、補(bǔ) -15 二進(jìn)制(補(bǔ)碼)加法 十進(jìn)制加法 0100 0010 + 66補(bǔ) +66+) 1100 1101 -51補(bǔ) -) +51 0000 1111 +15補(bǔ) +151自動丟失 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 39 當(dāng)運(yùn)算結(jié)果超出了機(jī)器所能表示的范圍時便發(fā)生了溢出。字長為n的無符號數(shù)所能表示的范圍為02n1,字長為n的帶符號數(shù)所能表示的補(bǔ)碼范圍為2 n1+2n11。 無符號數(shù)進(jìn)行運(yùn)算時,若運(yùn)算結(jié)果的最高位有進(jìn)位,說明發(fā)生了溢出。因此,無符號數(shù)運(yùn)算的溢出判斷依據(jù)為最高位是否產(chǎn)生了進(jìn)位,即CF標(biāo)志位的值為1,則發(fā)生溢出。 帶符號數(shù)的補(bǔ)碼運(yùn)算時,若運(yùn)算

24、結(jié)果超出了補(bǔ)碼所能表示的范圍,就會發(fā)生溢出。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 40 判斷補(bǔ)碼運(yùn)算溢出的方法很多,常見的有: 觀察法通過參加運(yùn)算的兩個操作數(shù)的符號及運(yùn)算結(jié)果的符號進(jìn)行判斷; 單符號位法通過符號位和數(shù)值部分最高位的進(jìn)位狀態(tài)來判斷; 雙符號位法(又稱為變形補(bǔ)碼法)通過運(yùn)算結(jié)果的兩個符號位的狀態(tài)來判斷。 上述3種方法中,第種僅適用于手工運(yùn)算時對結(jié)果是否溢出進(jìn)行判斷,另外兩種方法在計(jì)算機(jī)中都有使用,本書只介紹第種方法。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 41 若符號位進(jìn)位狀態(tài)用CF來表示,當(dāng)符號位向

25、前有進(jìn)位時,CF=1,否則,CF=0;數(shù)值部分最高位的進(jìn)位狀態(tài)用DF來表示,當(dāng)該位向前有進(jìn)位時,DF=1,否則,DF=0。單符號位法就是通過該兩位進(jìn)位狀態(tài)的異或結(jié)果來判斷是否溢出的。 (2.2.7) 若OF=1,說明結(jié)果溢出;若OF=0,則結(jié)果未溢出。也就是說,當(dāng)符號位和數(shù)值部分最高位同時有進(jìn)位或同時沒有進(jìn)位時,結(jié)果沒有溢出,否則,結(jié)果溢出。 DFCFOF 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 42 例2-3 設(shè)有兩個操作數(shù)x=01000100B,y=01001000B,將這兩個操作數(shù)送運(yùn)算器做加法運(yùn)算,試問: 若為無符號數(shù),計(jì)算結(jié)果是否正確? 若為帶符

26、號補(bǔ)碼數(shù),計(jì)算結(jié)果是否溢出? 解解 無符號數(shù) 帶符號數(shù) 01000100 68 +68補(bǔ)+)01001000 +)72 +) +72補(bǔ) 10001100 140 +140補(bǔ)DF=1CF=0 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 43 若為無符號數(shù),由于CF=0,說明結(jié)果未超出8位無符號數(shù)所能表達(dá)的數(shù)值范圍(0255),計(jì)算結(jié)果10001100B為無符號數(shù),其真值為140,計(jì)算結(jié)果正確。 若為帶符號數(shù)補(bǔ)碼,由于OF=1,結(jié)果溢出;這里也可通過參加運(yùn)算的兩個數(shù)的符號及運(yùn)算結(jié)果的符號進(jìn)行判斷,由于兩操作數(shù)均為正數(shù),而結(jié)果卻為負(fù)數(shù),因而結(jié)果溢出;+68和+72兩

27、數(shù)補(bǔ)碼之和應(yīng)為+140的補(bǔ)碼,而8位帶符號數(shù)補(bǔ)碼所能表達(dá)的數(shù)值范圍為128+127,結(jié)果超出該范圍,因此結(jié)果是錯誤的。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 44 例2-4 設(shè)有兩個操作數(shù)x=11101110B,y=11001000B,將這兩個操作數(shù)送運(yùn)算器做加法運(yùn)算,試問: 若為無符號數(shù),計(jì)算結(jié)果是否正確? 若為帶符號補(bǔ)碼數(shù),計(jì)算結(jié)果是否溢出? 解解 無符號數(shù) 帶符號數(shù) 11101110 68 +68補(bǔ)+)11001000 +)72 +) +72補(bǔ) 10110110 140 +140補(bǔ)DF=1CF=11自動丟失 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的

28、表示方法2021年年10月月26日日 45 若為無符號數(shù),由于CF=1,說明結(jié)果超出8位無符號數(shù)所能表達(dá)的數(shù)值范圍(0255)。兩操作數(shù)11101110B和11001000B對應(yīng)的無符號數(shù)分別為238和200,兩數(shù)之和應(yīng)為438255,因此,計(jì)算結(jié)果是錯誤的。 若為帶符號數(shù)補(bǔ)碼,由于OF=0,結(jié)果未溢出。兩操作數(shù)11101110B和11001000B分別為18和56的補(bǔ)碼,其結(jié)果應(yīng)為74的補(bǔ)碼形式,而計(jì)算結(jié)果10110110B正是74的補(bǔ)碼,因此結(jié)果正確。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 462.1.3 定點(diǎn)數(shù)和浮點(diǎn)數(shù)定點(diǎn)數(shù)和浮點(diǎn)數(shù) 所謂定點(diǎn)數(shù),是

29、指小數(shù)點(diǎn)在數(shù)中的位置是固定的。原理上講,小數(shù)點(diǎn)的位置固定在哪一位都是可以的,但通常將數(shù)據(jù)表示成純小數(shù)或純整數(shù)形式,如圖2.1所示。符號位數(shù)值位小數(shù)點(diǎn)(a)符號位數(shù)值位小數(shù)點(diǎn)(b)圖2.1 定點(diǎn)數(shù)的兩種表示方法(a) 純小數(shù)形式;(b) 純整數(shù)形式 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 47 設(shè)用一個n+1位字來表示一個數(shù)N,其中一位表示符號位(0表示正,1表示負(fù)),其他n位為數(shù)值位。對于純小數(shù)表示法,所能表示的數(shù)x (原碼表示,下同)的范圍為:-(1-2-n)N1-2-n 它能表示的數(shù)的最大絕對值為1-2-n,最小絕對值為2-n。 對于純整數(shù)表示法,所能

30、表示的數(shù)x的范圍為:-(2-n-1)N2-n -1它能表示的數(shù)的最大絕對值為2n-1,最小絕對值為1。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 482 浮點(diǎn)數(shù)浮點(diǎn)數(shù) 所謂浮點(diǎn)表示法,就是小數(shù)點(diǎn)在數(shù)中的位置是浮動的。 任意一個二進(jìn)制數(shù)N總可以寫成如下形式: 其中,d稱為尾數(shù),是二進(jìn)制純小數(shù),指明數(shù)的全部有效數(shù)字,前面的符號稱為數(shù)符,表示數(shù)的符號,該位為0,表明該浮點(diǎn)數(shù)為正,該位為1,表明該浮點(diǎn)數(shù)為負(fù);p稱為階碼,它前面的符號稱為階符,階碼為正時,用0表示,階碼為負(fù)時,用1表示。 階符階碼(p)數(shù)符尾數(shù)(d)1 位m位1位n位2pNd 微機(jī)原理與匯編語言 第四

31、章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 49 可以看出,將尾數(shù)d的小數(shù)點(diǎn)向右(階碼p為正時)或向左(階碼p為負(fù)時)移動p位,即可得到該浮點(diǎn)數(shù)表示的數(shù)值x。階碼p指明小數(shù)點(diǎn)的位置,小數(shù)點(diǎn)隨著階碼的大小和正負(fù)而浮動,因此把這種數(shù)稱為浮點(diǎn)數(shù)。 設(shè)階碼的位數(shù)為m位,尾數(shù)的位數(shù)為n位,則該浮點(diǎn)數(shù)表示的數(shù)值范圍為:(2.4.4) 在字長相同的情況下,浮點(diǎn)數(shù)能表示的數(shù)值范圍比定點(diǎn)數(shù)大得多,且精度高,但浮點(diǎn)運(yùn)算規(guī)則復(fù)雜。)12()12(2)21 (|22mmnnx 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 50 一位十進(jìn)制數(shù)在計(jì)算機(jī)中需用4位二進(jìn)制編碼表示。這

32、種編碼有多種形式,其中8421BCD(Binary-Coded Decimal)碼比較常用。4位二進(jìn)制有16種組合狀態(tài),當(dāng)用來表示十進(jìn)制數(shù)時,舍去高6種組合狀態(tài)。BCD碼有兩種形式,即壓縮BCD碼和非壓縮BCD碼。 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 51 壓縮BCD碼的每一位用4位二進(jìn)制表示,一個字節(jié)表示2位十進(jìn)制數(shù)。例如,10010110B表示十進(jìn)制數(shù)96。 非壓縮BCD碼用1個字節(jié)表示1位十進(jìn)制數(shù),只用低4位的00001001表示09,高4位為0。例如,00001000B表示十進(jìn)制數(shù)8。非壓縮BCD碼也可以是09的ASCII碼。 微機(jī)原理與匯編語

33、言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 52表表2.2 8421 BCD 碼部分編碼表碼部分編碼表 十進(jìn)制數(shù)壓縮型BCD碼非壓縮型BCD碼12391011192021000000010000001000000011000010010001000000010001000110010010000000100001000000010000001000000011 0000100100000001 0000000000000001 00000001 00000001 0000100100000010 0000000000000010 00000001 微機(jī)原理與匯編語言 第四章計(jì)算機(jī)中信息的表示方法2021年年10月月26日日 53 目前國際上使用的字符編碼系統(tǒng)有許多種,在微型計(jì)算機(jī)中普遍采用的是美國標(biāo)準(zhǔn)信息交換代碼,即ASCII碼(American Standard Code for Information-Interchange)。A

溫馨提示

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

評論

0/150

提交評論