微型計(jì)算機(jī)的運(yùn)算基礎(chǔ)件_第1頁(yè)
微型計(jì)算機(jī)的運(yùn)算基礎(chǔ)件_第2頁(yè)
微型計(jì)算機(jī)的運(yùn)算基礎(chǔ)件_第3頁(yè)
微型計(jì)算機(jī)的運(yùn)算基礎(chǔ)件_第4頁(yè)
微型計(jì)算機(jī)的運(yùn)算基礎(chǔ)件_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

微型計(jì)算機(jī)的運(yùn)算基礎(chǔ)件第一頁(yè),共五十二頁(yè),2022年,8月28日教材清華大學(xué)出版社胡漢才主編《單片機(jī)原理及其接口技術(shù)》預(yù)先應(yīng)學(xué)習(xí):數(shù)字電路、計(jì)算機(jī)基礎(chǔ)教學(xué)目標(biāo)學(xué)習(xí)和掌握MCS-51單片機(jī)結(jié)構(gòu)、工作原理、指令系統(tǒng)和程序設(shè)計(jì)方法、簡(jiǎn)單應(yīng)用系統(tǒng)設(shè)計(jì)第二頁(yè),共五十二頁(yè),2022年,8月28日學(xué)時(shí)分配

共56學(xué)時(shí),其中實(shí)驗(yàn)16學(xué)時(shí)平時(shí)成績(jī):1.上課、考勤2.作業(yè)3.實(shí)驗(yàn)第三頁(yè),共五十二頁(yè),2022年,8月28日

重點(diǎn):難點(diǎn):機(jī)器數(shù)與真值補(bǔ)碼減法運(yùn)算的原理BCD碼、ASCII碼補(bǔ)碼、定點(diǎn)補(bǔ)碼運(yùn)算及判溢出算術(shù)運(yùn)算與邏輯運(yùn)算BCD碼運(yùn)算及調(diào)整微型計(jì)算機(jī)的運(yùn)算基礎(chǔ)

第四頁(yè),共五十二頁(yè),2022年,8月28日重點(diǎn)解決:計(jì)算機(jī)的重要職能之一處理數(shù)計(jì)算機(jī)中如何表示一個(gè)數(shù)?不同性質(zhì)數(shù)的運(yùn)算規(guī)則和算法。一計(jì)算機(jī)中數(shù)的表示方法二計(jì)算機(jī)中的編碼

三計(jì)算機(jī)中的運(yùn)算第五頁(yè),共五十二頁(yè),2022年,8月28日

幾個(gè)重要概念

不同進(jìn)制數(shù)之間的互換3.機(jī)器數(shù)與真值4.帶符號(hào)數(shù)的原碼、反碼、補(bǔ)碼5.?dāng)?shù)的定點(diǎn)與浮點(diǎn)表示

計(jì)算機(jī)中數(shù)的表示方法第六頁(yè),共五十二頁(yè),2022年,8月28日幾個(gè)重要概念

重點(diǎn)概念1:計(jì)算機(jī)中的數(shù)據(jù)都是以二進(jìn)制形式進(jìn)行存儲(chǔ)和運(yùn)算重點(diǎn)概念2:在計(jì)算機(jī)中存儲(chǔ)數(shù)據(jù)時(shí),每類(lèi)數(shù)據(jù)占據(jù)固定長(zhǎng)度的二進(jìn)制數(shù)位,而不管其實(shí)際長(zhǎng)度。一般長(zhǎng)度為字節(jié)的整倍數(shù)

重點(diǎn)概念3:計(jì)算機(jī)中不僅要處理無(wú)符號(hào)數(shù),還要處理帶符號(hào)和帶小數(shù)點(diǎn)的數(shù)。例如:在八位單片機(jī)中,整數(shù)216存儲(chǔ)為11011000B

整數(shù)56存儲(chǔ)為00111000B

重點(diǎn)概念4:機(jī)器數(shù)與真值

