第一章 微機基礎(chǔ)知識_第1頁
第一章 微機基礎(chǔ)知識_第2頁
第一章 微機基礎(chǔ)知識_第3頁
第一章 微機基礎(chǔ)知識_第4頁
第一章 微機基礎(chǔ)知識_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章微機基礎(chǔ)知識1第一頁,共七十二頁,編輯于2023年,星期四本章內(nèi)容提要

本章主要介紹:微機的基本概念、組成、工作原理、特點計算機內(nèi)的信息表示和運算

*進位計數(shù)制的表示及其轉(zhuǎn)換、*符號數(shù)和無符號數(shù)的表示及運算*十進制數(shù)的二進制表示及運算*邏輯變量的表示及運算*文字在計算機內(nèi)的表示2第二頁,共七十二頁,編輯于2023年,星期四第一節(jié)微機的基本組成3第三頁,共七十二頁,編輯于2023年,星期四一、微機的基本硬件構(gòu)成微機的基本硬件由下列幾部分組成:運算器(ALU)控制器(CTRL)存儲器(MEM)輸入設(shè)備(INE)輸出設(shè)備(OUTE)總線(BUS)4第四頁,共七十二頁,編輯于2023年,星期四微機的硬件構(gòu)成框圖5第五頁,共七十二頁,編輯于2023年,星期四微機的基本硬件構(gòu)成(續(xù))運算器(ALU-ArithmeticLogicUnit)

進行算術(shù)運算(加、減、乘、除與移位);進行邏輯運算(與、或、非、異或等);為了提高存取數(shù)據(jù)的速度,與ALU有關(guān)的部件還有寄存器陣列6第六頁,共七十二頁,編輯于2023年,星期四計算機的結(jié)構(gòu)計算機工作原理CPU總線內(nèi)存標志寄存器地址總線AB程序數(shù)據(jù)數(shù)據(jù)總線DB控制總線CB地址譯碼器、、、指令1指令2指令3指令4、、、、、、數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3、、、指令寄存器數(shù)據(jù)暫存器控制電路指令譯碼器地址寄存器指令指針寄存器R1R2R3R4寄存器組運算器PC7第七頁,共七十二頁,編輯于2023年,星期四一些名詞的解釋(見第二章2.1節(jié))地址寄存器AR(AddressRegister);存放的是內(nèi)存單元的地址數(shù)據(jù)寄存器DR(DataRegister):存放的是寫入內(nèi)存的數(shù)據(jù)或者從內(nèi)存讀出的數(shù)據(jù);程序計數(shù)器PC(ProgramCounter):存放的是下一條指令在內(nèi)存中的訪存地址指令寄存器IR(InstructionRegister):存放的是從內(nèi)存中讀出的指令;標志寄存器FLAG:存放的是運算結(jié)果的狀態(tài);指令指針I(yè)P(InstructionPointer):功能同PC。我們用到的還有AX,BX,CX,DX寄存器(2.1節(jié)會詳細介紹)8第八頁,共七十二頁,編輯于2023年,星期四微機的基本硬件構(gòu)成(續(xù))控制器(CTRL-Controller)

它是計算機的控制中心,發(fā)布與控制計算機工作的各種命令,協(xié)調(diào)計算機內(nèi)部以及主機與外設(shè)工作的各種關(guān)系。

它有兩個主要功能:一個是控制程序的運行;另一個是對不同的外部事件做出相應響應的能力。(這些外部事件是指:復位、停機、中斷請求、總線請求、總線周期延長等)

上述ALU+CTRL+REG(寄存器陣列)=CPU(中央處理器)9第九頁,共七十二頁,編輯于2023年,星期四微機的基本硬件構(gòu)成(續(xù))存儲器(MEM-Memory)

記憶部件。它存儲計算機操作的控制信息及各種命令信息(指令)和被處理加工的信息(數(shù)據(jù)),包括存儲加工的中間與最終結(jié)果。

存儲器內(nèi)有兩類信息:一類是命令信息(即指令),經(jīng)譯碼并執(zhí)行,放在代碼區(qū);另一類是數(shù)據(jù),放在數(shù)據(jù)區(qū)。它們都以二進制形式存放。

