




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
專題1運(yùn)算計算機(jī)硬件技術(shù)基礎(chǔ)4學(xué)時第一頁,共87頁。本課使用教材課堂用教材:天大出版社2006.9《MCS-51單片機(jī)原理及應(yīng)用》ISBN7-5618-2321-5實驗指導(dǎo)書:清華大學(xué)出版社2009.9《計算機(jī)硬件技術(shù)實踐教程》ISBN978-7-302-20991-1第二頁,共87頁。學(xué)時分配共48學(xué)時(實驗另計)專題一用4學(xué)時概述內(nèi)容、“三微”、表示數(shù)、編碼、邏輯運(yùn)算引出算術(shù)運(yùn)算電路的求補(bǔ)電路先引出求補(bǔ)碼和求補(bǔ)算術(shù)運(yùn)算解決本課學(xué)什么?掌握什么?怎樣學(xué)?下課后各班交課表(只需注明有課狀況即可,可以劃X或者O來代替具體科目),以便安排實驗時間還有,留下電話方便聯(lián)系本課相關(guān)問題1.上課,2.作業(yè),3.{軟件、硬件}實驗(報告)考勤方法(方法I,方法II)第三頁,共87頁。本課的地位學(xué)習(xí)本課對基礎(chǔ)知識的要求本課教學(xué)目標(biāo)學(xué)習(xí)本課的方法授課章節(jié)及學(xué)時安排實驗內(nèi)容及安排第一講的重點(diǎn)和難點(diǎn)
第四頁,共87頁。本課的地位計算機(jī)文化基礎(chǔ)計算機(jī)技術(shù)基礎(chǔ)計算機(jī)應(yīng)用基礎(chǔ)第一層第二層第三層計算機(jī)軟件技術(shù)基礎(chǔ)計算機(jī)硬件技術(shù)基礎(chǔ)計算機(jī)硬件技術(shù)基礎(chǔ)—微機(jī)原理、微機(jī)接口、微機(jī)應(yīng)用第五頁,共87頁。微機(jī)運(yùn)算基礎(chǔ)?
微機(jī)組成、基本工作原理、微機(jī)系統(tǒng)初步?了解CPU體系結(jié)構(gòu)?了解存儲器系統(tǒng)結(jié)構(gòu)、作用?了解I/O接口基本功能、結(jié)構(gòu)、端口的編址方式和I/O同步控制方式?掌握中斷概念、CPU響應(yīng)中斷的條件和處理過程?掌握指令系統(tǒng)和匯編語言程序設(shè)計(隱含的)
微機(jī)原理(重點(diǎn))第六頁,共87頁。?了解并行接口與串行接口的共性與區(qū)別掌握串行通訊的基本概念?掌握可編程并行接口芯片的工作方式、初始化編程?掌握定時器、計數(shù)器的原理、功能、應(yīng)用與編程?了解鍵盤、顯示器等人機(jī)交互設(shè)備的作用、原理及接口方法?理解并掌握A/D,D/A轉(zhuǎn)換原理、主要性能參數(shù),了解典型DAC、ADC集成芯片,與MPU的接口方法、應(yīng)用及編程?了解異步串行通訊協(xié)議、應(yīng)用與編程微機(jī)接口(重點(diǎn))第七頁,共87頁。?了解微機(jī)在測控系統(tǒng)中的應(yīng)用?了解計算機(jī)測控系統(tǒng)的實時處理概念和一般結(jié)構(gòu)?了解測控系統(tǒng)的分析和設(shè)計方法?單片機(jī)應(yīng)用系統(tǒng)的一般分析和設(shè)計方法(重點(diǎn))
微機(jī)應(yīng)用第八頁,共87頁。預(yù)先應(yīng)學(xué)習(xí):1、計算機(jī)文化基礎(chǔ)2、計算機(jī)軟件技術(shù)基礎(chǔ)3、數(shù)字電路、模擬電路4、電工基礎(chǔ)學(xué)習(xí)本課對基礎(chǔ)知識的要求第九頁,共87頁。本課教學(xué)目標(biāo)基本知識基本技能思路方法獨(dú)立分析問題和解決問題的能力實踐能力和創(chuàng)新能力綜合運(yùn)用能力獨(dú)立獲取知識的能力教師講解學(xué)生“悟”教學(xué)目標(biāo)傳授知識與能力培養(yǎng)統(tǒng)一,理論與實踐統(tǒng)一。第十頁,共87頁。學(xué)習(xí)本課的方法1、利用遷移原理將自身積累的知識充分發(fā)揮出來,遷移到本課新知識的學(xué)習(xí)。2、重視實踐,獨(dú)立思考,認(rèn)真做實驗3、帶著問題學(xué),尋找解決問題的知識、思路、方法第十一頁,共87頁。章節(jié)內(nèi)容學(xué)時學(xué)習(xí)方式第一章微型計算機(jī)基礎(chǔ)4自學(xué)導(dǎo)學(xué)
第二章MCS-51單片機(jī)的結(jié)構(gòu)3導(dǎo)學(xué)第三章MCS-51單片機(jī)的指令系統(tǒng)2+1*導(dǎo)學(xué)(2第四章匯編語言程序設(shè)計2*遷移導(dǎo)學(xué)(4第五章輸入/輸出和中斷3導(dǎo)學(xué)(2第六章MCS-51內(nèi)部的I/O口、定時器及其應(yīng)用3導(dǎo)學(xué)(2第七章MCS-51單片機(jī)系統(tǒng)擴(kuò)展4*導(dǎo)學(xué)第八章單片機(jī)人機(jī)接口(LED顯示器接口)4導(dǎo)學(xué)(2第九章單片機(jī)系統(tǒng)的開發(fā)9.1設(shè)計步驟2自學(xué)(4第10章新型的51兼容單片機(jī)簡介1**導(dǎo)學(xué)授課章節(jié)及學(xué)時安排授課內(nèi)容共31學(xué)時,外加一個學(xué)時介紹考試系統(tǒng)使用第十二頁,共87頁。實驗內(nèi)容學(xué)時實驗一
熟悉軟件環(huán)境及數(shù)傳指令編程設(shè)計2實驗二
算術(shù)、邏輯運(yùn)算及位操作指令編程設(shè)計2實驗三
分支和循環(huán)程序設(shè)計2實驗四
查表、散轉(zhuǎn)、子程序設(shè)計2實驗五
8155及顯示程序設(shè)計2實驗六
P1口及外部中斷、定時器及中斷2實驗七
綜合性、開放性、設(shè)計性實驗2實驗八
綜合性、開放性、設(shè)計性實驗2實驗內(nèi)容及安排第十三頁,共87頁。內(nèi)容:書P1~P28重點(diǎn):難點(diǎn):“三微”的概念減法運(yùn)算的原理機(jī)器數(shù)與真值補(bǔ)碼補(bǔ)碼、定點(diǎn)補(bǔ)碼運(yùn)算及BCD碼、ASCII碼判溢出算術(shù)運(yùn)算與邏輯運(yùn)算BCD碼運(yùn)算及調(diào)整作業(yè):消化本講內(nèi)容,P33思考習(xí)題11-1~1-5消化1.4.3計算機(jī)中的運(yùn)算P331-11、1-12、1-13、1-14、1-151-16、1-17、1-18第一講第十四頁,共87頁。第一章微型計算機(jī)基礎(chǔ)1.1微型計算機(jī)系統(tǒng)的概念1、微處理器、微型計算機(jī)、微型計算機(jī)系統(tǒng)2、本課主要講授內(nèi)容及要求專題一計算機(jī)中的數(shù)、編碼及運(yùn)算1.4微型計算機(jī)的運(yùn)算基礎(chǔ)第一講第十五頁,共87頁。1.“三微”的概念1、微處理器(MPU)算術(shù)邏輯單元其核心cpu—運(yùn)算器和控制器寄存器組是微型計算機(jī)的核心部件控制部件2、微型計算機(jī)
MPU為核心半導(dǎo)體存儲器(ROM/RAM)I/O(Input/Output)接口和中斷系統(tǒng)系統(tǒng)總線(CBDBAB)集成在一個半導(dǎo)體芯片上組裝在一塊或數(shù)塊印刷電路板上多板微型計算機(jī)單板微型計算機(jī)單片微型計算機(jī)第十六頁,共87頁。微型計算機(jī)的兩大分支核心器件微處理器微控制器MicroProcessorUnitembedMicroControllerUnitMPUMCU第十七頁,共87頁。微機(jī)組成結(jié)構(gòu)的兩大類型馮.諾依曼型哈佛型CPUI/O接口存儲器系統(tǒng)總線數(shù)據(jù)存儲器CPUI/O接口程序存儲器系統(tǒng)總線DBCBAB例:PC機(jī)例:MCS-51單片機(jī)第十八頁,共87頁。3、微型計算機(jī)系統(tǒng)硬件系統(tǒng)軟件系統(tǒng)第十九頁,共87頁。硬件系統(tǒng)微型計算機(jī)微處理器:運(yùn)算器、控制器內(nèi)存儲器ROM:ROM、PROM、EPROM、E2PROM、FlashROMRAM:SRAM、DRAM、iRAM、NVRAMI/O接口:并行、串行、中斷接口、DMA接口系統(tǒng)總線:數(shù)據(jù)、地址、控制總線(DB、AB、CB)外圍設(shè)備輸入/輸出設(shè)備A/D、D/A轉(zhuǎn)換器開關(guān)量輸入/輸出終端微型計算機(jī)微處理器:運(yùn)算器、控制器內(nèi)存儲器ROM:ROM、PROM、EPROM、E2PROM、FlashROMRAM:SRAM、DRAM、iRAM、NVRAMI/O接口:并行、串行、中斷接口、DMA接口系統(tǒng)總線:數(shù)據(jù)、地址、控制總線(DB、AB、CB)外圍設(shè)備輸入/輸出設(shè)備A/D、D/A轉(zhuǎn)換器開關(guān)量輸入/輸出終端第二十頁,共87頁。軟件系統(tǒng)系統(tǒng)軟件操作系統(tǒng)編譯系統(tǒng)監(jiān)控程序匯編程序程序設(shè)計語言機(jī)器語言匯編語言高級語言應(yīng)用軟件
把匯編語言源程序翻譯成機(jī)器語言目標(biāo)程序的語言處理程序
自匯編程序
交叉匯編程序第二十一頁,共87頁。本課的主要內(nèi)容及要求微型計算機(jī)
MPU微處理器
存儲器(內(nèi)存)I/O接口系統(tǒng)總線連線編程綜合應(yīng)用器件的外特性掌握規(guī)律第二十二頁,共87頁。具體機(jī)型:MCS-51單片微型計算機(jī)Single-ChipMicrocomputerMicro-ControllerMCS-51單片機(jī)的基本組成一、中央處理器CPU二、時鐘電路三、內(nèi)部存儲器四、定時器/計數(shù)器(T/C)五、并行I/O口六、串行口七、中斷控制系統(tǒng)第二十三頁,共87頁。重點(diǎn)解決:計算機(jī)的重要職能之一處理數(shù)
在計算機(jī)中如何表示一個數(shù)?不同性質(zhì)數(shù)的運(yùn)算規(guī)則和算法。1.4微型計算機(jī)運(yùn)算基礎(chǔ)1.4.1計算機(jī)中數(shù)的表示方法1.4.2計算機(jī)中的編碼
1.4.3計算機(jī)中的運(yùn)算1.4微型計算機(jī)運(yùn)算基礎(chǔ)第二十四頁,共87頁。
幾個重要概念復(fù)習(xí)不同進(jìn)制數(shù)之間的互換(黑板)3.機(jī)器數(shù)與真值4.帶符號數(shù)的原碼、反碼、補(bǔ)碼5.?dāng)?shù)的定點(diǎn)與浮點(diǎn)表示
1.4.1計算機(jī)中數(shù)的表示方法第二十五頁,共87頁。1幾個重要概念
重點(diǎn)概念1:計算機(jī)中的數(shù)據(jù)都是以二進(jìn)制形式進(jìn)行存儲和運(yùn)算的重點(diǎn)概念2:在計算機(jī)中存儲數(shù)據(jù)時,每類數(shù)據(jù)占據(jù)固定長度的二進(jìn)制數(shù)位,而不管其實際長度。一般長度為字節(jié)的整倍數(shù)重點(diǎn)概念3:計算機(jī)中不僅要處理無符號數(shù),還要處理帶符號和帶小數(shù)點(diǎn)的數(shù)。例如:在八位微機(jī)中,整數(shù)216存儲為11011000B整數(shù)56存儲為00111000B重點(diǎn)概念4:機(jī)器數(shù)與真值
1幾個重要概念第二十六頁,共87頁。2不同進(jìn)制數(shù)之間的互換1、不同進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)——按權(quán)展開法表示不同進(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取余法——直到商為0止(2)小數(shù)部分——乘以2取整法——直到積為0止或達(dá)到精度要求止例:100=B=H=Q例:0.625=B=H=Q0.1=B=H=Q
2不同進(jìn)制數(shù)之間的互換第二十七頁,共87頁。
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
問:01110110B=?Q0.1010110B=?Q第二十八頁,共87頁。4、
用權(quán)表示數(shù)(2n2n-12n-12n-1-1)1)權(quán)n位二進(jìn)制數(shù)各位的權(quán)從高位到低位依次為:n位二進(jìn)制數(shù):Bn-1Bn-2Bn-3……………B1B0權(quán):2n-12n-22n-3………2120
2)用權(quán)表示數(shù)例:11111……1111B=2n-1,即n個1。01111……1111B=2n-1-1,即n-1個1最高位的權(quán)為:2n-1例:n=8,11111111B=FFH=28-101111111B=7FH=28-1-1例:n位二進(jìn)制數(shù)表示無符號數(shù)的范圍:0~2n-1n=80~28-10~255n=160~216-10~65535n=32?N=64?第二十九頁,共87頁。3.機(jī)器數(shù)與真值1)機(jī)器數(shù):能被計算機(jī)識別的數(shù)稱為機(jī)器數(shù)。2)真值:機(jī)器數(shù)所代表的真實值稱為機(jī)器數(shù)的真值。3)對于無符號數(shù)其機(jī)器數(shù)與真值表示方法相同。例:真值:100=64H=01100100B對應(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):無符號數(shù)的機(jī)器數(shù)與其真值為等值關(guān)系3.機(jī)器數(shù)與真值第三十頁,共87頁。4)帶符號數(shù)的機(jī)器數(shù)的表示方法(重點(diǎn)和難點(diǎn))
常見的有原碼、反碼和補(bǔ)碼三種表示方式。特點(diǎn):帶符號數(shù)的機(jī)器數(shù)與其真值表示方法不同,兩者的關(guān)系不是等值關(guān)系,僅是一一對應(yīng)關(guān)系。例如:在八位微機(jī)中,真值:+65可表示成機(jī)器數(shù)(原碼)為01000001B真值:-65可表示成機(jī)器數(shù)(原碼)為11000001B01100000符號位數(shù)值位符號位:“0”表示正號“1”表示負(fù)號第三十一頁,共87頁。4
帶符號數(shù)的原碼、反碼、補(bǔ)碼(1)原碼定義:在表示帶符號數(shù)時,正數(shù)的符號位為“0”,負(fù)數(shù)的符號位為“1”,數(shù)值位表示數(shù)的絕對值,這樣就得到了數(shù)的原碼。例如在八位微機(jī)中:[+38]原=[+100110]原=00100110B[-38]原=[-100110]原=10100110B4
帶符號數(shù)的原碼、反碼、補(bǔ)碼
第三十二頁,共87頁。計算公式:對于字長為n位的機(jī)器數(shù):當(dāng)真值X≥0時,X可表示為+Xn-2Xn-3…X0;當(dāng)真值X<0時,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可見n位原碼可表示數(shù)的范圍為:-(2n-1―1)~+(2n-1―1)則在八位微機(jī)中,碼可表示數(shù)的范圍為-127至+127求真值:帶符號數(shù)的原碼表示法簡單易懂,而且與真值轉(zhuǎn)換方便。此公式第一項即是原碼,等號后面是由真值求原碼(負(fù))第三十三頁,共87頁。原碼的缺點(diǎn):
l
“0”的原碼有兩種形式,這在運(yùn)算中非常不方便。[+0]原=00000000B[-0]原=
10000000B,即分為+0和-0l
原碼在進(jìn)行兩個異符號數(shù)相加或兩個同符號數(shù)相減時,需做減法運(yùn)算,由于微機(jī)中一般只有加法器而無減法器,所以,為了把減法運(yùn)算轉(zhuǎn)變?yōu)榧臃ㄟ\(yùn)算就引入了反碼和補(bǔ)碼。原碼的用途:l
原碼做乘除法運(yùn)算方便,兩數(shù)的符號和數(shù)值分別處理積的符號為兩數(shù)符號位的異或運(yùn)算結(jié)果積的數(shù)值部分為兩數(shù)絕對值相乘的結(jié)果第三十四頁,共87頁。(2)反碼定義:正數(shù)的反碼表示與原碼相同;負(fù)數(shù)的反碼,可將負(fù)數(shù)原碼的符號位保持不變、數(shù)值位按位取反得到,或者將負(fù)數(shù)看作正數(shù)求原碼,再將所有位按位取反得到。因此,在n位機(jī)器數(shù)的計算機(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。第三十五頁,共87頁。例如八位微機(jī)中:[+11]原=00001011B[+11]反=00001011B[-11]原=10001011B[-11]反=11110100B[-38]原=10100110B[-38]反=11011001B[+127]原=01111111B[+127]反=01111111B[-127]原=11111111B[-127]反=10000000B[+0]原=00000000B[+0]反=00000000B[-0]原=10000000B[-0]反=11111111B求真值:由反碼求得原碼,再由原碼求得真值,即可得到反碼的真值。例如:反碼11011001B,符號位為1,將數(shù)值位按位取反,得到原碼10100110B,其真值為-0100110B即十進(jìn)制數(shù)-38。第三十六頁,共87頁。(3)補(bǔ)碼(難點(diǎn))定義:正數(shù)的補(bǔ)碼表示與原碼相同負(fù)數(shù)的補(bǔ)碼等于它的反碼末位加1即[X]補(bǔ)=[X]反+1例如:[+11]原=00001011B[+11]反=00001011B[+11]補(bǔ)=00001011B[-11]原=10001011B[-11]反=11110100B[-11]補(bǔ)=11110101B[+127]原=01111111B[+127]反=01111111B[+127]補(bǔ)=01111111B[-127]原=11111111B[-127]反=10000000B[-127]補(bǔ)=10000001B[+0]原=00000000B[+0]反=00000000B[0]補(bǔ)=00000000B[-0]原=10000000B[-0]反=11111111B[-128]補(bǔ)=10000000B第三十七頁,共87頁。補(bǔ)碼的含義:
以時鐘對時為例來說明,現(xiàn)由7點(diǎn)鐘調(diào)到4點(diǎn)鐘。
順時針調(diào):7+9=4(mod12)逆時針調(diào):7-3=4(mod12)由于時鐘上超過12點(diǎn)時就會自動丟失一個數(shù)12,這個自動丟失的數(shù)叫做“?!保╩odule,簡寫為mod)第三十八頁,共87頁。由補(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)
第三十九頁,共87頁。已知補(bǔ)碼求真值:已知正數(shù)的補(bǔ)碼求真值與原碼相同,只要將符號位的0變?yōu)椋ㄕ枺吹玫剿恼嬷怠?/p>
已知負(fù)數(shù)的補(bǔ)碼求真值方法1:將負(fù)數(shù)補(bǔ)碼的數(shù)值位按位取反再加1,將符號位的1變?yōu)椋ㄘ?fù)號),即得到它的真值。方法2:用公式:X=-(2n-[X]補(bǔ))
已知補(bǔ)碼為01111111B,其真值為+1111111B=+7FH已知補(bǔ)碼為11111111B,其真值為:10000000B+1=10000001B,其真值為—01H或:X=—(28—11111111B)=—(00H-FFH)=—1第四十頁,共87頁。小結(jié):已知帶符號數(shù)的機(jī)器數(shù)求真值1.已知正數(shù)的原碼、反碼、補(bǔ)碼求真值,只需將符號位的“0”改為正號“+”即可。2.已知負(fù)數(shù)的原碼,其真值只需將原碼的符號位的“1”改為負(fù)號“-”即可。3.已知負(fù)數(shù)的反碼,先將它變?yōu)樵a,再求真值?;蛴霉接嬎悖赫嬷祒=-(2n-1-[x]反)
4.已知負(fù)數(shù)的補(bǔ)碼,數(shù)值位取反加1,符號為改為-號,或用公式:X=-(2n-[X]補(bǔ))第四十一頁,共87頁。例:已知帶符號數(shù)的機(jī)器數(shù)為56H,求其真值。真值=+56H例:已知帶符號數(shù)的機(jī)器數(shù)為0D6H,求其真值。
若0D6H是原碼,則真值為:-56H
11010110B-1010110B
若0D6H是反碼,則真值為:-29H-(0FFH-0D6H)
若0D6H是補(bǔ)碼,則真值為:-2AH-(00H-0D6H)第四十二頁,共87頁。
當(dāng)n=8時,幾種碼的表示范圍原碼反碼補(bǔ)碼-127至+127-127至+127-128至+127
當(dāng)n=16時,幾種碼的表示范圍原碼反碼補(bǔ)碼-32767至+32767-32767至+32767-32768至+32767第四十三頁,共87頁。5
數(shù)的定點(diǎn)與浮點(diǎn)表示計算機(jī)中如何表示實數(shù)中的小數(shù)點(diǎn)呢?計算機(jī)中不用專門的器件表示小數(shù)點(diǎn),而是用數(shù)的兩種不同的表示法來表示小數(shù)點(diǎn)的位置。根據(jù)小數(shù)點(diǎn)的位置是否固定,數(shù)的表示方法分為定點(diǎn)表示和浮點(diǎn)表示,相應(yīng)的機(jī)器數(shù)稱為定點(diǎn)數(shù)和浮點(diǎn)數(shù)。任意一個二進(jìn)制數(shù)N均可表示為:N=S·2J其中:S稱為數(shù)N的尾數(shù),表示數(shù)N的全部有效數(shù)字,決定了N的精度。J稱為數(shù)N的階碼,底為2,指明了小數(shù)點(diǎn)的位置,決定了數(shù)N的大小范圍。第四十四頁,共87頁。sfs1s2…sm小數(shù)點(diǎn)隱含位置,定點(diǎn)純小數(shù)sfs1s2…sm小數(shù)點(diǎn)隱含位置,定點(diǎn)純整數(shù)(1)定點(diǎn)表示法計算機(jī)在處理定點(diǎn)數(shù)時,常把小數(shù)點(diǎn)固定在數(shù)值位的最后面或最前面,即分為定點(diǎn)純小數(shù)與定點(diǎn)純整數(shù)兩類,如圖1-6所示。例如:00011000B,如果看作定點(diǎn)純整數(shù),其真值為24看作定點(diǎn)純小數(shù),其真值為0.1875第四十五頁,共87頁。
(2)浮點(diǎn)表示法在浮點(diǎn)表示法中,小數(shù)點(diǎn)的位置是浮動的,階碼J可取不同的數(shù)值,則在計算機(jī)中除了要表示尾碼S,還要表示階碼J。因此,一個浮點(diǎn)數(shù)表示為階碼和尾數(shù)兩部分,尾數(shù)一般是定點(diǎn)純小數(shù),階碼是定點(diǎn)純整數(shù),其形式如圖1-7所示。小數(shù)點(diǎn)隱含位置
階符階碼尾符尾數(shù)
階碼部分尾數(shù)部分jfj1j2……jnsfs1s2……sm第四十六頁,共87頁。00001001100010101010100000000000B階符階碼尾符 尾數(shù)
(24位)(-469.375)10=(-111010101.011)22×2+92×2+1001B補(bǔ)[+1001B]補(bǔ)=00001001B例如,某計算機(jī)用32位表示浮點(diǎn)數(shù),尾數(shù)部分占24,為補(bǔ)碼定點(diǎn)純小數(shù);階碼為8位補(bǔ)碼定點(diǎn)純整數(shù)。用來表示一個數(shù)-469.375,先進(jìn)行變換:因此,數(shù)-469.375在該計算機(jī)中的浮點(diǎn)表示為:第四十七頁,共87頁。1.4.2計算機(jī)中的編碼ASCII碼:由七位二進(jìn)制編碼組成,共有128個字符編碼。包括圖形字符(字母、數(shù)字、其它可見字符共96個)和控制字符(回車、空格等共32個)其中數(shù)字0~9的ASCII碼為30H~39H,差30H字母A~F的ASCII碼為41H~46H,差37HD7位加奇偶校驗位:無校驗D7位補(bǔ)0奇校驗D7位使含1的個數(shù)為奇數(shù)個偶校驗D7位使含1的個數(shù)為偶數(shù)個例:30H00110000HD7補(bǔ)0為無校驗和偶校驗
10110000HD7補(bǔ)1為奇校驗1.4.2計算機(jī)中的編碼
第四十八頁,共87頁。BCD編碼:具有十進(jìn)制位權(quán)的二進(jìn)制編碼。最常見的是8421碼。(見書5-6頁)注意:0000B~1001B是0~9的BCD碼1010B~1111B是非BCD碼例:15的BCD碼為00010101B=15H15=0FH100=64H100的BCD碼為000100000000B=100H壓縮的BCD碼56H占一個存儲單元非壓縮BCD碼05H06H占兩個單元存儲方式第四十九頁,共87頁。邏輯運(yùn)算
1、與3、非
2、或4、異或算術(shù)運(yùn)算1.加/減運(yùn)算電路及二進(jìn)制無符號數(shù)四則運(yùn)算2.帶符號數(shù)補(bǔ)碼運(yùn)算及判OV3.BCD碼加/減法及十進(jìn)制調(diào)整4、算術(shù)運(yùn)算小結(jié)1.4.3計算機(jī)中的運(yùn)算
計算機(jī)中的運(yùn)算分為兩類:邏輯運(yùn)算:邏輯“與”、“或”、“非”、“異或”等算術(shù)運(yùn)算:加、減、乘、除運(yùn)算1.4.3計算機(jī)中的運(yùn)算第五十頁,共87頁。FAAiBiCiSiCi+1圖1-8全加器符號圖AiBiCiSiCi+10000111100110011010101010110100100010111全加器真值表
加/減運(yùn)算電路1.加/減運(yùn)算電路及二進(jìn)制無符號數(shù)的四則運(yùn)算第五十一頁,共87頁。減法的實現(xiàn)減法時SUB=1,有取反加1功能加法時SUB=0無取反加1功能求補(bǔ)電路第五十二頁,共87頁。進(jìn)/借位標(biāo)志CY=SUBC8SUBC8CY000011101110C7C8OV000011(負(fù))101(正)110SUB加/減標(biāo)志位0/1CyFAA6B6C6S6C7=1FAA1B1C1S1C2=1FAA0B0C0S0FAA7B7S7C8=1=1圖1-9八位微機(jī)加/減運(yùn)算電路OV=1=1溢出標(biāo)志OV=C7C8第五十三頁,共87頁。(1)加法運(yùn)算二進(jìn)制加法法則為:0+0=01+0=0+1=11+1=101+1+1=11二進(jìn)制無符號數(shù)的四則運(yùn)算第五十四頁,共87頁。例:二進(jìn)制無符號數(shù)加法被加數(shù)10111011B+加數(shù)00010110B進(jìn)位00111110和11010001B1、求187+22結(jié)果:11010001B即209SUB=0,C8=0,CY=02、求200+200被加數(shù)11001000B+加數(shù)11001000B進(jìn)位11001000和110010000B結(jié)果:SUB=0,C8=1,CY=1和=進(jìn)位值+8位和值=256+10010000B=400第五十五頁,共87頁。1101110100110100110001010000011010000011111被加數(shù)10111011B+加數(shù)00010110B進(jìn)位00111110和11010001B結(jié)果:11010001B即209SUB=0,C8=0,CY=0第五十六頁,共87頁。00010011100010011000010001011000100被加數(shù)11001000B+加數(shù)11001000B進(jìn)位11001000和110010000B10001001結(jié)果:SUB=0,C8=1,CY=1和=進(jìn)位值+8位和值=256+10010000B=400第五十七頁,共87頁。(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)制無符號數(shù)減法結(jié)果:無借位,差為10100101B即165直接減第五十八頁,共87頁。取反1101110100110100110100101001101011111001011機(jī)器算:難點(diǎn)被減數(shù)10111011B-減數(shù)00010110B借位標(biāo)志CY=SUBC8=11=0求補(bǔ)電路減法SUB=110101011加1第五十九頁,共87頁。被減數(shù) 10111011B=BBH11101001B取反+1 加1+
11101010B=EAH進(jìn)位 11111010差 10100101B=A5H求補(bǔ)- 減數(shù) 00010110B=16H對減數(shù)求補(bǔ)后,加被減數(shù)例:求187-22結(jié)果:10100101B即165無借位,SUB=1,C8=1,CY=0說明:直接相減無借位,求補(bǔ)相加有進(jìn)位,反之亦然。第六十頁,共87頁。計算22-187,即00010110B-10111011B時,有:
被減數(shù) 00010110B- 減數(shù) 10111011B01000100B 取反 +1 加1+ 01000101B進(jìn)位 00000100 差 01011011B此時,結(jié)果為01011011B,即91,不正確,Cy=C8⊕SUB,C8=0,SUB=1,CY=1因為有借位-256,所以,差=-256+91=-165求補(bǔ)第六十一頁,共87頁。(3)乘法運(yùn)算法則0×0=00×1=1×0=01×1=1被乘數(shù)1001B乘數(shù)×1011B100110010000+1001乘積1100011B常用算法:1、左移加2、右移加3、連加P129例4-22第六十二頁,共87頁。(4)定點(diǎn)整數(shù)除法運(yùn)算11100100011001011111011011010常用算法:1、移位相減法P130例4-232、連減P138例4-28第六十三頁,共87頁。定點(diǎn)補(bǔ)碼運(yùn)算定律:當(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ǔ)
如果X+Y,X-Y的值不在―2n―1~+(2n―1―1)范圍內(nèi)(n=8時[-128,127]),則機(jī)器就產(chǎn)生了溢出錯誤,上式不成立,運(yùn)算結(jié)果無意義。2.帶符號數(shù)定點(diǎn)補(bǔ)碼運(yùn)算及判OV第六十四頁,共87頁。溢出判別(overflow)若X±Y>2n-1-1,為正溢出;若X±Y<-2n-1,為負(fù)溢出。判溢出的方法:1、雙進(jìn)位位法(本書主要用此法判溢出)OV=C8C7C8、C7相同不溢出,不同溢出。2、雙符號位法——變形碼0V=Sf’SfSf’、Sf相同不溢出,不同溢出。(1)定點(diǎn)補(bǔ)碼加法
步驟:1、將X、Y(或-Y)轉(zhuǎn)換為補(bǔ)碼。2、進(jìn)行加法運(yùn)算,符號位參與運(yùn)算。
第六十五頁,共87頁。[例1-1]
在八位微機(jī)中,已知X=+76,Y=+23,求X+Y解:[X]補(bǔ)= 01001100B +[Y]補(bǔ)= 00010111B
01100011B[X]補(bǔ)+[Y]補(bǔ)=01100011B=[+99]補(bǔ)
=[(+76)+(+23)]補(bǔ)=[X+Y]補(bǔ)
雙進(jìn)位位法判溢出:OV=0∵C7=0,C8=0
[例1-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編寫出程序片段:MOVA,#76;(A)=4CH=01001100BADDA,#23;(A)=4CH+17H=63HOV=0或:MOVA,#4CH;(A)=4CH=01001100BADDA,#17H;(A)=63H真值補(bǔ)碼第六十六頁,共87頁。
[例1-5]在八位微機(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正溢出[例1-6]已知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ù)溢出兩個正數(shù)的和為負(fù)數(shù)兩個負(fù)數(shù)的和為正數(shù)兩個正數(shù)的和為負(fù)數(shù)兩個負(fù)數(shù)的和為正數(shù)溢出后,運(yùn)算結(jié)果無意義,需要將兩個操作數(shù)擴(kuò)大位數(shù)后,再算。例1-5可將76的補(bǔ)碼寫成004CH,69得補(bǔ)碼寫成0049H計算:
0000000001001100B+0000000001001001B
0000000010010101B=0095HC16C15OV=0,不溢出
例1-6同理,用16位二進(jìn)制數(shù)表示數(shù),-76得補(bǔ)碼為FFB4H-69的補(bǔ)碼為FFBBH,再算即可。
第六十七頁,共87頁。雙符號位法判斷溢出——變形碼用兩位來表示符號:00表示正號,11表示負(fù)號,稱為變形碼。用變形碼進(jìn)行加法運(yùn)算時,兩位符號位同數(shù)值位一起參加運(yùn)算,運(yùn)算后,若運(yùn)算結(jié)果的兩個符號位相同,則沒有溢出;若運(yùn)算結(jié)果的兩個符號位不同,則發(fā)生了溢出,運(yùn)算結(jié)果錯誤。用Sf'和Sf表示運(yùn)算結(jié)果的兩個符號位,則有:OV=Sf'⊕Sf第六十八頁,共87頁。[例1-7]在八位微機(jī)中,已知X=+76,Y=+69,求X+Y解: [X]補(bǔ) =01001100B[Y]補(bǔ) =01000101B [X]變形碼 =001001100B+ [Y]變形碼 =001000101B
010010001B因為Sf'=0,Sf=1,運(yùn)算后,根據(jù)Sf'⊕Sf=0⊕1=1設(shè)置OV=1,有溢出,結(jié)果錯誤。第六十九頁,共87頁。[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ǔ)
作加法,需人工求補(bǔ)做減法,機(jī)器自動求補(bǔ)第七十頁,共87頁。步驟:1、將X、Y(或-Y)轉(zhuǎn)換為補(bǔ)碼。2、進(jìn)行減法運(yùn)算,符號位參與運(yùn)算。判溢出的方法與加法相同[例1-9]已知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ǔ)編寫出程序片段:MOVA,#76;(A)=4CH=01001100BMOVB,#-23;(B)=0E9HCLRCSUBBA,B;(A)=4CH-0E9H=63HOV=04CH0E9H第七十一頁,共87頁。同補(bǔ)碼加法一樣,補(bǔ)碼的減法運(yùn)算也可能發(fā)生溢出,因為補(bǔ)碼的減法運(yùn)算是轉(zhuǎn)換成加法運(yùn)算來實現(xiàn)的,所以其溢出的判斷方法與加法相同。
[例1-11]已知X=+76,Y=-69,求X-Y解: [X]補(bǔ)= 01001100B
- [Y]補(bǔ)= 10111011B 01000100B 取反求補(bǔ)
+1 加1+ 01000101B
10010001B10010001B=[-111]補(bǔ)≠[X-Y]補(bǔ)因為C7=1,C8=0,則OV=1,發(fā)生溢出,結(jié)果錯誤。X-Y=145>127
典型算法:兩個帶符號數(shù)比較大小用S表示和的符號位,OV為溢出標(biāo)志位則:[X]補(bǔ)-[Y]補(bǔ)SOV比較結(jié)果00X>Y01X<Y10X<Y11X>Y第七十二頁,共87頁。(1)BCD碼的加法運(yùn)算在兩個數(shù)的BCD碼進(jìn)行加法運(yùn)算時,當(dāng)?shù)退奈缓透咚奈欢紵o進(jìn)位并且不超過9時,可得到正確的運(yùn)算結(jié)果。
[例1-13]已知X=63,Y=24,求X+Y解: [X]BCD碼 =01100011B+ [Y]BCD碼 =00100100B 進(jìn)位 0110000010000111B10000111B=[87]BCD碼=[63+24]BCD碼=[X+Y]BCD碼
3.BCD碼加法及十進(jìn)制調(diào)整第七十三頁,共87頁。
[例1-14]已知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例1-14中,低四位有進(jìn)位,高四位的值超過9,是非法碼,結(jié)果錯誤,需進(jìn)行調(diào)整。大家看到,在運(yùn)算中,當(dāng)?shù)退奈幌蛩母呶贿M(jìn)位時,是逢16進(jìn)位為1,即按照十六進(jìn)制的原則進(jìn)行的運(yùn)算,而BCD碼是十進(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。編寫出程序片段:MOVA,#68H;(A)=68H=01101000BADDA,#49H;(A)=B1HDAA;(A)=B1H+66H=17HCY=1代表100結(jié)果:117必須寫B(tài)CD碼不能寫真值第七十四頁,共87頁。(2)BCD碼的減法運(yùn)算兩個數(shù)的BCD碼進(jìn)行減法運(yùn)算時,
當(dāng)?shù)退奈换蚋咚奈欢疾恍杞栉粫r,可得到正確的運(yùn)算結(jié)果。
[例1-15]已知X=58,Y=25,求X-Y解: [X]BCD碼 =01011000B- [Y]BCD碼 =00100101B00110011B00110011B=[33]BCD碼=[58-25]BCD碼=[X-Y]BCD碼
當(dāng)?shù)退奈换蚋咚奈挥薪栉粫r,按十進(jìn)制運(yùn)算規(guī)則,向高位借1當(dāng)10,而計算機(jī)中按二進(jìn)制運(yùn)算規(guī)則進(jìn)行,借1當(dāng)作16,因此運(yùn)算后必須減6進(jìn)行調(diào)整。第七十五頁,共87頁。
[例1-16]已知X=68,Y=49,求X-Y解: [X]BCD碼 = 01101000B- [Y]BCD碼 = 01001001B差 00011111BAC=1,CY=0- 0110B 00011001B00011001B=[19]BCD碼=[68-49]BCD碼=[X-Y]BCD碼第七十六頁,共87頁。說明:如果指令系統(tǒng)中有BCD碼的減法調(diào)整指令,即可直接用該指令完成上述調(diào)整。如果指令系統(tǒng)中沒有BCD碼的減法調(diào)整指令,則不能用減法指令直接對兩個BCD碼進(jìn)行減法運(yùn)算,而需對減數(shù)求補(bǔ),進(jìn)行加法運(yùn)算,然后用加法運(yùn)算的調(diào)整指令進(jìn)行調(diào)整。對八位微機(jī),BCD碼的模為100(十進(jìn)制數(shù)),減去減數(shù)實現(xiàn)對減數(shù)的求補(bǔ)。為在八位加減運(yùn)算電路中運(yùn)算,將100表示成9AH,即10011010B,減去減數(shù)求補(bǔ)。第七十七頁,共87頁。[例1-17]已知X=68,Y=49,求X-Y解: [X]BCD碼 = 01101000B- [Y]BCD碼 = 01001001B模100 10011010B- [Y]BCD碼 = 01001001B+ 01010001B
10111001B調(diào)整 + 01100000B 1 00011001B
這樣,在程序中將BCD碼的減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,然后利用加法運(yùn)算的調(diào)整指令進(jìn)行調(diào)整,即可得到正確的結(jié)果。
求補(bǔ)編寫出程序片段:CLRCMOVA,#9AH;(A)=9AHMODSUBBA,#49H;(A)=51HBCDADDA,#68H;(A)=B9H非BCDDAA;(A)=19HBCDCPLC;CY=0無借位,差=19HBCD求補(bǔ)相加有進(jìn)位,直接相減位無借位,反之,有借位。第七十八頁,共87頁。算術(shù)運(yùn)算小結(jié)(結(jié)合黑板,舉例說明)1、求補(bǔ)碼與求補(bǔ)求補(bǔ)碼:已知真值求補(bǔ)碼求補(bǔ):兩個含義:減法變加法;減數(shù)變成模內(nèi)互補(bǔ)的數(shù)。對于無符號數(shù)來說,減去一個數(shù),在模內(nèi)運(yùn)算則等于加上一個與之互補(bǔ)的數(shù)。兩個互補(bǔ)的數(shù)的和等于模。對于帶符號數(shù),由于符號位與數(shù)值位一起參與運(yùn)算,當(dāng)不溢出時,運(yùn)算規(guī)律與無符號數(shù)相同。即把帶符號數(shù)當(dāng)作無符號數(shù)一樣處理。求補(bǔ)的含義轉(zhuǎn)換為:已知[X]補(bǔ),求[-X]補(bǔ),減變加即減正變加負(fù),減負(fù)變加正。例如:10-1=?按無符號做,10+255=9按帶符號數(shù)做,10+[-1]補(bǔ)=10+0FFH=9(模256丟失)第七十九頁,共87頁。
X-Y=X+2n-Y=2n+(X-Y)1、X>=Y,X-Y>=0,則X-Y=2n+(X-Y)=X-Y,進(jìn)位為2n,即模2n丟失,也即,X-Y=2n+(X-Y)>=2n
也即,直接相減沒借位,求補(bǔ)相加有進(jìn)位;2、X<Y,X-Y<0,則X-Y=2n+(X-Y)<2n也即,直接相減有借位,求補(bǔ)相加無進(jìn)位。
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 43710-2025科學(xué)數(shù)據(jù)安全審計要求
- 養(yǎng)殖庫房出售合同范本
- 單位鍋爐人員合同范本
- 個體工商合同范本
- 專業(yè)白蟻防治服務(wù)合同范本
- 養(yǎng)老機(jī)構(gòu)銷售合同范本
- 醫(yī)療設(shè)備議標(biāo)合同范本
- 化工鋼材采購合同范例
- 介紹費(fèi)協(xié)議合同范本
- 勞務(wù)派遣合同勞動合同范本
- 福特福睿斯說明書
- 萬千教育學(xué)前幼兒園課程故事:支架教師的專業(yè)成長
- 健康教育知識講座高血壓
- BLM(含樣例)教學(xué)課件
- 居間協(xié)議書-五金工具銷售服務(wù)
- 企業(yè)數(shù)字化轉(zhuǎn)型之路燈塔工廠專題報告
- 酒店賓客意見表
- 低溫恒溫槽日常維護(hù)保養(yǎng)
- 一年級語文《端午粽》說課課件
- NB/T 11261-2023煤礦凍結(jié)孔施工及質(zhì)量驗收規(guī)范
- 市政道路工程城市道路施工組織設(shè)計
評論
0/150
提交評論