第七頁(yè),共五十二頁(yè),2022年,8月28日不同進(jìn)制數(shù)之間的互換(P1)1、不同進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)——按權(quán)展開(kāi)法表示不同進(jìn)制數(shù)的尾部字母:二B,十六H,八Q,十D(可省略)例:10101010B=1×27+0×26+1×25+0×24+1×23+0×22+1×21+0×20=128+32+8+2=1702、十二(1)整數(shù)部分——除以2取余法——直到商<2止(2)小數(shù)部分——乘以2取整法——直到積為0止或達(dá)到精度要求止十十六(1)整數(shù)部分——除以16取余法——直到商<16止(2)小數(shù)部分——乘以16取整法——直到積為0止或達(dá)到精度要求止

第八頁(yè),共五十二頁(yè),2022年,8月28日

3、二進(jìn)制數(shù)、八進(jìn)制與十六進(jìn)制數(shù)之間的互換

1)二八三合一

2)八二一分三

3)二十六四合一(重點(diǎn))

4)十六二一分四(重點(diǎn))例:01110110B=76H9BH=10011011B

7610011011

例:0.1010110B=0.ACHAC不足四位補(bǔ)0

第九頁(yè),共五十二頁(yè),2022年,8月28日機(jī)器數(shù)與真值(P13)1)機(jī)器數(shù):能被計(jì)算機(jī)識(shí)別的數(shù)稱(chēng)為機(jī)器數(shù)。2)真值:機(jī)器數(shù)所代表的真實(shí)值稱(chēng)為機(jī)器數(shù)的真值。3)對(duì)于無(wú)符號(hào)數(shù)其機(jī)器數(shù)與真值表示方法相同。例:真值:100=64H=01100100B

對(duì)應(yīng)的機(jī)器數(shù):64H=01100100Bn位二進(jìn)制數(shù)可表示的數(shù)的范圍是:0~2n-18位二進(jìn)制數(shù)可表示的數(shù)的范圍是:

0~28-1,[0,F(xiàn)FH],[0,255]16位二進(jìn)制數(shù)可表示的數(shù)的范圍是:

0~216-1,[0,FFFFH],[0,65535]

例:01100100B其8位全部為數(shù)值位。特點(diǎn):無(wú)符號(hào)數(shù)的機(jī)器數(shù)與其真值為等值關(guān)系第十頁(yè),共五十二頁(yè),2022年,8月28日4)帶符號(hào)數(shù)的機(jī)器數(shù)的表示方法(重點(diǎn)和難點(diǎn))

常見(jiàn)的有原碼、反碼和補(bǔ)碼三種表示方式。

特點(diǎn):帶符號(hào)數(shù)的機(jī)器數(shù)與其真值表示方法不同,兩者的關(guān)系不是等值關(guān)系,僅是一一對(duì)應(yīng)關(guān)系。例如:在八位微機(jī)中,真值:+65可表示成機(jī)器數(shù)(原碼)為01000001B真值:-65可表示成機(jī)器數(shù)(原碼)為11000001B01100000符號(hào)位數(shù)值位符號(hào)位:“0”

表示正號(hào)“1”

表示負(fù)號(hào)第十一頁(yè),共五十二頁(yè),2022年,8月28日

帶符號(hào)數(shù)的原碼、反碼、補(bǔ)碼(P13)(1)原碼定義:在表示帶符號(hào)數(shù)時(shí),正數(shù)的符號(hào)位為“0”,負(fù)數(shù)的符號(hào)位為“1”,數(shù)值位表示數(shù)的絕對(duì)值,這樣就得到了數(shù)的原碼。例如在八位微機(jī)中:[+38]原=[+100110]原=00100110B[-38]原=[-100110]原=10100110B第十二頁(yè),共五十二頁(yè),2022年,8月28日

計(jì)算公式:對(duì)于字長(zhǎng)為n位的機(jī)器數(shù):當(dāng)真值X≥0時(shí),X可表示為+Xn-2Xn-3…X0;當(dāng)真值X<0時(shí),X可表示為-Xn-2Xn-3…X0,則X的原碼可定義為:

[X]原=0Xn-2Xn-3…X0=X 0≤X≤2n-1―11Xn-2Xn-3…X0=2n-1-X=2n-1+|X| -(2n-1―1)≤X≤0