10第十頁,共七十二頁,編輯于2023年,星期四信息的存儲單位位(Bit):度量數(shù)據(jù)的最小單位;用b表示字節(jié)(Byte):最常用的基本單位;用B表示1B=8b;K字節(jié) 1KB=1024ByteM(兆)字節(jié) 1MB=1024KBG(吉)字節(jié) 1GB=1024MB

T(太)字節(jié) 1TB=1024GBb7b6b5b4b3b2b1b010010101計算機軟件概述11第十一頁,共七十二頁,編輯于2023年,星期四內(nèi)存存儲示意圖第0個存儲單元第11個存儲單元存儲器的容量=存儲單元數(shù)×位數(shù)/單元則此內(nèi)存的容量為一般情況下一個存儲單元的內(nèi)容為1B。=12×8=92b=12B12第十二頁,共七十二頁,編輯于2023年,星期四微機的基本硬件構(gòu)成(續(xù))輸入設(shè)備與輸出設(shè)備

稱為外設(shè),其作用是進行信息形式的轉(zhuǎn)換,即外界的語言、文字、圖像、機械動作等信息轉(zhuǎn)換成計算機能識別的電信號表示的二進制數(shù)形式,或進行相反方向的轉(zhuǎn)換。

輸入設(shè)備如:鍵盤、鼠標、磁盤、光盤、游戲桿、掃描儀、數(shù)碼相機、A/D轉(zhuǎn)換器等

輸出設(shè)備如:顯示器、打印機、音響、繪圖機、磁盤、光盤、D/A轉(zhuǎn)換器等13第十三頁,共七十二頁,編輯于2023年,星期四微機的基本硬件構(gòu)成(續(xù))總線(BUS)

總線是計算機各部件間傳送信息的公共通路,它把計算機的各個部件連接成為一個整體。

分為內(nèi)部總線,外部總線。

計算機內(nèi)部的基本總線分為數(shù)據(jù)總線(DBUS),地址總線(ABUS),控制總線(CBUS)。通常又稱為三總線。關(guān)于總線技術(shù),將在第六章中專門介紹。14第十四頁,共七十二頁,編輯于2023年,星期四二、微機系統(tǒng)(見課本第3頁)微型計算機系統(tǒng)指由硬件、軟件組成的微機系統(tǒng)硬件部分:(1)主機CPU,內(nèi)存,I/O接口,總線和電源(2)外設(shè)設(shè)備;輸入/輸出設(shè)備.15第十五頁,共七十二頁,編輯于2023年,星期四軟件分類系統(tǒng)軟件操作系統(tǒng) 語言處理程序 實用程序應用軟件辦公軟件包數(shù)據(jù)庫管理系統(tǒng)瀏覽器實時控制軟件

2、計算機軟件 軟件=程序+數(shù)據(jù)+文檔診斷程序反病毒程序備份程序文件壓縮程序卸載程序圖形圖像處理軟件其它應用軟件16第十六頁,共七十二頁,編輯于2023年,星期四第二節(jié)微機的工作原理17第十七頁,共七十二頁,編輯于2023年,星期四一、工作原理微型計算機是采用“程序存儲控制”的原理工作的。這一原理是馮.諾依曼1946年提出的,它構(gòu)成了計算機系統(tǒng)的結(jié)構(gòu)框架。因此,計算機體系結(jié)構(gòu)又稱為馮.諾依曼結(jié)構(gòu)。世界:1946年世界上第一臺電子計算機在美國賓西法尼亞大學誕生,取名為埃尼阿克ENIAC,這臺計算機占地170平方米,重30噸,用了18000多個電子管,每秒能進行5000次加法運算。該機用于美國陸軍部的彈道研究實驗室。世界上第一臺由馮.諾依曼設(shè)計具有存儲程序功能的計算機叫“愛達法克”EDVAC,但是世界上第一臺實現(xiàn)存儲程序式的電子計算機是EDSAC。18第十八頁,共七十二頁,編輯于2023年,星期四馮·諾依曼體系結(jié)構(gòu)計算機的工作過程或原理如果讓計算機完成一個任務,必須將此任務用高級語言(例如:JAVA,PASCAL,C等)編寫成程序;然后將高級語言程序轉(zhuǎn)化成功能等價的機器語言指令構(gòu)成的程序;將機器語言指令構(gòu)成的程序裝入到內(nèi)存中。CPU在執(zhí)行內(nèi)存中的程序時,一條指令一條指令的執(zhí)行。19第十九頁,共七十二頁,編輯于2023年,星期四內(nèi)存存儲示意圖第0個存儲單元第11個存儲單元20第二十頁,共七十二頁,編輯于2023年,星期四每個存儲單元存放一個字節(jié)的數(shù)據(jù),此內(nèi)存共有12個存儲單元,它的容量為12B。存儲單元從0H開始編號,第0個存儲單元的內(nèi)容為8CH,EAH數(shù)據(jù)所在的存儲單元地址為02H。內(nèi)存可讀也可寫。例如:CPU從地址總線發(fā)出的地址信息為02H,從控制總線發(fā)出讀命令,則從內(nèi)存讀出的數(shù)據(jù)為?