可見(jiàn)n位原碼可表示數(shù)的范圍為:-(2n-1―1)~+(2n-1―1)

則在八位微機(jī)中,碼可表示數(shù)的范圍為-127至+127求真值:帶符號(hào)數(shù)的原碼表示法簡(jiǎn)單易懂,而且與真值轉(zhuǎn)換方便。此公式第一項(xiàng)即是原碼,等號(hào)后面是由真值求原碼(負(fù))第十三頁(yè),共五十二頁(yè),2022年,8月28日原碼的缺點(diǎn):

l

“0”的原碼有兩種形式,這在運(yùn)算中不便。

[+0]原=00000000B[-0]原=

10000000B,即分為+0和-0l

原碼在進(jìn)行兩個(gè)異符號(hào)數(shù)相加或兩個(gè)同符號(hào)數(shù)相減時(shí),需做減法運(yùn)算,由于微機(jī)中一般只有加法器而無(wú)減法器,所以,為把減法運(yùn)算轉(zhuǎn)變?yōu)榧臃ㄟ\(yùn)算則引入反碼和補(bǔ)碼。原碼的用途:l

原碼做乘除法運(yùn)算方便,兩數(shù)的符號(hào)和數(shù)值分別處理積的符號(hào)為兩數(shù)符號(hào)位的異或運(yùn)算結(jié)果積的數(shù)值部分為兩數(shù)絕對(duì)值相乘的結(jié)果第十四頁(yè),共五十二頁(yè),2022年,8月28日(2)反碼定義:正數(shù)的反碼表示與原碼相同;負(fù)數(shù)的反碼,可將負(fù)數(shù)原碼的符號(hào)位保持不變、數(shù)值位按位取反得到,或者將負(fù)數(shù)看作正數(shù)求原碼,再將所有位按位取反得到。因此,在n位機(jī)器數(shù)的計(jì)算機(jī)中,數(shù)X的反碼定義為:[X]反=0Xn-2Xn-3…X0=X0≤X≤2n-1―11Xn-2Xn-3…X0=11…1B-|X|=2n-1-|X|

-(2n-1―1)≤X≤0缺點(diǎn):“0”的反碼也有兩種表示法,即+0和-0。

[+0]反=00000000B[-0]反=11111111Bn位反碼表示數(shù)的范圍與原碼相同,八位二進(jìn)制反碼表示的范圍仍是-127至+127。第十五頁(yè),共五十二頁(yè),2022年,8月28日例如八位微機(jī)中:[+11]原=00001011B[+11]反=00001011B[-11]原=10001011B[-11]反=11110100B[+127]原=01111111B[+127]反=01111111B[-127]原=11111111B[-127]反=10000000B[+0]原=00000000B[+0]反=00000000B[-0]原=10000000B[-0]反=11111111B求真值:由反碼求得原碼,再由原碼求得真值,即可得到反碼的真值。例如:反碼11110100B,符號(hào)位為1,將數(shù)值位按位取反,得到原碼10001011B,其真值為-0001011B即十進(jìn)制數(shù)-11。第十六頁(yè),共五十二頁(yè),2022年,8月28日(3)補(bǔ)碼(難點(diǎn))定義:正數(shù)的補(bǔ)碼表示與原碼相同負(fù)數(shù)的補(bǔ)碼等于它的反碼末位加1

即[X]補(bǔ)=[X]反+1例如:[+11]反=00001011B[+11]補(bǔ)=00001011B[-11]反=11110100B[-11]補(bǔ)=11110101B[+127]反=01111111B[+127]補(bǔ)=01111111B[-127]反=10000000B[-127]補(bǔ)=10000001B[+0]反=00000000B[0]補(bǔ)=00000000B[-0]反=11111111B[-128]補(bǔ)=10000000B第十七頁(yè),共五十二頁(yè),2022年,8月28日補(bǔ)碼的含義:

以時(shí)鐘對(duì)時(shí)為例來(lái)說(shuō)明,現(xiàn)由7點(diǎn)鐘調(diào)到4點(diǎn)鐘。

順時(shí)針調(diào):7+9=4(mod12)逆時(shí)針調(diào):7-3=4(mod12)

由于時(shí)鐘上超過(guò)12點(diǎn)時(shí)就會(huì)自動(dòng)丟失一個(gè)數(shù)12,這個(gè)自動(dòng)丟失的數(shù)叫做“?!保╩odule,簡(jiǎn)寫(xiě)為mod)第十八頁(yè),共五十二頁(yè),2022年,8月28日由補(bǔ)碼的定義得求補(bǔ)碼公式:l

則n位補(bǔ)碼表示數(shù)的范圍為:―2n―1~+(2n―1―1)l

八位二進(jìn)制補(bǔ)碼表示的數(shù)值范圍是-128至+127。優(yōu)點(diǎn):0的補(bǔ)碼為00000000B,只有這一種形式。[X]補(bǔ)=0Xn-2Xn-3…X0=X 0≤X≤2n-1―11Xn-2Xn-3…X0+1=2n-|X|=2n+X

-2n-1≤X<0(mod2n)

第十九頁(yè),共五十二頁(yè),2022年,8月28日已知補(bǔ)碼求真值:已知正數(shù)的補(bǔ)碼求真值與原碼相同,只要將符號(hào)位的0變?yōu)椋ㄕ?hào)),即得到它的真值。

已知負(fù)數(shù)的補(bǔ)碼求真值方法1:將負(fù)數(shù)補(bǔ)碼的數(shù)值位按位取反再加1,將符號(hào)位的1變?yōu)椋ㄘ?fù)號(hào)),即得到它的真值。方法2:用公式:X=-(2n-[X]補(bǔ))

已知補(bǔ)碼為01111111B,其真值為+1111111B=+7FH

已知補(bǔ)碼為11111111B,其真值為:10000000B+1=10000001B,其真值為-01H或:X=-(28-11111111B)=-(00H-FFH)=-1第二十頁(yè),共五十二頁(yè),2022年,8月28日小結(jié):已知帶符號(hào)數(shù)的機(jī)器數(shù)求真值1.已知正數(shù)的原碼、反碼、補(bǔ)碼求真值,

只需將符號(hào)位的“0”改為正號(hào)“+”即可。2.已知負(fù)數(shù)的原碼,其真值只需將原碼的符號(hào)位的“1”改為負(fù)號(hào)“-”即可。3.已知負(fù)數(shù)的反碼,先將它變?yōu)樵a,再求真值?;蛴霉接?jì)算:真值x=-(2n-1-[x]反)

4.已知負(fù)數(shù)的補(bǔ)碼,數(shù)值位取反加1,符號(hào)為改為-號(hào),或

用公式:X=-(2n-[X]補(bǔ))第二十一頁(yè),共五十二頁(yè),2022年,8月28日例:已知帶符號(hào)數(shù)的機(jī)器數(shù)為56H,求其真值。

01010110B真值=+56H例:已知帶符號(hào)數(shù)的機(jī)器數(shù)為0D6H,求其真值。

若0D6H是原碼,則真值為:-56H

11010110B-1010110B

若0D6H是反碼,則真值為:-29H

-0101001B

若0D6H是補(bǔ)碼,則真值為:-2AH

-0101010B第二十二頁(yè),共五十二頁(yè),2022年,8月28日

當(dāng)n=8時(shí),幾種碼的表示范圍原碼反碼補(bǔ)碼-127至+127-127至+127-128至+127

當(dāng)n=16時(shí),幾種碼的表示范圍原碼反碼補(bǔ)碼-32767至+32767-32767至+32767-32768至+32767第二十三頁(yè),共五十二頁(yè),2022年,8月28日數(shù)的定點(diǎn)與浮點(diǎn)表示(P7)

計(jì)算機(jī)中如何表示實(shí)數(shù)中的小數(shù)點(diǎn)呢?

計(jì)算機(jī)中用數(shù)的兩種不同表示法來(lái)表示小數(shù)點(diǎn)位置。

根據(jù)小數(shù)點(diǎn)的位置是否固定,分為定點(diǎn)和浮點(diǎn)表示,相應(yīng)的機(jī)器數(shù)稱(chēng)為定點(diǎn)數(shù)和浮點(diǎn)數(shù)。