EAH;CPU從地址總線發(fā)出的地址信息為02H,DR寄存器的內(nèi)容為45H,從控制總線發(fā)出寫命令,則內(nèi)存的02H存儲單元的內(nèi)容為?

45H問題,如果一個存儲器的容量為2MB,說明此存儲器共有多少個存儲單元?存儲單元的地址范圍是?21第二十一頁,共七十二頁,編輯于2023年,星期四一個存儲單元的內(nèi)容為1B,現(xiàn)在存儲器的容量為2MB,因此有2M=221個存儲單元.存儲單元的地址范圍為:從第0個存儲單元開始到第221-1個存儲單元。

0對應的二進制數(shù):

000000000000000000000B=0H221-1對應的二進制數(shù):111111111111111111111B=1FFFFFH因此存儲單元的地址范圍為:0H-1FFFFFH。22第二十二頁,共七十二頁,編輯于2023年,星期四23計算機基本工作原理(考慮最簡單的順序執(zhí)行的過程)一條指令的執(zhí)行過程分為以下4個步驟:①取指令:按照指令計數(shù)器中的地址,從內(nèi)存儲器中取出指令,并送往指令寄存器。指令計數(shù)器加1②分析指令:對指令寄存器中存放的指令進行分析,由譯碼器對操作碼進行譯碼,將指令的操作碼轉(zhuǎn)換成相應的控制電位信號;由地址碼確定操作數(shù)地址。③執(zhí)行指令:由操作控制線路發(fā)出完成該操作所需要的一系列控制信息,去完成該指令所要求的操作。④一條指令執(zhí)行完成,然后回到①,順序執(zhí)行下一條指令23第二十三頁,共七十二頁,編輯于2023年,星期四

計算機工作過程示例:

完成下面的工作:7+10,并將運算結(jié)果寫入到第20H個存儲單元中去。首先,將此任務編寫成程序的形式,然后將此程序裝入到內(nèi)存中。機器語言指令匯編語言指令

B007HMOVAL,07其中B0是操作碼,07H是操作數(shù)此條指令的功能:由操作碼B0產(chǎn)生(將7寫入AL寄存器這個操作所需要的)所有控制信號

040AHADDAL,10AL寄存器的當前內(nèi)容與10做加法,并將結(jié)果寫回到AL中。

A220HMOV[20H],AL將AL寄存器的內(nèi)容寫到第20H個存儲單元中去。24第二十四頁,共七十二頁,編輯于2023年,星期四25第二十五頁,共七十二頁,編輯于2023年,星期四第三節(jié)微機的特點、

應用及發(fā)展方向26第二十六頁,共七十二頁,編輯于2023年,星期四微機特點運算速度快(每秒幾兆條指令到幾千兆條指令或每秒幾十億次運算。)處理能力強(如各種管理、計算、決策)能連續(xù)不間斷地工作(多任務、高效、高質(zhì)量)能干幾乎所有的工作27第二十七頁,共七十二頁,編輯于2023年,星期四應用各行各業(yè),無所不用科技、生產(chǎn)、學習、日常生活等各個方面28第二十八頁,共七十二頁,編輯于2023年,星期四發(fā)展方向性能:運行速度不斷提高,處理器字長不斷增加(摩爾定律指出,每18個月計算機的運算速度就大體提高一倍,而價格則大約降低一半)功能:支持多媒體技術(shù),并與網(wǎng)絡(luò)技術(shù)全面結(jié)合體系結(jié)構(gòu):向多處理器和網(wǎng)絡(luò)化過渡;向以通信為中心的體系結(jié)構(gòu)發(fā)展;由馮.諾依曼體系結(jié)構(gòu)向數(shù)據(jù)流結(jié)構(gòu)發(fā)展可用性:從面向過程的機制向面向?qū)ο蟮臋C制轉(zhuǎn)變,向智能化方向發(fā)展制造工藝:向超高集成度發(fā)展,制造光集成芯片、生物芯片,設(shè)計超導、量子、生物、光計算機29第二十九頁,共七十二頁,編輯于2023年,星期四第四節(jié)計算機運算基礎(chǔ)30第三十頁,共七十二頁,編輯于2023年,星期四一、進位計數(shù)制計算機中全部信息(包括指令和數(shù)據(jù))都是采用二進制數(shù);為了書寫方便,又經(jīng)常采用十六進制。而人們在日常生活中又廣泛采用十進制。因此需要進行相應的數(shù)值轉(zhuǎn)換,二進、十六進、十進制都是進位計數(shù)制。31第三十一頁,共七十二頁,編輯于2023年,星期四二、數(shù)制轉(zhuǎn)換

幾種不同的進制數(shù)的基本符號32第三十二頁,共七十二頁,編輯于2023年,星期四331.4.1進位計數(shù)制

N=an-1×rn-1+an-2×rn-2+…+a0×r0+a-1×r-1+…+a-m×r-mr進制數(shù)N可表示為:(可按此公式轉(zhuǎn)換成10進制數(shù))R進制數(shù)用r個基本符號(例如0,1,2,…,r-1)表示數(shù)值基數(shù)權(quán)數(shù)碼678.34=6×102+7×101+8×100+3×10-1+4×10-233第三十三頁,共七十二頁,編輯于2023年,星期四思考題16進制數(shù)1B3.45對應的10進制數(shù)為?

8進制數(shù)127.2對應的10進制數(shù)為?

(1B3.45)16

=1B3.45H表示此數(shù)是16進制數(shù)(127.2)8

=127.2O=127.2Q表示此數(shù)是8進制數(shù)(1234.56)10

=1234.56D=1234.56

表示此數(shù)是十進制數(shù),其中十進制數(shù)的下標和后綴可以省略1B3.45H=1*162+B*161+3*160+4*16-1+5*16-2=256+11*16+3+4*16-1+5*16-2127.2O=1*82+2*81+7*80+2*8-134第三十四頁,共七十二頁,編輯于2023年,星期四351.4.2不同進位計數(shù)制間的轉(zhuǎn)換

1.r進制轉(zhuǎn)化成十進制r進制轉(zhuǎn)化成十進制:數(shù)碼乘以各自的權(quán)的累加例:

10101B=24+22+1=21101.11B=22+1+2-1+2-2=5.75101O=82+1=6571Q=78+1=5101AH=163+16+10=4106進制表示符號B二進制O(Q)八進制D十進制H十六進制T三進制35第三十五頁,共七十二頁,編輯于2023年,星期四

2.十進制轉(zhuǎn)化成r進制

整數(shù)部分:除以r取余數(shù),直到商為0,余數(shù)從右到左排列。小數(shù)部分:乘以r取整數(shù),整數(shù)從左到右排列。(直到乘積為0或達到要求的小數(shù)位數(shù)即可)例100.345(D)=1100100.01011(B)100(D)=144(O)=64(H)100(D)=144(O)=64(H)=1100100(B)~10025022521226232100010010.34520.69021.3802

0.7602

1.52021008128180441100166046161

1.04最高位最低位36第三十六頁,共七十二頁,編輯于2023年,星期四373.二進制、八進制、十六進制數(shù)間的相互轉(zhuǎn)換

64(H)=0110

0100(B)