任意一個(gè)二進(jìn)制數(shù)N均可表示為:

N=S·2J

其中:

S稱(chēng)為數(shù)N的尾數(shù),表示數(shù)N的全部有效數(shù)字,決定了N的精度。

J稱(chēng)為數(shù)N的階碼,底為2,指明了小數(shù)點(diǎn)的位置,決定了數(shù)N的大小范圍。第二十四頁(yè),共五十二頁(yè),2022年,8月28日sf

s1s2…sm小數(shù)點(diǎn)隱含位置,定點(diǎn)純小數(shù)sf

s1s2…sm小數(shù)點(diǎn)隱含位置,定點(diǎn)純整數(shù)(1)定點(diǎn)表示法計(jì)算機(jī)在處理定點(diǎn)數(shù)時(shí),常把小數(shù)點(diǎn)固定在數(shù)值位的最后面或最前面,即分為定點(diǎn)純小數(shù)與定點(diǎn)純整數(shù)兩類(lèi).例如:00011000B,如果看作定點(diǎn)純整數(shù),其真值為24

看作定點(diǎn)純小數(shù),其真值為0.1875第二十五頁(yè),共五十二頁(yè),2022年,8月28日

(2)浮點(diǎn)表示法

在浮點(diǎn)表示法中,小數(shù)點(diǎn)的位置是浮動(dòng)的,階碼J可取不同的數(shù)值,則在計(jì)算機(jī)中除了要表示尾碼S,還要表示階碼J。因此,一個(gè)浮點(diǎn)數(shù)表示為階碼和尾數(shù)兩部分,尾數(shù)一般是定點(diǎn)純小數(shù),階碼是定點(diǎn)純整數(shù),其形式如圖1-7所示。小數(shù)點(diǎn)隱含位置

階符階碼尾符尾數(shù)

階碼部分尾數(shù)部分jfj1j2……jnsfs1s2……sm第二十六頁(yè),共五十二頁(yè),2022年,8月28日00001001100010101010100000000000B階符階碼尾符 尾數(shù)

(24位)(-469.375)10=(-111010101.011)2

=(-2×2+9

=(-2×2+1001B[-補(bǔ)=1[+1001B]補(bǔ)=00001001B例如,某計(jì)算機(jī)用32位表示浮點(diǎn)數(shù),尾數(shù)部分占24,為補(bǔ)碼定點(diǎn)純小數(shù);階碼為8位補(bǔ)碼定點(diǎn)純整數(shù)。用來(lái)表示一個(gè)數(shù)-469.375,先進(jìn)行變換:

因此,數(shù)-469.375在該計(jì)算機(jī)中的浮點(diǎn)表示為:第二十七頁(yè),共五十二頁(yè),2022年,8月28日2計(jì)算機(jī)中的編碼(P19)ASCII碼:由七位二進(jìn)制編碼組成,共有128個(gè)字符編碼。包括圖形字符(字母、數(shù)字、其它可見(jiàn)字符共96個(gè))和控制字符(回車(chē)、空格等共32個(gè))其中:數(shù)字0~9的ASCII碼為30H~39H,差30H

字母A~F的ASCII碼為41H~46H,差37H

第二十八頁(yè),共五十二頁(yè),2022年,8月28日BCD編碼:具有十進(jìn)制位權(quán)的二進(jìn)制編碼。最常見(jiàn)的是8421碼。注意:

0000B~1001B是0~9的BCD碼

1010B~1111B是非BCD碼例:

15的BCD碼為00010101B=15H15=0FH100=64H100的BCD碼為000100000000B=100H

壓縮的BCD碼56H占一個(gè)存儲(chǔ)單元非壓縮BCD碼05H06H占兩個(gè)單元存儲(chǔ)方式第二十九頁(yè),共五十二頁(yè),2022年,8月28日邏輯運(yùn)算(P11)

1、與

3、非

2、或

4、異或

算術(shù)運(yùn)算1.二進(jìn)制無(wú)符號(hào)數(shù)四則運(yùn)算(P9)2.帶符號(hào)數(shù)補(bǔ)碼運(yùn)算(P17)3.BCD碼加/減法及十進(jìn)制調(diào)整

(P20)4、算術(shù)運(yùn)算小結(jié)3計(jì)算機(jī)中的運(yùn)算

計(jì)算機(jī)中的運(yùn)算分為兩類(lèi):邏輯運(yùn)算:邏輯“與”、“或”、“非”、“異或”等算術(shù)運(yùn)算:加、減、乘、除運(yùn)算第三十頁(yè),共五十二頁(yè),2022年,8月28日二進(jìn)制無(wú)符號(hào)數(shù)的四則運(yùn)算(1)加法運(yùn)算二進(jìn)制加法法則為:0+0=01+0=0+1=11+1=101+1+1=11第三十一頁(yè),共五十二頁(yè),2022年,8月28日例:二進(jìn)制無(wú)符號(hào)數(shù)加法

被加數(shù)10111011B+加數(shù)00010110B進(jìn)位00111110和11010001B1、求187+22結(jié)果:11010001B即209CY=0

進(jìn)/借位標(biāo)志CY2、求200+200

被加數(shù)11001000B+加數(shù)11001000B進(jìn)位11001000和110010000B結(jié)果:CY=1

和=進(jìn)位值+8位和值

=256+10010000B=400第三十二頁(yè),共五十二頁(yè),2022年,8月28日(2)減法運(yùn)算法則:

0-0=0 1-0=1 1-1=00-1=1(借1當(dāng)2)

被減數(shù)10111011B

-減數(shù)00010110B借位00000100差10100101B例:求187-22例:二進(jìn)制無(wú)符號(hào)數(shù)減法結(jié)果:無(wú)借位,差為10100101B即165第三十三頁(yè),共五十二頁(yè),2022年,8月28日(3)乘法運(yùn)算法則

0×0=00×1=1×0=01×1=1

被乘數(shù)1001B

乘數(shù)×1011B100110010000

+1001

乘積1100011B常用算法:1、左移加2、右移加第三十四頁(yè),共五十二頁(yè),2022年,8月28日(4)定點(diǎn)整數(shù)除法運(yùn)算11100100011001011111011011010常用算法:1、比較法2、恢復(fù)余數(shù)法第三十五頁(yè),共五十二頁(yè),2022年,8月28日2.帶符號(hào)數(shù)定點(diǎn)補(bǔ)碼運(yùn)算定點(diǎn)補(bǔ)碼運(yùn)算定律:1.當(dāng)X,Y,X+Y,X-Y均在-2n―1~+(2n―1-1)范圍內(nèi),則:[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)

[X-Y]補(bǔ)=[X]補(bǔ)-[Y]補(bǔ)=[X+(-Y)]補(bǔ)

=[X]補(bǔ)+[-Y]補(bǔ)2.如果X+Y,X-Y的值不在-2n―1~+(2n―1-1)范圍內(nèi)(n=8時(shí)為[-128,127]),則機(jī)器就產(chǎn)生了溢出錯(cuò)誤,上式不成立,運(yùn)算結(jié)果無(wú)意義。第三十六頁(yè),共五十二頁(yè),2022年,8月28日

溢出判別

(overflow)

若X±Y>2n-1-1,為正溢出;若X±Y<-2n-1,為負(fù)溢出。判溢出的方法:

1、雙進(jìn)位位法(主要用此法判溢出)

OV=C8C7C8、C7相同不溢出,不同溢出。

2、雙符號(hào)位法——變形碼

0V=Sf’

SfSf’

、Sf相同不溢出,不同溢出。(1)定點(diǎn)補(bǔ)碼加法

步驟:1、將X、Y(或-Y)轉(zhuǎn)換為補(bǔ)碼。2、進(jìn)行加法運(yùn)算,符號(hào)位參與運(yùn)算。

第三十七頁(yè),共五十二頁(yè),2022年,8月28日[例1]

在八位微機(jī)中,已知X=+76,Y=+23,求X+Y

解:[X]補(bǔ)= 01001100B

+[Y]補(bǔ)= 00010111B

001100011B[X]補(bǔ)+[Y]補(bǔ)=01100011B=[+99]補(bǔ)

=[(+76)+(+23)]補(bǔ)=[X+Y]補(bǔ)

雙進(jìn)位位法判溢出:OV=0∵C7=0,C8=0

[例2]

已知X=+76,Y=-23,求X+Y

解: [X]補(bǔ)= 01001100B

+ [Y]補(bǔ)= 11101001B

100110101B[X]補(bǔ)+[Y]補(bǔ)=00110101B=[+53]補(bǔ)

=[(+76)+(-23)]補(bǔ)=[X+Y]補(bǔ)

雙進(jìn)位位法判溢出:OV=0∵C7=1,C8=1第三十八頁(yè),共五十二頁(yè),2022年,8月28日

[例3]

在八位微機(jī)中,已知X=+76,Y=+69,求X+Y

解: [X]補(bǔ)= 01001100B

+ [Y]補(bǔ)= 01000101B

10010001B[X]補(bǔ)+[Y]補(bǔ)=10010001B=[-111]補(bǔ)≠[X+Y]補(bǔ)雙進(jìn)位位法判溢出:OV=1∵C7=1,C8=0正溢出

[例4]

已知X=-76,Y=-69,求X+Y

解: [X]補(bǔ)= 10110100B

+ [Y]補(bǔ)= 10111011B

1

01101111B[X]補(bǔ)+[Y]補(bǔ)=01101111B=[+111]補(bǔ)≠[X+Y]補(bǔ)雙進(jìn)位位法判溢出:OV=1∵C7=0,C8=1負(fù)溢出兩個(gè)正數(shù)的和為負(fù)數(shù)兩個(gè)負(fù)數(shù)的和為正數(shù)兩個(gè)正數(shù)的和為負(fù)數(shù)第三十九頁(yè),共五十二頁(yè),2022年,8月28日

雙符號(hào)位法判斷溢出——變形碼用兩位來(lái)表示符號(hào):

00表示正號(hào),11表示負(fù)號(hào),稱(chēng)為變形碼。用變形碼進(jìn)行加法運(yùn)算時(shí),兩位符號(hào)位同數(shù)值位一起參加運(yùn)算,運(yùn)算后,若運(yùn)算結(jié)果的兩個(gè)符號(hào)位相同,則沒(méi)有溢出;若運(yùn)算結(jié)果的兩個(gè)符號(hào)位不同,則發(fā)生了溢出,運(yùn)算結(jié)果錯(cuò)誤。用Sf'和Sf表示運(yùn)算結(jié)果的兩個(gè)符號(hào)位,則有:

OV=Sf'⊕Sf第四十頁(yè),共五十二頁(yè),2022年,8月28日[例5]

在八位微機(jī)中,已知X=+76,Y=+69,求X+Y

解: [X]補(bǔ) =01001100B[Y]補(bǔ) =01000101B

[X]變形碼 =001001100B

+ [Y]變形碼 =001000101B

010010001B因?yàn)镾f'=0,Sf=1,運(yùn)算后,根據(jù)Sf'⊕Sf=0⊕1=1

設(shè)置OV=1,有溢出,結(jié)果錯(cuò)誤。第四十一頁(yè),共五十二頁(yè),2022年,8月28日[X-Y]補(bǔ)=[X]補(bǔ)-[Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)[Y]補(bǔ)[-Y]補(bǔ)-+求補(bǔ)(2)定點(diǎn)補(bǔ)碼減法運(yùn)算

[X-Y]補(bǔ)=[X]補(bǔ)-[Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)

第四十二頁(yè),共五十二頁(yè),2022年,8月28日步驟:1、將X、Y(或-Y)轉(zhuǎn)換為補(bǔ)碼。2、進(jìn)行減法運(yùn)算,符號(hào)位參與運(yùn)算。判溢出的方法與加法相同[例6]

已知X=+76,Y=-23,求X-Y

[X]補(bǔ)= 01001100B

-[Y]補(bǔ)= 11101001B00010110B 取反+1 加1

+ 00010111B

01100011B01100011B=[+99]補(bǔ)=[(+76)-(-23)]補(bǔ)=[X-Y]補(bǔ)

雙進(jìn)位位法判溢出:OV=0∵C7=0,C8=0求補(bǔ)第四十三頁(yè),共五十二頁(yè),2022年,8月28日

同補(bǔ)碼加法一樣,補(bǔ)碼的減法運(yùn)算也可能發(fā)生溢出,因?yàn)檠a(bǔ)碼的減法運(yùn)算是轉(zhuǎn)換成加法運(yùn)算來(lái)實(shí)現(xiàn)的,所以其溢出的判斷方法與加法相同。

[例7]

已知X=+76,Y=-69,求X-Y解: [X]補(bǔ)= 01001100B

- [Y]補(bǔ)= 10111011B 01000100B 取反求補(bǔ)

+1 加1

+ 01000101B

10010001B10010001B=[-111]補(bǔ)≠[X-Y]補(bǔ)因?yàn)镃7=1,C8=0,則OV=1,發(fā)生溢出,結(jié)果錯(cuò)誤。X-Y=145>127