64144(O)=001

100

100(B)

1

4

4一位八進制數(shù)對應三位二進制數(shù)一位十六進制數(shù)對應四位二進制數(shù)二進制轉(zhuǎn)化成八(十六)進制)整數(shù)部分:從右向左按三(四)位進行分組小數(shù)部分:從左向右按三(四)位進行分組不足部分補零例如:將下列二進制數(shù)轉(zhuǎn)換成8進制數(shù)和16進制數(shù)1101101110.11010137第三十七頁,共七十二頁,編輯于2023年,星期四001

101

101

110.110

101(B)=1556.65(O)1556650011

0110

1110.1101

0100(B)=36F.D4(H)36FD4作業(yè):(下周交)1將167.896轉(zhuǎn)換成相應的16進制數(shù)和8進制數(shù),小數(shù)點位數(shù)保留四位。214AH,47Q,164.82對應的二進制數(shù)為?小數(shù)點位數(shù)保留四位31101111010011.1010111(B)對應的8進制數(shù)和16進制數(shù)為?4計算下列各數(shù)的原碼,反碼和補碼+127,-127,-128,+100,-10038第三十八頁,共七十二頁,編輯于2023年,星期四三、無符號數(shù)的表示與運算無符號數(shù)(純數(shù)值):只表示數(shù)值的大小,不涉及數(shù)的正負號符號數(shù):既表示數(shù)的大小,又要表示數(shù)的正負計算機中的二進制數(shù)可以分為符號數(shù)和無符號數(shù),它們的表示與運算是不同的。39第三十九頁,共七十二頁,編輯于2023年,星期四三、無符號數(shù)的表示與運算(續(xù))加法運算(若運算器為8位)例1.計算78H+87H=FFH

例2.計算78H+98H=10H78H78H+87H+98H

—————·—·———FFH10H

說明:

因為是8位運算器,例2的結(jié)果就溢出了,原因是結(jié)果只能存放8位數(shù)。為了表示最高位的進位,計算機中可用一個進位標志CF(CarryFlag)=1來表示(若把CF=1考慮在內(nèi),結(jié)果為110H,這樣結(jié)果就正確了)。40第四十頁,共七十二頁,編輯于2023年,星期四三、無符號數(shù)的表示與運算(續(xù))減法運算(若運算器為8位)例1.計算78H-87H=FFH