第四十四頁(yè),共五十二頁(yè),2022年,8月28日3.BCD碼加法及十進(jìn)制調(diào)整(1)BCD碼的加法運(yùn)算在兩個(gè)數(shù)的BCD碼進(jìn)行加法運(yùn)算時(shí),當(dāng)?shù)退奈缓透咚奈欢紵o(wú)進(jìn)位并且不超過(guò)9時(shí),可得到正確的運(yùn)算結(jié)果。

[例1]

已知X=63,Y=24,求X+Y

解: [X]BCD碼 =01100011B

+ [Y]BCD碼 =00100100B

進(jìn)位 0110000010000111B10000111B=[87]BCD碼=[63+24]BCD碼=[X+Y]BCD碼

第四十五頁(yè),共五十二頁(yè),2022年,8月28日

[例2]

已知X=68,Y=49,求X+Y

解: [X]BCD碼 =01101000B

+ [Y]BCD碼 =01001001B

進(jìn)位 01001000CY=0,AC=1

和10110001B

+01100110B調(diào)整

100010111BCY=1X+Y=100+17=117,CY=1,進(jìn)位值為100低四位有進(jìn)位,高四位的值超過(guò)9,是非法碼,結(jié)果錯(cuò)誤,需進(jìn)行調(diào)整。大家看到,在運(yùn)算中,當(dāng)?shù)退奈幌蛩母呶贿M(jìn)位時(shí),是逢16進(jìn)位為1,即按照十六進(jìn)制的原則進(jìn)行的運(yùn)算,而B(niǎo)CD碼是十進(jìn)制數(shù),應(yīng)按照逢十進(jìn)一的原則進(jìn)行運(yùn)算,所以應(yīng)將和的低四位加6以補(bǔ)上多拿走的6,調(diào)整為0111B。和的高四位1011B大于9,應(yīng)向高位進(jìn)位,同樣加上6進(jìn)行調(diào)整,變?yōu)?0001B。第四十六頁(yè),共五十二頁(yè),2022年,8月28日(2)BCD碼的減法運(yùn)算兩個(gè)數(shù)的BCD碼進(jìn)行減法運(yùn)算時(shí),

當(dāng)?shù)退奈换蚋咚奈欢疾恍杞栉粫r(shí),可得到正確的運(yùn)算結(jié)果。

[例3]

已知X=58,Y=25,求X-Y

解: [X]BCD碼 =01011000B

- [Y]BCD碼 =00100101B00110011B00110011B=[33]BCD碼=[58-25]BCD碼=[X-Y]BCD碼

當(dāng)?shù)退奈换蚋咚奈挥薪栉粫r(shí),按十進(jìn)制運(yùn)算規(guī)則,向高位借1當(dāng)10,而計(jì)算機(jī)中按二進(jìn)制運(yùn)算規(guī)則進(jìn)行,借1當(dāng)作16,因此運(yùn)算后必須減6進(jìn)行調(diào)整。第四十七頁(yè),共五十二頁(yè),2022年,8月28日

[例4]

已知X=68,Y=49,求X-Y

解: [X]BCD碼 = 01101000B

- [Y]BCD碼 = 01001001B

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論