例2.計算A8H-98H=10H`78HA8H-87H-98H

—————————F1H10H

說明:

因為是8位運算器,例1的結(jié)果就是錯誤的了,原因是高位有借位。為了表示最高位的借位,計算機中可用一個借位標志BW(BorrowFlag)=1來表示(通常計算機中把CF與BW用同一標志來指示)。41第四十一頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算計算機中的符號數(shù)也是用二進制數(shù)表示和運算的。數(shù)值與符號都是用二進制數(shù)表示。一般規(guī)定,0表示正號,1表示負號,約定在數(shù)的最高位表示符號位。符號數(shù)通常有三種機器碼表示法。即原碼、反碼和補碼。42第四十二頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算(續(xù))原碼表示(1)定義

[x]原=

X(X>=0)2N-1+︳X︳(X<=0)表示范圍:(–2N-1+1)~(+2N-1–1)N是要表示十進制數(shù)的二進制數(shù)的位數(shù)4位二進制原碼表示的整數(shù)范圍為:–7~+78位二進制原碼表示的整數(shù)范圍為:–127~+127(2)舉例用八位二進數(shù)寫出X=+32和Y=–32的原碼表示如下[X]原=00100000B=20H[Y]原=10100000B=A0H符號位數(shù)值符號位數(shù)值43第四十三頁,共七十二頁,編輯于2023年,星期四

[32]原=32=00100000B[-32]原=28-1+32=128+32=160=10100000B規(guī)則:用最高位0表示正數(shù);最高位為1表示負數(shù)。用剩余的7位二進制數(shù)表示數(shù)的真值。例如:+32的原碼:00100000

最高位十進制數(shù)32對應的二進制數(shù)

[+32]原=00100000

-32的原碼:10100000

最高位十進制數(shù)32對應的二進制數(shù)

[-32]原=1010000044第四十四頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算(續(xù))(3)0的原碼有兩種表示

[+0]原=00000000B[–0]原=10000000B

原碼表示簡單直觀,但運算時符號位與數(shù)值位要區(qū)別對待,不宜作加減運算。

45第四十五頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算(續(xù))反碼表示與運算(1)定義

[X]反=X(X>=0)

(2N–1)+X(X<=0)(2)舉例:用八位二進制數(shù)寫出X=+32與Y=–32的反碼表示[X]反=00100000B(正數(shù)的反碼是其自身)[Y]反=(28-1)-32=255-32=223=11011111B46第四十六頁,共七十二頁,編輯于2023年,星期四反碼:正數(shù)的反碼和原碼相同;負數(shù)的反碼和它的原碼符號位相同,數(shù)值位取反(二進數(shù)0變?yōu)?,1變?yōu)?)。

[+32]反=[+32]原=00100000B[-32]反=?[-32]原=10100000B按照所講解的規(guī)律:[-32]反=11011111B47第四十七頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算(續(xù))

(3)0的反碼有兩種表示

[+0]反

=00000000B[–0]反

=11111111B

N位反碼可表示的整數(shù)范圍為:–(2N-1–1)~(2N-1–1)

8位二進制反碼表示范圍:–127~+127

(4)反碼運算規(guī)則

[X+Y]反=[X]反+[Y]反+循環(huán)進位

[X–Y]反=[X]反+[–Y]反+循環(huán)進位例1.已知:33的反碼為21H,-32的反碼為DFH,計算【33-32】反=?

33的反碼為(00100001B=21H)-32的反碼為(對10100000B的數(shù)值位取反=11011111=DFH)21H00+.D.FH

+1(循環(huán)進位)

000148第四十八頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算(續(xù))驗證:33-32=11的反碼=00000001B=01H,公式成立。反碼宜作加、減運算,但一次加法要通過兩次加法運算來完成,降低了計算機的運算速度。計算機中常用補碼表示符號數(shù)。補碼表示與運算(1)定義

[X]補

=X(X>=0)2N+X(X<=0)N是要表示十進制數(shù)的二進制數(shù)的位數(shù)49第四十九頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算(續(xù))(2)舉例用八位二進制數(shù)寫出X=+32和Y=–32的補碼表示

[X]補=00100000B[Y]補=28-32=256-32=224=11100000B補碼:正數(shù)的補碼和反碼形式相同負數(shù)的補碼和它的原碼符號位相同,數(shù)值位取反加1。[+32]補=[+32]原=00100000B[-32]補=?[-32]原=10100000B按照所講解的規(guī)律:[-32]補=11100000B50第五十頁,共七十二頁,編輯于2023年,星期四(3)0的補碼只有一種表示

[+0]補=00000000B[–0]補=11111111+1=1(扔掉)00000000=

00000000BN位二進制補碼表示的整數(shù)范圍為:-2N~2N-1-1N=8時,表示范圍:-128~+127

51第五十一頁,共七十二頁,編輯于2023年,星期四1()的補碼,原碼和反碼形式是相同的?A正數(shù);B正數(shù)和0;C所有的數(shù)2[-128]補=?首先,+0=-0;

[+0]原=00000000[-0]原=10000000[+0]反=[+0]補=00000000[-0]反=11111111[-0]補=00000000補碼的最一般形式:{x}補=x,x>=0;2n+x,X<0.(如果用8位二進制數(shù)表示十進制的正負數(shù),則n=8)[-128]補=28-128=28-27=27=10000000B52第五十二頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算(續(xù))(4)補碼的運算規(guī)則

[X+Y]補=[X]補+[Y]補∴

[X–Y]補=[X]補+[–Y]補用補碼可以很方便的進行符號數(shù)的加減運算

例1若[X]補=[65]補=41H,[Y]補=[-66]補=BEH,計算[X+Y]補=?

∵[X]補=01000001B[Y]補=100H-42H=BEH=10111110B

41H(+65)+BEH(-66)

ˉˉˉˉˉˉˉˉˉˉ

FFH(-1)

53第五十三頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算(續(xù))用補碼進行加減運算比反碼省去了循環(huán)進位的修正運算,所以運算速度提高了。一般計算機中的符號數(shù),均指用補碼表示的數(shù)。利用補碼,連同符號位一起,按無符號數(shù)進行加減,簡化了運算器的設(shè)計。在計算機中,減法運算是通過求負數(shù)的補碼,而進行加法運算。54第五十四頁,共七十二頁,編輯于2023年,星期四4、符號數(shù)運算溢出的判別方法

若運算結(jié)果超出了結(jié)果單元所能表達的范圍就產(chǎn)生溢出。加減運算產(chǎn)生的溢出無法從結(jié)果中看出,必須用專門的信息位來表示。在CPU中,稱為Flag寄存器,由于這些標志決定了程序分支的條件,也稱為條件碼(CC:ConditionCode)。CPU常設(shè)的標志有:

C(Carry)進位標志,運算結(jié)果的最高位產(chǎn)生進位或借位。

S或N(Sign或Negative)符號標志,反映運算結(jié)果的符號位。

O或V(OVerflow)溢出標志,反映符號數(shù)運算結(jié)果是否產(chǎn)生溢出。

Z(Zero)零標志,反映運算結(jié)果是否為0。

C與O是兩個不同性質(zhì)的標志,前者反映運算結(jié)果有無進(借)位,后者反映運算結(jié)果有無溢出。55第五十五頁,共七十二頁,編輯于2023年,星期四補充溢出:只有兩個同符號數(shù)相加的情況下,才可能產(chǎn)生溢出;和的符號與被加數(shù)或加數(shù)的符號相反,表明運算結(jié)果溢出.進位:對于作加法運算時,CF位是根據(jù)最高有效位(即是最高位,不論是否將它看為符號位)是否向高位的進位來設(shè)置的。符號位在運算過程中要參加運算。對加法,有進位CF=1;無進位CF=0。SF標志位:如果數(shù)據(jù)的最高位為1,則SF=1;

如果數(shù)據(jù)的最高位為0,則SF=0;ZF標志位:如果數(shù)據(jù)為0,則ZF=1;否則為0。56第五十六頁,共七十二頁,編輯于2023年,星期四補充例:(-126)+(-3)=?[-126]補=82H[-3]補=0FDH(前面加0,以示與機器指令區(qū)別)

82H=10000010B

+0FDH=11111101B

101111111B則SF=0,CF=1,OF=1,ZF=0;

57第五十七頁,共七十二頁,編輯于2023年,星期四其中CF,OF由運算過程設(shè)定;ZF,SF由運算結(jié)果設(shè)定。例如:運算結(jié)果為10100010,則SF=1,ZF=0;思考,運算結(jié)果為00000000,則SF=?ZF=?SF=0,ZF=1;58第五十八頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算(續(xù))下列幾種情況,符號數(shù)運算時會產(chǎn)生溢出

?正+正=負(正溢出)結(jié)果應該為正數(shù),但是運算結(jié)束后最高位(符號位為1)

?

負+負=正(負溢出)

?

正–負=負(正溢出)

?

負–正=正(負溢出)結(jié)果應該為負數(shù),但是運算結(jié)束后最高位(符號位為0)值得指出的是:計算機在進行運算時,對參與運算的數(shù)并不知道是無符號數(shù)或帶符號數(shù),所以它在運算后對4個標志都會置位,只有程序員知道參與運算的數(shù)是符號數(shù)或無符號數(shù)。在計算機中,OF置位是根據(jù)次高位和最高位的進位的異或判別的。即

OF=C7⊕

C659第五十九頁,共七十二頁,編輯于2023年,星期四四、符號數(shù)的表示與運算(續(xù))運算舉例(X,Y已經(jīng)是一個數(shù)的補碼,現(xiàn)在進行補碼加法運算,對標志位的影響)例1X=FEH,Y=FFH,求X+Y=?并判斷標志位。

FEHCF=1(有進位)

+.F.FHSF=1(為負數(shù))

ˉˉˉˉˉˉˉˉOF=0(沒溢出)(有進位不一定有溢出)

FDHZF=0(結(jié)果不為0)例2X=70H,Y=50H,求X+Y=?并判斷標志位。

70HCF=0(無進位)

+50HSF=1(為負數(shù))

ˉˉˉˉˉˉˉˉOF=1(有溢出)(有溢出不一定有進位)

C0HZF=0(結(jié)果不為0)

60第六十頁,共七十二頁,編輯于2023年,星期四

運算舉例(續(xù))例3X=30H,Y=40H,求X+Y=?并判斷標志位。30HCF=0(無進位)+40HSF=0(為正數(shù))ˉˉˉˉˉˉˉˉOF=0(沒溢出)(即無進位又無溢出)70HZF=0(結(jié)果不為0)例4X=80H,Y=80H,求X+Y=?并判斷標志位。80HCF=1(有進位)+.80HSF=0(為正數(shù))ˉˉˉˉˉˉˉˉOF=1(有溢出)(即有溢出又有進位)00HZF=1(結(jié)果為0)要搞清楚CF與OF的區(qū)別。四、符號數(shù)的表示與運算(續(xù))61第六十一頁,共七十二頁,編輯于2023年,星期四五、十進制數(shù)的二進制表示與運算表示方法—BCD碼(BinaryCodedDecimal)

要表示一位十進制數(shù),至少要用4位二進制數(shù),常用下面兩種表示方法:

壓縮的(組合的)BCD碼:一個字節(jié)表示兩位BCD碼。

非壓縮(非組合)的BCD碼:一個字節(jié)表示一位BCD碼,高4位為0。運算方法

由于BCD碼需10種4位二進制編碼0000~1001,還有6種碼1010~1111是非法編碼。若出現(xiàn)非法編碼,所得的結(jié)果就要修正。計算機內(nèi)十進制數(shù)(BCD碼)運算仍采用二進制加法器來實現(xiàn)。62第六十二頁,共七十二頁,編輯于2023年,星期四十進制數(shù)21的壓縮BCD碼是:21H;十進制數(shù)21的非壓縮BCD碼是:0201H;0304H是十進制數(shù)()的壓縮BCD碼?0304=304;0304H是十進制數(shù)()的非壓縮BCD碼?34;63第六十三頁,共七十二頁,編輯于2023年,星期四五、十進制數(shù)的二進制表示與運算(續(xù))BCD碼運算(加法)

例1若X、Y為十進制數(shù),X=38,Y=57,用壓縮BCD形式計算X+Y=?38H(BCD碼中沒有字母,結(jié)果中的F(1111)為非法碼,

+57H應在該位加6修正,以強迫其進位。)8F+0.695H例2若X=28,Y=79,計算X+Y=?28H+7.9HA1因為低4位有進位(AF=1)+66高4位A>9,所以+66107H64第六十四頁,共七十二頁,編輯于2023年,星期四五、十進制數(shù)的二進制表示與運算(續(xù))BCD碼運算(減法)

例3若X、Y為十進制數(shù),X=75,Y=26,用壓縮BCD形式計算X-Y=?7`5H(BCD碼中沒有字母,結(jié)果中的F(1111)為非法碼,

-26H應在該位-6修正,使借高位的數(shù)得到修正。)例4X=30,Y=42,計算X-Y=?`3`0H-42HEE因為低4位有借位(AF=1)-66高4位也有借位(CF=1)88H所以–66修正4F-0

649H65第六十五頁,共七十二頁,編輯于2023年,星期四五、十進制數(shù)的二進制表示與運算(續(xù))BCD碼加法修正原則是:①若運算結(jié)果低位大于9或AF(半進位)=1,則結(jié)果+06;②若運算結(jié)果高位大于9或CF(進位)=1,則結(jié)果+60;③若①②都滿足時,則結(jié)果+66。BCD碼減法修正原則是:①若運算結(jié)果低位大于9或AF(半借位)=1,則結(jié)果-06;②若運算結(jié)果高位大于9或CF(借位)=1,則結(jié)果-60;③若①②都滿足時,則結(jié)果-66。說明:微機的CPU中都有專門的十進制運算調(diào)整部件DAA,還設(shè)有專門的十進制加減運算調(diào)整指

溫馨提示

  • 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

提交評論