(完整word版)微機(jī)原理與接口技術(shù)教案_第1頁
(完整word版)微機(jī)原理與接口技術(shù)教案_第2頁
(完整word版)微機(jī)原理與接口技術(shù)教案_第3頁
(完整word版)微機(jī)原理與接口技術(shù)教案_第4頁
(完整word版)微機(jī)原理與接口技術(shù)教案_第5頁
已閱讀5頁,還剩153頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

(完整word版)微機(jī)原理與接口技術(shù)教案(完整word版)微機(jī)原理與接口技術(shù)教案第-PAGE125-頁(完整word版)微機(jī)原理與接口技術(shù)教案第____1____次課授課題目(章、節(jié))第一章微機(jī)基礎(chǔ)1.1-1.2教學(xué)主要內(nèi)容及重點(diǎn)難點(diǎn):主要內(nèi)容:引言、微機(jī)發(fā)展概述、微機(jī)應(yīng)用、進(jìn)位計(jì)數(shù)制、常用編碼重點(diǎn):進(jìn)位計(jì)數(shù)制、常用編碼難點(diǎn):本講介紹:熟悉學(xué)生情況,介紹本課程的主要內(nèi)容和章節(jié)劃分,使學(xué)生了解對本課程的重點(diǎn)難點(diǎn)分布有一定了解;微機(jī)發(fā)展概述、微機(jī)應(yīng)用、進(jìn)位計(jì)數(shù)制、常用編碼.導(dǎo)言微機(jī)是本世紀(jì)科學(xué)技術(shù)最卓越的成就之一。隨著技術(shù)的發(fā)展,微機(jī)的應(yīng)用領(lǐng)域已經(jīng)擴(kuò)展到了各行各業(yè)。本課程作為計(jì)算機(jī)專業(yè)的一門技術(shù)基礎(chǔ)課,是讓學(xué)生了解微機(jī)的工作原理,建立微機(jī)工作的整體概念.而對于微機(jī)的應(yīng)用宏觀上可以分為軟件領(lǐng)域和硬件領(lǐng)域:軟件方面廣義上說是程序設(shè)計(jì),而硬件方面可以說是接口技術(shù)。所以本書可以分為三部分內(nèi)容:1。微機(jī)基礎(chǔ)知識與工作原理;2。匯編語言程序設(shè)計(jì);3.接口知識。第一章微機(jī)基礎(chǔ)第一節(jié)微機(jī)概述一、微機(jī)發(fā)展概述1.計(jì)算機(jī)發(fā)展的四代自從1946年第一臺電子計(jì)算機(jī)(ENIAC)問世以來,不過半個世紀(jì),現(xiàn)在已經(jīng)深入各行各業(yè)、各個領(lǐng)域。計(jì)算機(jī)技術(shù)在發(fā)展過程中經(jīng)歷了四代的變化:a。電子管(絕緣導(dǎo)線連接的電子管、繼電器存儲器,BUG的誕生);b。晶體管(印刷電路板);c.集成電路(多層印刷電路板);d.大規(guī)模超大規(guī)模集成電路.對比一下:性能方面,最初的ENIAC時鐘頻率100kHz占地140平方米、重30噸;而現(xiàn)在的納米制程可以在火柴盒大小的芯片上集成幾千萬個晶體管。主頻由以MHz為單位過渡到GHz為單位(主頻之爭);INTEL的T計(jì)劃:超線程技術(shù)HT、64為方案EM64T、安全技術(shù)(殺毒軟件和硬件防火墻)LT、虛擬化技術(shù)VT(單臺電腦分割為多個獨(dú)立分區(qū),每個分區(qū)均可以按照需要模擬電腦的一項(xiàng)技術(shù)。)、主動管理技術(shù)AMT(遠(yuǎn)程管理和修復(fù)聯(lián)網(wǎng)的計(jì)算機(jī)系統(tǒng))2。微機(jī)組成微機(jī)(微型計(jì)算機(jī))是第四代計(jì)算機(jī)的典型代表,與PC(個人電腦)在概念上有重復(fù),而不同于計(jì)算機(jī)(計(jì)算機(jī)按規(guī)模可分為巨型、大型、小型、工作站、微型機(jī))。比較典型的深藍(lán)、銀河都是巨型機(jī)。而單片機(jī)是微機(jī)家族中比較引人注目的一個成員。所謂單片機(jī)就是把的各個功能部件集成在一個芯片上構(gòu)成具有計(jì)算機(jī)完整功能的一種微機(jī)。從計(jì)算機(jī)體系結(jié)構(gòu)上來說:微機(jī)由運(yùn)算器、控制器、存儲器、輸入設(shè)備、輸出設(shè)備組成;具體來說由CPU、主板、內(nèi)存、硬盤、光驅(qū)、顯卡、聲卡等組成,這些設(shè)備我們后面作介紹。二、微機(jī)應(yīng)用1。工控利用微機(jī)即使檢測和收集某一生產(chǎn)活動中某些必要數(shù)據(jù),并按最佳狀況進(jìn)行自動調(diào)節(jié)和控制,稱為實(shí)時控制或過程控制。工控涵蓋面很廣,以微機(jī)為中心包括測和控兩個方面。2.事務(wù)處理微機(jī)從事對數(shù)據(jù)(信息)的非數(shù)值處理:錄入、排序、分類、統(tǒng)計(jì)、修改、檢索、輸出等。財務(wù)管理、信息管理。涉及數(shù)據(jù)庫、網(wǎng)絡(luò)技術(shù)。3.計(jì)算機(jī)輔助CAX計(jì)算機(jī)輔助設(shè)計(jì)CADAUTOCAD3DMAX計(jì)算機(jī)輔助制造CAM數(shù)控機(jī)床計(jì)算機(jī)輔助教學(xué)CAI多媒體課件、模擬機(jī)第二節(jié)計(jì)算機(jī)中數(shù)的表示和編碼計(jì)算機(jī)中的數(shù)是用物理狀態(tài)來表示的,所以二進(jìn)制是最合適的(開關(guān)的閉合打開、電平的高低、頻率的快慢)。就如黑客帝國片頭一樣,計(jì)算機(jī)眼中的世界是0和1組成的,這也是學(xué)習(xí)計(jì)算機(jī)往往先從二進(jìn)制開始;雖然計(jì)算機(jī)發(fā)展方向是擬人化、智能化、但作為計(jì)算機(jī)專業(yè),尤其是學(xué)習(xí)微機(jī)原理時二進(jìn)制是必須熟練掌握的。一、計(jì)算機(jī)中的進(jìn)位計(jì)數(shù)制(4種)十進(jìn)制―人常用;2進(jìn)制―機(jī)器用;16/8進(jìn)制―代替二進(jìn)制方便書寫閱讀1.進(jìn)位計(jì)數(shù)制的表示方法1)十進(jìn)制D用十個符號表示數(shù)0。1.2。3……9這些符號稱為數(shù)碼,數(shù)碼的個數(shù)稱為基數(shù)基數(shù)為10遵從“逢十進(jìn)一”規(guī)則9+1=10在一個數(shù)中,數(shù)碼表示的值不僅取決于本身,還取決于它的位置.即每一位有各自的權(quán)10n例如123=1×102+2×101+3×1001.25=1×100+2×10-1+5×10-2推廣N=an—1*10^n—1+an—2*10^n—2+……+a0*100+a—1*10—1+……+a-m*10^—m2)二進(jìn)制B用兩個符號表示數(shù)0和1基數(shù)為2遵從“逢二進(jìn)一"規(guī)則1+1=10每一位有各自的權(quán)2n例如:101。01B=1×22+0×21+1×20+0×2-1+1×2—2=5.25D這也是二—〉十進(jìn)制轉(zhuǎn)換的一種方法練習(xí):110。101B=6。625D小數(shù)點(diǎn)右移相當(dāng)于×2小數(shù)點(diǎn)左移相當(dāng)于÷2但這是有一定限制條件的3)十六進(jìn)制H用十六個符號表示數(shù)0、1~9、A~F基數(shù)為16遵從“逢十六進(jìn)一”規(guī)則F+1=10每一位有各自的權(quán)16n例如:2A.B1H=2×161+A×160+B×16—1+1×16-2=42(177/256)D這也是十六-〉十轉(zhuǎn)換的一種方法練習(xí):A4.E5H=164(229/256)D小數(shù)點(diǎn)右移相當(dāng)于×16小數(shù)點(diǎn)左移相當(dāng)于÷16純字母的十六進(jìn)制數(shù)前要加0,和字符串區(qū)別.0ABH4)八進(jìn)制O(為了和0區(qū)別也可使用Q)用八個符號表示數(shù)0、1~7基數(shù)為8遵從“逢八進(jìn)一”規(guī)則7+1=10每一位有各自的權(quán)8n例如:62。5Q=6×81+2×80+5×8—1=50(5/8)D這也是八—>十轉(zhuǎn)換的一種方法練習(xí):125.63Q=85(51/64)D小數(shù)點(diǎn)右移相當(dāng)于×8小數(shù)點(diǎn)左移相當(dāng)于÷82.R進(jìn)制(二、八、十六)轉(zhuǎn)換為十進(jìn)制常用方法就是使用按權(quán)展開式11.01B=1×21+1×20+0×2-1+1×2-2=3.25D3.十進(jìn)制轉(zhuǎn)換為R進(jìn)制(二、八、十六)注意:轉(zhuǎn)換時候整數(shù)和小數(shù)需要分別處理1)整數(shù)的轉(zhuǎn)換第一方法:除R取余將十進(jìn)制數(shù)N不斷的除以R取其余數(shù),將得到的余數(shù)a0a1……an逆向排列得到最終的R進(jìn)制數(shù)an……a1例如:59D—〉?B1〈—3<—7<-14〈—29〈-59÷2÷2÷2÷2÷2a5=1a4=1a3=1a2=0a1=1a0=1取余數(shù)59D=111011B第二方法:根據(jù)權(quán)作減(常用于二進(jìn)制)26=6425=3224=1623=822=421=220=1011101159-32=27-16=11-8=3-2=1練習(xí):91D=1011011B50D=110010B八進(jìn)制和十六進(jìn)制方法是一樣的,這里就不再舉例了。2)小數(shù)的轉(zhuǎn)換方法:乘R取整將十進(jìn)制的小數(shù)不斷乘以R取其乘積的整數(shù),順序得到整數(shù)a—1a—2……a-m就是結(jié)果.(例如:0。625D—>?B0。625—>0.25—〉0.5-〉0×2×2×2a-1=1a—2=0a—3=1a-4=0取整數(shù)0。625D=0.101B注意:小數(shù)轉(zhuǎn)換時,可能會無限進(jìn)行下去,我們?nèi)〗浦稻涂梢?。練?xí):0.875D=0.111B4.二進(jìn)制與八進(jìn)制、十六進(jìn)制的轉(zhuǎn)換1)二進(jìn)制〈-—〉十六進(jìn)制將二進(jìn)制數(shù)從小數(shù)點(diǎn)位開始,向左每4位產(chǎn)生一個十六進(jìn)制數(shù)字,不足4位的左方補(bǔ)0,得到整數(shù)部分;向右每4位產(chǎn)生一個十六進(jìn)制數(shù)字,不足4位的右方補(bǔ)0,得到小數(shù)部分.例如:00101101。01101000B=2D.68H練習(xí):10110011。0010101B=B3。2AH2)二進(jìn)制〈-—〉八進(jìn)制與上基本相同,只要按3位分割即可。例如:10110011。0010101B=263.124Q練習(xí):101101.01101B=55.32Q二、計(jì)算機(jī)中常用的編碼1.數(shù)字編碼BCD碼計(jì)算機(jī)中十進(jìn)制數(shù)的十個數(shù)碼使用二進(jìn)制編碼表示,簡稱BCD碼。書上的說法有點(diǎn)問題,實(shí)際上最初的BCD碼有很多種,(1可以用0001表示,也可以用0110表示)最常用的是8421BCD碼(按每位的權(quán)),現(xiàn)在提到BCD碼,一般就是指8421BCD碼。例如:891。45D=100010010001。01000101BCD練習(xí):125。68D=000100100101。01101000BCD2.字符編碼ASCII碼計(jì)算機(jī)中的字母、數(shù)字、符號都是按照特定的規(guī)則用二進(jìn)制編碼表示的。最常用的規(guī)則就是ASCII碼(美國信息交換標(biāo)準(zhǔn)碼),ASCII碼是7位編碼,詳見書后的附錄.注意的是:數(shù)字的ASCII碼和BCD等其他編碼不同。例如:3D〈=>0011BCD<=>00110011ASCII一般來說,輸入輸出使用ASCII碼,而運(yùn)算時候使用BCD等其他編碼。正是因?yàn)閿?shù)據(jù)編碼的不一致,代碼轉(zhuǎn)換是一個很重要的問題(匯編中需要編程者自己解決)。3。漢字編碼1)外部碼計(jì)算機(jī)輸入漢字時使用的編碼,是代表漢字的一組鍵盤符號,分為:音碼:以漢語拼音作為輸入編碼.紫光、智能ABC、微軟拼音。形碼:把漢字拆成若干字根.五筆.張音碼zhang形碼xt一般來說,音碼易學(xué)、重碼高、速度慢;形碼難學(xué)、重碼低、速度快。2)內(nèi)部碼計(jì)算機(jī)內(nèi)部存儲和處理漢字使用的編碼.同一漢字外部碼可以不同,但是內(nèi)部碼是一致的。使用兩個字節(jié)空間的編碼。簡體:國標(biāo)碼GB2312-80繁體:BIG53)輸出碼又稱字型碼,漢字的顯示編碼。(各種字體、字庫)。M×N的矩陣。第____2____次課授課題目(章、節(jié))第一章微機(jī)基礎(chǔ)1。2-1。3教學(xué)主要內(nèi)容:帶符號數(shù)的表示、定點(diǎn)和浮點(diǎn)數(shù)、微機(jī)名次術(shù)語、組成、工作原理和軟件系統(tǒng)重點(diǎn):帶符號數(shù)的表示、定點(diǎn)和浮點(diǎn)數(shù)、微機(jī)組成、工作原理難點(diǎn):定點(diǎn)和浮點(diǎn)數(shù)復(fù)習(xí)上講:微機(jī)發(fā)展概述、微機(jī)應(yīng)用、進(jìn)位計(jì)數(shù)制、常用編碼本講介紹:帶符號數(shù)的表示、定點(diǎn)和浮點(diǎn)數(shù)、微機(jī)名次術(shù)語、組成、工作原理和軟件系統(tǒng)我們前面所提到的都是無符號正數(shù),那么有符號的正負(fù)數(shù)怎樣表示呢?三、帶符號數(shù)的表示1.機(jī)器數(shù)與真值我們把數(shù)的符號(+-)也數(shù)碼化,即用二進(jìn)制數(shù)表示,一般使用0表示正,1表示負(fù).81D=1010001B+81=01010001B—81=11010001B等號右邊數(shù)碼化的數(shù)稱為機(jī)器數(shù),等號左邊的實(shí)際數(shù)值稱為其真值。2。原碼(+127~-127)如上述形式最高位為符號位,其余為數(shù)值,這種表示法稱為原碼.+81和-81的低7位是相同的。原碼與真值轉(zhuǎn)換方便,但運(yùn)算必須有減法,不方便。練習(xí):±45原=00101101/101011013。反碼(+127~-127)正數(shù)的反碼與其原碼相同符號位0+數(shù)值位負(fù)數(shù)的反碼是對應(yīng)正數(shù)連同符號位按位取反符號位為1。+5反=00000101-5反=11111010+0反=00000000-0反=11111111+127反=01111111-127反=10000000練習(xí):±45反=00101101/11010010±56反=00111000/110001114.補(bǔ)碼(+127~-128)正數(shù)的補(bǔ)碼與其原碼相同符號位0+數(shù)值位負(fù)數(shù)的補(bǔ)碼是對應(yīng)正數(shù)的反碼加1符號位為1。+5補(bǔ)=00000101-5補(bǔ)=11111011+0補(bǔ)=00000000-0補(bǔ)=00000000-128補(bǔ)=10000000練習(xí):±45反=00101101/11010011±67反=01000011/10111101特點(diǎn):a.0的補(bǔ)碼是唯一的,而原碼和反碼都有2個;b.補(bǔ)碼的表示范圍最大,可以表示-128;c。已知補(bǔ)碼求其真值,同樣取反加1;下例括號內(nèi)為取反加1值例如:X補(bǔ)=10010101X=-(01101011)=-107d。補(bǔ)碼運(yùn)算只有加法[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)5.移碼移碼和補(bǔ)碼基本相同,只是符號位相反。+5補(bǔ)=00000101+5移=10000101作業(yè)二-〉十/十六10110101B=181=B5H0.101B=0.625=0。AH十—〉二/十六100=01100100B=64H0.75=0.11B=0。CH四、數(shù)的定點(diǎn)表示和浮點(diǎn)表示計(jì)算機(jī)中涉及到小數(shù)時,有兩種表示方法.顧名思義。定點(diǎn)數(shù):小數(shù)點(diǎn)位置固定不變。浮點(diǎn)數(shù):小數(shù)點(diǎn)位置是浮動的。1.定點(diǎn)表示有三種用法a。定點(diǎn)整數(shù)小數(shù)點(diǎn)位置固定在最后,不占存儲空間,表示一個純整數(shù)。符號尾數(shù)符號尾數(shù)符號0正1負(fù)尾數(shù)常用原碼小數(shù)點(diǎn)在最后一位之后b。定點(diǎn)小數(shù)小數(shù)點(diǎn)位置固定在符號位后,不占存儲空間,表示一個純小數(shù)。符號尾數(shù)符號尾數(shù)符號0正1負(fù)小數(shù)點(diǎn)在最后一位之后尾數(shù)常用原碼c。普通小數(shù)小數(shù)點(diǎn)的位置由程序員預(yù)定,不占存儲空間.符號4位3位符號4位3位符號0正1負(fù)(1位)小數(shù)點(diǎn)可移植性不好,不常用。2.浮點(diǎn)表示a。浮點(diǎn)數(shù)形式浮點(diǎn)數(shù)類似與十進(jìn)制的科學(xué)計(jì)數(shù)法十進(jìn)制的科學(xué)計(jì)數(shù)法:N=3.1415×102二進(jìn)制可以同樣表示:N=S×2P1011.01=1.01101×23因?yàn)?是固定的,所以我們只保存尾數(shù)S和階碼P。階符階碼尾符尾碼階符階碼尾符尾碼階碼常用補(bǔ)碼表示尾碼常用原碼表示而階碼尾碼占的空間不同機(jī)器是不同的,有32位短實(shí)數(shù),64位長實(shí)數(shù)階12尾52,80位臨時實(shí)數(shù)。b。浮點(diǎn)數(shù)規(guī)格化所謂的規(guī)格化浮點(diǎn)數(shù)就是絕對值0。5≤X≤1,因?yàn)槭褂迷a表示尾數(shù),所以最高位為1。例如:0.001001×21=0.1001×2-1小數(shù)點(diǎn)左移,階碼加1,小數(shù)點(diǎn)右移,階碼減1。階符1階碼11111111111尾符0尾碼10010000……0047個第三節(jié)微機(jī)的一般概念一、計(jì)算機(jī)的基本組成和工作原理1。計(jì)算機(jī)的基本組成半個多世紀(jì)以來,盡管計(jì)算機(jī)性能不斷提高、體系結(jié)構(gòu)也有了一些變化,但從本質(zhì)上說,現(xiàn)代計(jì)算機(jī)的結(jié)構(gòu)基礎(chǔ)仍然是馮.諾依曼體系結(jié)構(gòu)。以存儲器為中心運(yùn)算器控制器輸入設(shè)備輸出設(shè)備五部分組成。詳見p12圖1-12.工作原理馮。諾依曼體系結(jié)構(gòu)的計(jì)算機(jī)工作原理可概括為“存儲程序”和“程序控制”兩句話.存儲程序指把已經(jīng)編好的程序和數(shù)據(jù)一起送到存儲器中保存起來.程序控制指控制器按照存儲程序中的指令順序周而復(fù)始的取出指令、分析指令、執(zhí)行指令。二、微機(jī)結(jié)構(gòu)與相關(guān)名詞術(shù)語1.微機(jī)在不受人工干預(yù)的情況下,自動完成算術(shù)、邏輯運(yùn)算的設(shè)備稱為計(jì)算機(jī).通過總線把I/O接口電路、CPU、存儲器有機(jī)結(jié)合在一起,即構(gòu)成微機(jī).把微機(jī)加上I/O設(shè)備、軟件系統(tǒng)、電源就構(gòu)成微機(jī)系統(tǒng)。2.微機(jī)結(jié)構(gòu)總線型結(jié)構(gòu)即CPU、存儲器、接口都是通過總線相連的.詳見p15圖1-23.總線與系統(tǒng)主板a.總線連接各個功能部件的一組公共信號線。一般分為三類:數(shù)據(jù)總線DB:用于雙向傳送數(shù)據(jù).與字長相關(guān),一般=字長.地址總線AB:用于傳送地址信號,以尋址存儲器和外設(shè)。與尋址能力相關(guān)20條220=1M控制總線CB:用于傳送各種控制信號,WR、RD、INT。b.主板總線由主板印刷電路板物理實(shí)現(xiàn)。主板是機(jī)箱中最大的一塊集成電路板,在它上面集成有CPU插座,存儲器插座、擴(kuò)展版插座(顯卡、聲卡、網(wǎng)卡)、I/O系統(tǒng)、總線系統(tǒng)(PCI、USB等)、電源接口等(相當(dāng)于軀干)。管理這些不同的設(shè)備需要不同的基本功能芯片,象并行口8255、定時器/計(jì)數(shù)器8253、中斷8259等,這些芯片形成了主板的芯片組(南北橋)。4。微處理器CPUPC機(jī)的核心,廣告中第一條就是采用了什么樣的CPU(不要忽略其他)。a。相關(guān)知識主頻也叫時鐘速度(ClockSpeed),表示在CPU內(nèi)數(shù)字脈沖信號振蕩的速度。主頻越高,CPU在一個時鐘周期內(nèi)所能完成的指令數(shù)也就越多,CPU的運(yùn)算速度也就越快。CPU主頻的計(jì)算公式為主頻=外頻×倍頻.外頻是CPU與主板之間同步運(yùn)行的速度,目前絕大部分電腦系統(tǒng)中外頻也是內(nèi)存與主板之間同步運(yùn)行的速度。倍頻是CPU的運(yùn)行頻率與整個系統(tǒng)外頻之間的倍數(shù)。高倍頻會出現(xiàn)明顯的“瓶頸”(CPU從系統(tǒng)中得到的數(shù)據(jù)的極限速度不能夠滿足CPU運(yùn)算的速度)效應(yīng)。前端總線指的是數(shù)據(jù)傳輸?shù)乃俣扰c外頻不同。例如800MHz外頻特指數(shù)字脈沖信號在每秒鐘震蕩8000萬次,而800MHz前端總線則指的是每秒鐘CPU可接受的數(shù)據(jù)傳輸量是800MHz×64bit÷8bit/Byte=6400MB。就處理器速度而言,前端總線比外頻更具代表性。制造工藝0.09μm。CPU的核心面積可以做得更小,更加省電,因此發(fā)熱量有望進(jìn)一步降低,而頻率可再次提升。(超頻)指令集是為了增強(qiáng)CPU在某些方面的功能而特意開發(fā)的一組程序代碼集合。MMX(多媒體擴(kuò)展)指令集是Intel公司1996年推出的一項(xiàng)多媒體指令增強(qiáng)技術(shù)。SSE(單指令多數(shù)據(jù)流擴(kuò)展)指令集和SSE2指令集多媒體應(yīng)用起到全面強(qiáng)化的作用。SSE3指令集有助于增加Intel超線程HT的處理能力。AMD的3DNow!指令集提高3D處理性能.CPU插座INTEL的LGA775又稱SocketT,是英特爾公司最新規(guī)格的處理器插座,用作取代Socket478。它最大不同的地方是,其針腳設(shè)在底板上,CPU自身不帶針腳。AMD的SocketAM2插槽標(biāo)準(zhǔn)。940個針腳插孔,取代原有的Socket754和Socket939。b.CPU結(jié)構(gòu)寄存器陣列RS算術(shù)邏輯運(yùn)算單元ALU內(nèi)部總線緩沖器控制器(指令寄存器IR、指令譯碼器ID、控制信號產(chǎn)生電路PLA)詳見P16圖1-35.存儲器衡量存儲器的標(biāo)準(zhǔn)有容量速度成本(千年蟲)a。三級存儲體系①高速緩存(cache)位于CPU內(nèi)部,速度快(同CPU相同速度工作)、容量小、成本高.緩存分為兩種,即L1Cache(一級緩存)和L2Cache(全速二級緩存)。Pentium和賽揚(yáng)的區(qū)別就在緩存。②內(nèi)存:以內(nèi)存條形式提供,介于高速緩存和外存之間。分為兩類RAM隨機(jī)存儲器,ROM只讀存儲器。DDRSDRAM是是目前最流行的內(nèi)存。它允許在時鐘脈沖的上升沿和下降沿傳輸數(shù)據(jù),這樣不需要提高時鐘的頻率就能成倍提高SDRAM(同步動態(tài)隨機(jī)存取存儲器)的速度,并具有比SDRAM多一倍的傳輸速率和內(nèi)存帶寬.DDR400的數(shù)據(jù)吞吐率=200MHz×2×64bit÷8bit/Byte=3.2GB/S所以與P4配合組建雙通道是必要的.而賽揚(yáng)533MHz×64bit÷8bit/Byte=4.2GB/S③外存:包括硬盤和光盤.硬盤:硬盤是一個密封好的大鐵盒子,在硬盤內(nèi)部被抽成真空的,硬盤盤片放置在主軸電機(jī)上,磁頭和盤片保持著極微小的距離(這個距離比一根頭發(fā)絲還要細(xì)).當(dāng)硬盤工作時,主軸電機(jī)帶動著盤片高速旋轉(zhuǎn),通常這個速度為5400rm/s或7200rm/s,甚至高達(dá)10000rm/s,而磁頭隨著機(jī)械臂在盤片上移動,讀取保存在盤片上的數(shù)據(jù)。平均尋道時間指硬盤在盤面上移動讀寫頭至指定磁道尋找相應(yīng)目標(biāo)數(shù)據(jù)所用的時間,它描述硬盤讀取數(shù)據(jù)的能力,單位為ms.緩存。并口硬盤ATA(IDE)和串口硬盤。ATA-133只能接4個設(shè)備,最高外部數(shù)據(jù)吞吐率為133MB/S,而SATA理論上沒有限制,1。0標(biāo)準(zhǔn)仍可達(dá)到150MB/s,未來的SATA2。0/3。0更可提升到300以至600MB/s。而最大內(nèi)部數(shù)據(jù)傳輸率一般小于上述速度,是瓶頸。光盤:分為和DVD.用激光讀取盤片的凹凸點(diǎn)。價格便宜,而且網(wǎng)絡(luò)的出現(xiàn),使用率降低,所以不太關(guān)心相關(guān)參數(shù)。光盤的軌道是螺旋型中心向外發(fā)散(由中心向外擦),而硬盤是同心圓。CD單倍速為150KB/s,而DVD單倍速相當(dāng)于CD的9倍為1。35MB/S.區(qū)碼限制:CSS規(guī)定,軟硬件都必須同時經(jīng)過授權(quán)認(rèn)證才可以成功地解碼播放DVD影片,也就是說DVD—ROM、DVD硬解壓卡和DVD播放軟件都必須同時通過區(qū)碼的授權(quán)。b。存儲器的地址與內(nèi)容假設(shè)CPU有8條DB和8條AB,則最大可以尋址28=256的存儲單元,每個單元有自己唯一的地址(00H~0FFH),可以存放一個8位二進(jìn)制信息;地址和信息是不同的,詳見p16圖1-4讀寫過程:AB選通單元,CB發(fā)控制信號,DB送數(shù)據(jù)。6.顯示子系統(tǒng)a.顯卡顯卡擁有自己的圖形函數(shù)加速器和顯存,用來執(zhí)行圖形加速任務(wù)。主流顯卡都是PCI-E16×帶寬250MB/S×16=4GB/S,將來32×。AGP8×帶寬66MHZ×32/8=2.1GB/S指標(biāo):核心頻率(超頻)顯示芯片位寬(和CPU字長類似)雙256顯存容量、頻率、顯存帶寬=顯存頻率×顯存位寬÷8b.顯示器CRT陰極射線管顯示器尺寸和可視面積:對角線長度,可視面積要略小于實(shí)際尺寸。分辨率:分辨率是屏幕上可以容納像素點(diǎn)的總和。點(diǎn)距:點(diǎn)距一般是指顯像管水平方向上相鄰?fù)袼亻g的距離.刷新頻率:掃描完整個屏幕為一次刷新,每秒鐘掃完屏幕的次數(shù).視頻帶寬:理論上視頻帶寬=水平像素×垂直像素×刷新頻率。顯像管類型:分為球型和平面直角型兩種.LCD液晶顯示器尺寸和可視面積:對角線長度,可視面積一般等于實(shí)際尺寸。分辨率:廠商會提供最佳的分辨率,無特殊情況最好使其工作在最佳分辨率狀態(tài)下,否則會出現(xiàn)錯誤.亮度與對比度:是液晶顯示器較重要的技術(shù)指標(biāo)之一,因?yàn)橐壕П旧硎遣话l(fā)光的,而是考后面的光源(4個燈管),亮度單位CD/m2;液晶顯示器的對比度愈高,顯示的效果也越佳400:1。響應(yīng)時間以ms(毫秒)為單位,是指一個亮點(diǎn)轉(zhuǎn)換為暗點(diǎn)的速度.壞點(diǎn)是指顏色不會再發(fā)生任何變化的點(diǎn)。可視角度:CRT顯示器有180O的可視角度,而液晶顯示器可視角度小一些,當(dāng)人眼與顯示屏之間的角度稍大一點(diǎn)時,就無法看清顯示的內(nèi)容。7.聲音子系統(tǒng)a。聲卡插口:SPEAKER用于連接音響設(shè)備,標(biāo)準(zhǔn)的接口為綠色;LINEIN用于將品質(zhì)較好的聲音信號輸入到聲音處理芯片中,處理后錄制成文件,標(biāo)準(zhǔn)的接口為藍(lán)色;MICIN用于連接話筒,輸入外界語音以制成文件或配合語音軟件進(jìn)行語音識別,標(biāo)準(zhǔn)的接口顏色為紅色。除此以外還有一個MIDI/游戲搖桿接口,可以連接電子合成樂器實(shí)現(xiàn)在電腦上進(jìn)行MIDI音樂信號的傳輸和編輯,游戲搖桿和MIDI共用一個接口。LINEOUT與SPEAKER類似。聲道:5.1。b.音箱聲道:5。1.材質(zhì)、功率、失真度、防磁.8。網(wǎng)絡(luò)設(shè)備網(wǎng)卡:100M,接口RJ—45雙絞線;ADSLMODEM:外置。9.機(jī)箱和電源(小的方面侃價注意質(zhì)量)機(jī)箱重就好(38OC);電源注意安全認(rèn)證和功率(一般為峰值功率)。10。鼠標(biāo)和鍵盤手感四、微機(jī)工作過程是一個周而復(fù)始的取出指令、分析指令、執(zhí)行指令的循環(huán)。具體來說,程序計(jì)數(shù)器(PC)始終保存將要執(zhí)行指令的地址,首先通過PC從內(nèi)存中讀出指令到IR,由ID分析,根據(jù)分析結(jié)果,PLA(控制信號產(chǎn)生電路)產(chǎn)生信號執(zhí)行指令,接著進(jìn)入取下一指令階段。高級機(jī)器中,這些過程可以并行執(zhí)行。(8086)五、計(jì)算機(jī)軟件系統(tǒng)計(jì)算機(jī)軟件和硬件是相互依存的,硬件系統(tǒng)是為執(zhí)行程序建立的物理裝置,稱為裸機(jī)或硬核,沒有軟件什么也干不了。軟件系統(tǒng)分為系統(tǒng)軟件(為了使用和管理計(jì)算機(jī)的各種軟件)和應(yīng)用軟件(用戶自行編制的解決實(shí)際問題的)詳見p20圖1-8INTEL和AMD對抗了進(jìn)40年,AMD的總盈利在10億左右,但其阻止了第二個微軟的誕生。第____3____次課授課題目(章、節(jié))第一章微機(jī)基礎(chǔ)1。4教學(xué)主要內(nèi)容:8088/8086CPU的功能結(jié)構(gòu)和寄存器陣列重點(diǎn):8088/8086CPU的寄存器陣列難點(diǎn):復(fù)習(xí)上講:帶符號數(shù)的表示、定點(diǎn)和浮點(diǎn)數(shù)、微機(jī)名次術(shù)語、組成、工作原理和軟件系統(tǒng)本講介紹:8088/8086CPU的功能結(jié)構(gòu)和寄存器陣列第四節(jié)Intel8088/8086微處理器結(jié)構(gòu)本書中我們學(xué)習(xí)的軟件編程語言為匯編語言,作為面向硬件的低級語言,直接操作硬件(寄存器、存儲器的使用)是其最顯著的特點(diǎn)之一。所以微處理器結(jié)構(gòu)這一節(jié)的內(nèi)容可以說是匯編的硬件基礎(chǔ),寄存器的使用、存儲器的管理都應(yīng)該重點(diǎn)掌握。為什么介紹8088/8086?從CPU來講,在微機(jī)發(fā)展過稱中,最為成功的就是X86系列微機(jī)。從8位機(jī)8080、8085開始,16位機(jī)8088、8086、80286,32位機(jī)80386、80486、奔騰(586,這里IBM衰落和侵權(quán)問題)、Ppro(686)、PII、PIII現(xiàn)在發(fā)展到PIV。在一系列的CPU都屬于IA結(jié)構(gòu)的CPU,新型CPU結(jié)構(gòu)復(fù)雜且有知識保護(hù),而且8088/8086是IA結(jié)構(gòu)的基礎(chǔ),所以選取。這里我們以8088/8086為主,不介紹80286;8088和8086是基本相同的,最主要的區(qū)別是8088是準(zhǔn)16位機(jī)(字長16、DB8條、AB20條),而8086是16位機(jī)(字長16、DB16條、AB20條)。一。8088的功能結(jié)構(gòu)8088CPU可以分為BIU(總線接口單元)和EU(執(zhí)行單元)兩部分。詳見P22圖1-11BIU(總線接口單元)負(fù)責(zé)與存儲器、I/O端口的數(shù)據(jù)傳送包括:地址加法器、段寄存器、指令指針、指令隊(duì)列、總線控制邏輯操作:從內(nèi)存取指令送到指令隊(duì)列;配合執(zhí)行部件取操作數(shù)、存放結(jié)果。EU(執(zhí)行單元)負(fù)責(zé)指令的執(zhí)行包括:ALU、標(biāo)志寄存器、通用寄存器、數(shù)據(jù)暫存器、EU控制單元這樣取指令和執(zhí)行指令是并行工作的。8085和8088對比。8085執(zhí)行2取指令2執(zhí)行1取指令18085執(zhí)行2取指令2執(zhí)行1取指令1取指令4EU執(zhí)行4執(zhí)行3執(zhí)行2執(zhí)行1BIU取指令3取指令2取指令1取指令4EU執(zhí)行4執(zhí)行3執(zhí)行2執(zhí)行1BIU取指令3取指令2取指令1二。8088寄存器陣列內(nèi)部寄存器都是16位的.位b字節(jié)B字雙W字DW的大?。?10=1024與1000的使用(硬盤容量).1。數(shù)據(jù)寄存器AXBXCXDXa。用途屬于通用寄存器,用于暫存操作數(shù)、結(jié)果和指針b。結(jié)構(gòu)以AX為例,其他類似AHALAXAHAL既可作為一個16位整體使用,也可分為高低兩個8位寄存器使用。例如:MOVAX,BXMOVAL,BL都是正確的。c.特殊約定AX:累加器,算術(shù)運(yùn)算首選寄存器;BX:基址寄存器,存放地址作為指針使用;CX:計(jì)數(shù)器,在循環(huán)和串操作中保存次數(shù);DX:數(shù)據(jù)寄存器,用于32位擴(kuò)展和I/O指針。注意:以上是人為的約定,首選用途,挪作他用同樣可以。2。變址寄存器源變址寄存器SI目的變址寄存器DIa。用途和結(jié)構(gòu)16位寄存器屬于通用寄存器b.特殊約定在串操作中做專用寄存器SI存放源串首地址DI存放目的串首地址3.指針寄存器堆棧指針SP基址指針BPa.用途和結(jié)構(gòu)16位寄存器屬于通用寄存器b.特殊約定作為操作堆棧的寄存器堆棧:內(nèi)存中一個連續(xù)若干單元的專用數(shù)據(jù)區(qū),稱為堆?;驐?;201H202H201H202H203H204H205H206H207H208HSP->SP=205HSP-1結(jié)構(gòu):由棧頂起,高地址向低地址擴(kuò)展,棧頂不可用;操作規(guī)則:后進(jìn)先出.SP:堆棧指針系統(tǒng)修改始終使其指向棧頂;(半通用)BP:基址指針存放某個堆棧單元地址,供人工操作堆棧.當(dāng)我們需要從堆棧中間取數(shù)據(jù)時,可以使用BP。4.指令指針寄存器IP16位專用寄存器存放將要執(zhí)行指令的地址(指令指針);將要執(zhí)行的指令即正在執(zhí)行的下一條;程序的非順序運(yùn)行(分支、循環(huán)、子程序)由系統(tǒng)自動修改IP實(shí)現(xiàn)。5。段寄存器和存儲器管理a。存儲器分段管理8088CPU有20條地址線尋址能力1MB而寄存器都是16位的尋址能力64KB所以把存儲器分為若干個最大64KB的邏輯段來管理,這樣存儲單元的20位物理地址由兩部分組成16位的段基地址+16位的段內(nèi)偏移地址段基地址:邏輯段的起始地址。例:203H相對于200H的偏移為003H.偏移地址:相對于段首地址的偏移量。b。段寄存器的種類CS:代碼段寄存器,存放當(dāng)前代碼段首地址;與IP配合。DS:數(shù)據(jù)段,數(shù)據(jù)段;與BX和SI配合。ES:附加段,附加段;與DI配合。SS:堆棧段,堆棧段;與BP和SP配合.c。物理地址的計(jì)算邏輯段必須以低4位為0的地址作為開頭。小段。這樣我們只保存段首地址的高16位.16位段基地址+0000+16位偏移地址不加特殊說明,默認(rèn)使用偏移地址20位物理地址6.程序狀態(tài)字PSW16位寄存器反映指令執(zhí)行結(jié)果和處理器當(dāng)前狀態(tài)。與其他寄存器不同,每一位都有自己的用途,8088共使用了9位。OODITSZAPCCF進(jìn)位標(biāo)志指令執(zhí)行結(jié)果中,最高位向前是否有進(jìn)位或借位;有CF=1。例如:11000000B+1111000110B10000110BCF=1PF=0AF=0ZF=0SF=1OF=PF奇偶標(biāo)志指令運(yùn)行結(jié)果中,1的個數(shù);為偶數(shù)個PF=1。AF輔助進(jìn)位標(biāo)志指令運(yùn)行結(jié)果中,低4位向高4位是否有進(jìn)位或借位;有AF=1.ZF零標(biāo)志指令運(yùn)行結(jié)果是否為零;為零ZF=1。SF符號標(biāo)志指令運(yùn)行結(jié)果是正數(shù)還是負(fù)數(shù),負(fù)數(shù)SF=1,即與最高位相同。TF跟蹤標(biāo)志處理器當(dāng)前是否為單步工作方式,是TF=1,用于調(diào)試。IF中斷允許標(biāo)志處理器當(dāng)前是否允許相應(yīng)INTR中斷,是IF=1。DF方向標(biāo)志處理器當(dāng)前處理串操作的方向,DF=0,增量操作(由前到后)。OF溢出標(biāo)志指令運(yùn)行結(jié)構(gòu)是否溢出,有OF=1.溢出中斷的處理?xiàng)l件有二:OF=1且有INTO指令.溢出標(biāo)志的產(chǎn)生,一般情況下:OF=C7⊕C6授課題目(章、節(jié))第二章指令系統(tǒng)2。1尋址方式教學(xué)主要內(nèi)容及重點(diǎn)難點(diǎn):主要內(nèi)容:操作數(shù)的類型,尋址方式,存儲器操作數(shù)物理地址的計(jì)算重點(diǎn):操作數(shù)的類型,尋址方式,存儲器操作數(shù)物理地址的計(jì)算難點(diǎn):存儲器操作數(shù)物理地址的計(jì)算復(fù)習(xí)上講:8088/8086CPU的功能結(jié)構(gòu)和寄存器陣列本講介紹:操作數(shù)的類型,尋址方式,存儲器操作數(shù)物理地址的計(jì)算第二章指令系統(tǒng)在上一章中,我們介紹了CPU寄存器陣列,可以說是匯編語言的硬件基礎(chǔ);而本章的內(nèi)容則是軟件基礎(chǔ)。指令系統(tǒng)是匯編語言的重要組成部分,匯編語言是人機(jī)交流語言,指令系統(tǒng)就像人與人交流語言(例如漢語)的字詞一樣,是編程的基礎(chǔ)。而指令系統(tǒng)與CPU密切相關(guān),不同的CPU支持的指令系統(tǒng)不同,也是匯編語言特點(diǎn)的一個體現(xiàn).本章介紹8088/8086的匯編指令系統(tǒng)是最經(jīng)典的也是通用的指令系統(tǒng)。匯編指令由兩部分組成:操作數(shù)操作碼操作碼:指示計(jì)算機(jī)執(zhí)行什么操作,指令功能;操作數(shù):指明參加操作的數(shù)。第三章實(shí)際上就是分為這兩部分內(nèi)容:尋址方式指令系數(shù)。第一節(jié)8088/8086的尋址方式一、操作數(shù)類型(來源)(有三種)1.立即數(shù)操作數(shù)直接包含在指令中,包括二、十、十六進(jìn)制數(shù).例:MOVAL,10寄存器位數(shù)?MOVAL,MOVAL,00001010B這三條指令是完全等價的.2。寄存器操作數(shù)操作數(shù)存放在寄存器中,指令中給出寄存器名.例:MOVAL,BL寄存器位數(shù)?3。存儲器操作數(shù)(最復(fù)雜、尋址方式最多的)操作數(shù)存放在某個內(nèi)存中,指令中給出存儲器地址。例:MOVAX,[22A0H](AX)≠22A0H注意:最明顯的特點(diǎn),存儲器操作數(shù)肯定有[]。二、尋址方式(研究如何尋找參加操作的數(shù))1。立即尋址指令中直接給出立即數(shù)。例:MOVAX,1090H(AH)=10H(AL)=90H2。寄存器尋址操作數(shù)在寄存器中,指令中給出寄存器名.注意:兩操作數(shù),每個都有自己的尋址方式。例:MOVDS,AX執(zhí)行前AX=2345H執(zhí)行后AX=DS=2345H3.直接尋址操作數(shù)在存儲器中,指令中直接給出操作數(shù)地址。(偏移地址)例:MOVAX,[22A0H]實(shí)際地址DS×10H+22A0H4。寄存器間接尋址操作數(shù)在存儲器中,通過寄存器得到存儲單元地址。例:MOVAX,[BX];BX=1000HDS×10H+1000H=12ABHAX=12ABH≠1000H注意:(SIDS,DIDS/ES,BPSS,BXDS)5.變址尋址操作數(shù)在存儲器中,存儲單元地址通過變址寄存器加上一個16位的偏移量之和得到。例:MOVAX,COUNT[BX]COUNT=25DMOVAX,[BX+COUNT]可充當(dāng)變址寄存器的BPBXSIDI物理地址DS×10H+BX+COUNT6。基址加變址尋址操作數(shù)在存儲器中,地址通過基址寄存器內(nèi)容加上變址寄存器內(nèi)容再加上指令中給出的偏移量得到。例:MOVAX,MASK[BX][SI]MASK=10DMOVAX,[BX+SI+MASK]MOVAX,MASK[BX+SI]可充當(dāng)基址寄存器的BPBX;可充當(dāng)變址寄存器的SIDI。即使用時不能出現(xiàn)BP+BX或SI+DI的情況。物理地址為DS×10H+BX+SI+MASK注意:后4種尋址方式,操作數(shù)都在存儲器中。即存儲器操作數(shù)。習(xí)題:計(jì)算下列指令中內(nèi)存操作數(shù)的所在地址.DS=2200H,SS=3300H,ES=4400H,BX=BP=100H,LIST=200H,SI=30HMOVAL,LIST[BX];DS*10H+LIST+BX22300HMOVAL,[2200H];DS*10H+2200H24200HMOV[BP+10H];SS*10H+BP+10H33110HMOVDL,ES:[BX+SI+10H]ES*10H+BX+SI+10H44140HMOVLIST[BX]+[SI],AX;DS*10H+BX+SI+LIST22330H第____5____次課授課題目(章、節(jié))第二章指令系統(tǒng)2。2教學(xué)主要內(nèi)容及重點(diǎn)難點(diǎn):主要內(nèi)容:數(shù)據(jù)傳送指令和算術(shù)運(yùn)算指令的使用重點(diǎn):數(shù)據(jù)傳送指令和算術(shù)運(yùn)算指令的使用難點(diǎn):復(fù)習(xí)上講:操作數(shù)的類型,尋址方式,存儲器操作數(shù)物理地址的計(jì)算本講介紹:數(shù)據(jù)傳送指令和算術(shù)運(yùn)算指令的使用第二節(jié)8088/8086指令系統(tǒng)(6類)一.數(shù)據(jù)傳送指令實(shí)現(xiàn)寄存器之間,寄存器與存儲器之間,CPU與I/O接口之間的數(shù)據(jù)傳送。(一)通用傳送指令1。最基本的傳送指令MOV使用頻率最高的一條指令,類似與賦值但功能更加強(qiáng)大。格式:MOVOPRD1,OPRD2(注意:雙操作數(shù),兩個尋址方式)兩操作數(shù)之間“,”隔開。功能:將源操作數(shù)OPRD2送到目的操作數(shù)OPRD1中。例如:MOVAX,1090H;AH=10H,AL=90H對AX寫,對1090讀注意問題:a。注意數(shù)據(jù)匹配數(shù)問題8位之間16位之間都可8位與16位之間不可例如:MOVAL,AX(錯)MOVBX,20H(錯)MOVWORDPTR[SI],4050H(對)MOV[2200H],AX(對);把AX送到[2200H][2201H]b。立即數(shù)不能做目的操作數(shù)MOV80H,AL(錯)c。存儲器之間不可傳送,要借用中間寄存器MOV[22A0H],[BX](錯)可適用于寄存器之間,立即數(shù)到寄存器/存儲器,寄存器到存儲器。d.CS,IP不能做目的操作數(shù)MOVCS,DX(錯)MOVSP,BX;語法正確,注意堆棧結(jié)構(gòu)e。本指令對標(biāo)志位無影響2.堆棧操作指令(對??臻g的操作)關(guān)于棧在SP,BP處介紹過—-———復(fù)習(xí)1)入棧指令PUSH格式:PUSHOPRD16位單操作數(shù)功能:將OPRD入棧(SP所指向的棧頂)40H30H20H40H30H20H10H201H202H203H204H205H206H207H208HSP->SP=205HSP-1SP-2地址,且棧頂不可用b.每個單元都是8位,操作數(shù)為16位,所以占用兩單元。入棧操作進(jìn)行兩次.c。入棧時規(guī)則,低對低、高對高。執(zhí)行過程:SP-1;[SP]OPRDHSP—1;[SP]OPRDL例如:PUSHAX;AX=1020H如圖所示。PUSHBX;BX=3040H2)出棧指令POP格式:POPOPRD16位單操作數(shù)功能:將SP指向的棧頂內(nèi)容(16位)彈出過程:OPRDL[SP]SP+1OPRDH[SP]SP+1入棧逆過程例如:POPBX;BX=3040H3)注意問題a.PUSH和POP的一個主要用途是保護(hù)數(shù)據(jù)、保護(hù)斷點(diǎn)、保護(hù)現(xiàn)場.在高級語言是自動完成的工作,在匯編中編程者自己考慮;所以應(yīng)該對堆棧結(jié)構(gòu)有一個清晰的認(rèn)識.b.PUSHCS(對)POPCS(錯)c。對標(biāo)志位無影響d。棧是后進(jìn)先出規(guī)則;所以保護(hù)恢復(fù)是相反的順序(入)PUSHAX(出)POPBX;此時執(zhí)行POPAX也可,只是PUSHBXPOPAX;不能得到源BX的數(shù)據(jù)。4)BP使用接上例入棧后,201H=40H,使用POP指令只能取出3040H;我們可以MOVBP,SP;BP=201HMOVAL,[BP+2];AL=20H從棧中間取出數(shù)據(jù)。3.交換指令格式:XCHGOPRD1,OPRD2功能:實(shí)現(xiàn)OPRD1,OPRD2相互交換(8位/16為都可)注意:數(shù)據(jù)匹配、存儲器之間、立即數(shù)、CS和IP。(二)累加器專用傳送指令1.輸入,輸出指令I(lǐng)NOUT專門用于完成CPU與外設(shè)之間的數(shù)據(jù)傳送;輸入指令格式:INAL/AX,PORTINAL/AX,DX1)8088是準(zhǔn)16位機(jī),對外數(shù)據(jù)總線是8位,所以只有8位的字節(jié)指令,使用AL;8086可用AL,也可用16位字指令A(yù)X,低對低,高對高。2)當(dāng)I/O設(shè)備地址小于0FFH時使用PORT(立即數(shù)形式的具體地址)大于0FFH時使用DX間接給出3)寄存器只能用累加器,16位I/O指令中地址只能用偶數(shù)輸出指令:OUTPOPT/DX,AL/AX例如:INAL,20HMOVDX,200HOUTDX,AX2。查表轉(zhuǎn)換指令格式:XLAT操作數(shù)隱含功能:AL[BX+AL]常用于對表的查詢工作表:一段連續(xù)的存儲空間,最長為256個字節(jié),是由用戶設(shè)計(jì)的。TABLE例如:查表求3的平方植.表結(jié)構(gòu)見右圖.數(shù)據(jù)按一定順序存放。TABLE00H01H04H09H10H19H201H202H00H01H04H09H10H19H201H202H203H204H205H206H207H208HTABLE+3表的起點(diǎn),AL中內(nèi)容用作查表時的索引.MOVBX,OFFSETTABLEMOVAL,3XLAT;則AL=[201H+3]=09H(三)地址傳送指令1。LEA指令格式:LEAOPRD1,OPRD2OPRD1為16位通用寄存器,OPRD2為變量、標(biāo)號或地址表達(dá)式.功能:將源操作數(shù)偏移地址傳送到指定寄存器注意:對于匯編語言來說,所有定義的數(shù)據(jù)都是連續(xù)存放的,類似表或者說數(shù)組。只要知道一個地址和結(jié)構(gòu),基本上就可操作所有數(shù)據(jù).上例中:LEABX,TABLE=MOVBX,OFFSETTABLE=LEABX,[0201H];BX=0201H數(shù)據(jù)操作時MOVAL,[BX];00HMOV[BX+1],AL;01H—〉00H2.LDS指令格式:LDSOPRD1,OPRD2OPRD1通用寄存器OPRD2存儲器地址功能:存儲器地址指針指向的雙字中,低地址的字送到指定寄存器;高地址字送到DS例如:LDSDI[2200H];[2200H][2201H]DI,[2202H][2203H]DS。3。LES指令基本類似LDS,區(qū)別:雙字中高地址字送到ES。(四)標(biāo)志傳送指令1.LAHF標(biāo)志寄存器低8位AH2.SAHFAH標(biāo)志寄存器低8位3.PUSHF標(biāo)志寄存器入棧4.POPF棧頂內(nèi)容送入標(biāo)志寄存器二。算術(shù)運(yùn)算指令(一)加法指令1.普通二進(jìn)制的加法指令(不帶進(jìn)位)格式:ADDOPRD1,OPRD2功能:OPRD1OPRD1+OPRD2并且影響標(biāo)志位注意問題:a.適用于有無符號數(shù),8位、16位相加b。二進(jìn)制加法指令05H+05H=0AHc。立即數(shù)不能做目的操作數(shù)d。數(shù)據(jù)匹配e.不允許存儲器之間相加f.CS、IP的使用2.帶進(jìn)位的加法指令格式:ADCOPRD1,OPRD2功能:OPRD1OPRD1+OPRD2+CF并且影響標(biāo)志位適用于多字節(jié)加法對十進(jìn)制以位為單位對匯編以字節(jié)為單位作加127低字節(jié)ADD1218高字節(jié)ADC2553.增量指令格式:INCOPRD常用于循環(huán)結(jié)構(gòu)中,修改指針,記數(shù)器功能:OPRDOPRD+1不影響CF例題:兩字節(jié)二進(jìn)制數(shù)相加A:1AH,3BH注意:為方便運(yùn)算,通常低位在前,高位在后B:21H,46H實(shí)際是:3B1AH+4621HMOVSI,OFFSETAMOVAL,[SI];AL=1AHMOVDI,OFFSETBADDAL,[DI];AL=3BH沒有CFMOV[SI],AL;覆蓋了源A的1AH內(nèi)容INCSI思考:在有三,四字節(jié)INCDI就是把括號的MOVAL,[SI];AL=3BH指令重復(fù)ADCAL,[DI];AL=81HMOV[SI],AL;覆蓋了源A的3BH內(nèi)容(二)減法指令1。普通二進(jìn)制減法指令(不帶借位)格式:SUBOPRD1,OPRD2功能:OPRD1OPRD1-OPRD2影響標(biāo)志位與ADD對應(yīng),一般的二進(jìn)制減法指令,注意問題與ADD相同例如:0補(bǔ)-(-5)補(bǔ)=0補(bǔ)+(――5)補(bǔ)=+5補(bǔ)=00000000-11111011=000001012.帶借位的減法借位格式:SBBOPRD1,OPRD2功能:OPRD1OPRD1-OPRD2-CF與ADC對應(yīng),帶借位(低位向上)的減法指令,用于多字節(jié)減法3。減量指令格式:DECOPRD功能:OPRDOPRD-1對應(yīng)INC指令,不影響CF4.取補(bǔ)指令格式:NEGOPRD功能:OPRD取補(bǔ)(取反加1)相當(dāng)0—操作數(shù),所以算入減法;且一般CF=1(0-肯定有借位),只有OPRD=0時CF=05.比較指令格式:CMPOPRD1,OPRD2功能:比較兩數(shù)大小.方法:兩數(shù)相減,根據(jù)結(jié)果置標(biāo)志位,但并不保留結(jié)果。我們根據(jù)標(biāo)志位來判斷兩數(shù)關(guān)系。以下幾種情況CMPA,B①若A=B則A—B=0ZF=1所以當(dāng)ZF=1時A=B②無符號數(shù)A〉B相減不產(chǎn)生借位CF=0A<B相減產(chǎn)生借位CF=1所以用CF確定無符號數(shù)的大?、塾蟹枖?shù)情況比較復(fù)雜,是歸納出的結(jié)果,這里只要求記住最后結(jié)論:OFSF同號A>BOFSF異號A〈B最后:實(shí)際上,比較指令CMP常和條件轉(zhuǎn)移指令配合使用例:CMPA,B當(dāng)有符號數(shù)A>B時,程序跳轉(zhuǎn)到標(biāo)號NEXT處,JGNEXT不需要人為考慮具體標(biāo)志位。(三)乘法指令對于乘法運(yùn)算有、無符號數(shù)運(yùn)算是不同的P383×14=42(2AH)3×(-2)=-6001100110011×1110×1110×0010取-2原碼,并去掉符號0010101000000110得6然后取補(bǔ)碼,加符號1。無符號數(shù)乘法指令格式:MULOPRD(單操作數(shù))功能:完成二個無符號數(shù)二進(jìn)制數(shù)相乘注意問題:a.被乘數(shù)隱含在累加器AL/AX中乘數(shù)為OPRD;b。本指令可以完成8位或16位乘法,由OPRD決定;當(dāng)OPRD為8位完成AX<-——AL*OPRD(高位放在AH中)例:MULBL當(dāng)OPRD為16位完成DXAX<—-AX*OPRD(高位放在DX中)例:MULBXc。除CF、OF外無定義。(無定義:狀態(tài)不定;不影響:保持原值)如何判斷AH/DX是否有效?8位AH≠0時OF=1CF=116位DX≠0時CF=1OF=12。有符號數(shù)乘法指令格式:IMULOPRD用法與MUL完全相同,只是適用于有符號數(shù).(四)除法指令1.無符號數(shù)除法指令格式:DIVOPRD功能:完成兩個無符號數(shù)二進(jìn)制數(shù)除法運(yùn)算注意問題:a.被除數(shù)隱含在AX/AXDX中,OPRD為除數(shù)b??蓪?shí)現(xiàn)8位,16位除法當(dāng)OPRD為8位商AL<--AX/OPRD余數(shù)AH<—-AXMODOPRD當(dāng)OPRD為16位商AX〈—--DXAX/OPRD余數(shù)DX〈—--DXAXMODOPRD例:DIVCX;DIVBLc。指令對所有志位無定義包括OFd。有專門的除法錯0號中斷e。余數(shù)符號與被除數(shù)符號相同例:—30÷8=-3……-6而不是=-4……22.有符號數(shù)除法指令格式:IDIVOPRD用法與DIV相同,只是適用與有符號數(shù)。除數(shù)運(yùn)算時8位(字節(jié))除數(shù),被除數(shù)為16位(字),會用到擴(kuò)展指令。3。字節(jié)擴(kuò)展指令格式:CBW功能:AL的符號位擴(kuò)展到AH中,用本指令形成16位被除數(shù)。例如:當(dāng)AL符號位為0CBWAH=00H55H-〉0055H當(dāng)AL符號位為1CBWAH=OFFH99H-〉FF99H用本指令形成16位被除數(shù)4.字?jǐn)U展指令格式:CWD功能:把AX的符號位擴(kuò)展到DX中,形成32位被除數(shù)。(五)BCD碼運(yùn)算指令前面所講述的四則運(yùn)算都是適用于二進(jìn)制的。例:5+7=00000100B用十六進(jìn)制表示為0CH.但這個結(jié)果是不符合人的思維習(xí)慣02AE5H=?D所以我們引入兩種十進(jìn)制數(shù)表示方法和相關(guān)指令,完成10進(jìn)制運(yùn)算。12D=000011000B=0CH非壓縮數(shù)8位表示一個數(shù)01H02H表示12D壓縮數(shù)4位表示一個數(shù)12H表示12D12D并≠01H02H也≠12H,這只是方便觀看的表示形式,所以BCD數(shù)直接運(yùn)算時,需要用到相關(guān)的調(diào)整指令。1。非壓縮十進(jìn)制加法調(diào)整指令格式:AAA無操作數(shù)功能:對兩個非壓縮十進(jìn)制數(shù)相加存于AL中的結(jié)果進(jìn)行調(diào)整,產(chǎn)生所需的非壓縮十進(jìn)制數(shù),結(jié)果存于AX中。例:08H00001000B+03H00000011BADD0BH00001011B但我們需要的是非壓縮BCD數(shù),這時用AAA調(diào)整即ADDAL,BL;AL=0BHAAA;AX=01H01H注意問題:a。使用前提:兩個非壓縮十進(jìn)制數(shù)相加,結(jié)果也為非壓縮BCD數(shù)如果是0BH+03H是無法調(diào)整出正確結(jié)果的。b.調(diào)整目標(biāo):AL→AX,使用指令時注意。c。調(diào)整過程:系統(tǒng)自動完成。見P412。壓縮十進(jìn)制加法調(diào)整指令格式:DAA無操作數(shù)功能:對兩個壓縮十進(jìn)制數(shù)相加存于AL中的結(jié)果進(jìn)行調(diào)整,產(chǎn)生所需的壓縮十進(jìn)制數(shù),存于AX中。例:18H00011000B希望得到壓縮BCD數(shù)21H+03H00000011BADD1BH00011011B希望得到壓縮BCD數(shù),這時用DAA調(diào)整ADDAL,BL;AL=1BHDAA;AL=2注意問題與AAA基本相同。例題:二字節(jié)壓縮BCD數(shù)相加ADB12H,56H實(shí)數(shù):5612H5千6百1十2BDB21H,65H6521HMOVSI,OFFSETAMOVDI,OFFSETBMOVAL,[SI]ADDAL,[DI];AF=0CF=0DAA;原值不變MOV[DI],ALINCSIINCDIMOVAL,[SI];第三、四節(jié)代碼相同ADCAL,[DI];(AL)=BBHAF=0CF=0DAA;(AL)=21HAF=1CF=1MOV[DI],AL3。非壓縮BCD減法調(diào)整指令格式:AAS功能:對兩個非壓縮十進(jìn)制數(shù)相減存于AL中的結(jié)果進(jìn)行調(diào)整,產(chǎn)生所需的非壓縮十進(jìn)制數(shù)存于AX中。例如:SUBAL,BLAAS4.壓縮BCD減法調(diào)整指令格式:DAS功能:對兩個非壓縮十進(jìn)制數(shù)相減存于AL中的結(jié)果進(jìn)行調(diào)整,產(chǎn)生所需的非壓縮十進(jìn)制數(shù)存于AX中。與DAA對應(yīng)。5.非壓縮BCD乘法調(diào)整指令格式:AAM功能:對兩個非壓縮十進(jìn)制數(shù)相乘存于AL中的結(jié)果進(jìn)行調(diào)整,產(chǎn)生所需的非壓縮十進(jìn)制數(shù)存于AX中。例:當(dāng)(AL)=05H(BL)=08HMULBL;AL*BL→(AX)=0028H(40二進(jìn)制)AAM;(AX)=0400H(40D)注意:只有非壓縮BCD調(diào)整指令,只適用于無符號數(shù).6。非壓縮BCD除法調(diào)整指令格式:AAD功能:對AX中的被除數(shù)調(diào)整,與+、—、*不同,在運(yùn)算前調(diào)整。例:MOVBL,05HMOVAX,0308H(表示38D)AAD;實(shí)際上是調(diào)整為二進(jìn)制數(shù)26HDIVBL;商07H在AL,余03H在AH注意:只有非壓縮BCD調(diào)整指令,只適用于無符號數(shù),在運(yùn)算之前調(diào)整.注意:調(diào)整指令只適用于字節(jié)8位運(yùn)算.第____6____次課授課題目(章、節(jié))第二章指令系統(tǒng)2.2教學(xué)主要內(nèi)容及重點(diǎn)難點(diǎn):主要內(nèi)容:邏輯運(yùn)算指令和串操作指令的使用重點(diǎn):邏輯運(yùn)算指令和串操作指令的使用難點(diǎn):串操作指令內(nèi)容復(fù)習(xí)上講:數(shù)據(jù)傳送指令和算術(shù)運(yùn)算指令的使用本講介紹:邏輯運(yùn)算指令和串操作指令的使用三、邏輯運(yùn)算指令實(shí)現(xiàn)邏輯與、或、非以及移位操作。1.邏輯與運(yùn)算指令格式:ANDOPRD,OPRD2功能:OPRD與OPRD2實(shí)現(xiàn)按位與運(yùn)算,結(jié)果存于OPRD1中。影響標(biāo)志位。常見用法:a.因?yàn)槿魏螖?shù)和0相與都為0所以本指令常用于置某些位為0,即屏蔽操作.ANDAL,00110011B;高4位清0b.輸入處理時,代碼轉(zhuǎn)換ASCII—〉數(shù)字例如:輸入5時(I/O操作),得到5的ASCII碼35H,我們必須把ASCII碼→數(shù)字才可參加運(yùn)算(輸入5:MOVAH,01H;DOS功能調(diào)用1號,完成輸入。INT21H;從鍵盤按‘5',(AL)=35HANDAL,0FH;AL=05H。)2。邏輯或指令格式:OROPRD1,OPRD2功能:OPRD1與IPRD2完成按位或給果放于OPRD1.影響標(biāo)志位。常見用法:a。任何數(shù)與1相或都為1,所以常用于某些位置1,即組合操作b。輸出時代碼轉(zhuǎn)換,數(shù)字—>ASCII碼例:運(yùn)算結(jié)果為05H輸出ORAL,30H;AL→35HMOVAH,02HMOVDL,ALINT21H;顯示字符5。3.邏輯非指令格式:NOTOPRD功能:對OPRD按位取反.不影響標(biāo)志位。4.邏輯異或指令格式:XOROPRD1,IPRD2功能:OPRD1與IPRD2完成按位異或給果放于OPRD1。影響標(biāo)志位。因?yàn)?/1異或1=1/00/1異或0=0/1所以可以實(shí)現(xiàn)把某些位求反XORAL,00001100HD2和D3位求反,其他不變.5。測試指令格式:TESTOPRD1,OPRD2功能:與CMP指令類似,通過OPRD1與OPRD2按位相與置標(biāo)志位,實(shí)現(xiàn)測試功能。也不保存結(jié)果。例如:TESTAL,10000000BJZNEXT;若AL最高位=0則ZF=1跳轉(zhuǎn)。6.邏輯左移指令格式:SHLOPRD,COUNT功能:實(shí)現(xiàn)把OPRD左移COUNT次。每次移位最高位移入CF中,最低位補(bǔ)0。注意:a.當(dāng)移位一次時可在指令中用1,當(dāng)COUNT﹥1則使用CL.MOVAL,1;正確MOVAL,4;錯誤MOVCL,4;AL=00011100BSHLAL,CL;AL=11000000B,CF=1b。數(shù)值轉(zhuǎn)換時,講過權(quán):因?yàn)樽笠埔淮蜗喈?dāng)于權(quán)提高一級,所以左移相當(dāng)于*2操作.適用于有無符號數(shù)。但是:有符號數(shù),移位后最高位與CF不同時,不滿足倍增關(guān)系例:01001100→10011000且CF=0正數(shù)負(fù)數(shù)無符號數(shù),移位后使CF=1,不滿足倍增關(guān)系例:10000000→00000000且CF=17.邏輯右移指令格式:SHROPRD,COUNT功能:實(shí)現(xiàn)OPRD右移COUNT位,最低位移入CF中,最高位補(bǔ)0.注意:a。COUNT﹥1使用CLb。相當(dāng)于無符號數(shù)÷2但是:新CF=1表示移位前是一個奇數(shù),÷2結(jié)果不精確。8。算術(shù)左移指令格式:SALOPRD,COUNT功能:與SHL完全相同9。算術(shù)右移指令格式:SAROPRD,COUNT功能:實(shí)現(xiàn)OPRD右移COUNT位。最低位移入CF,最高位保持不變例:00110011B→00011001BCF=111001100B→11100110BCF=0注:a。COUNT﹥使用CLb.實(shí)現(xiàn)有符號數(shù)的÷2運(yùn)算,但是新CF=1結(jié)果不精確10.不帶進(jìn)位的循環(huán)移位指令(小循環(huán))格式:ROL/ROROPRD,COUNT功能:實(shí)現(xiàn)向左/向右不帶CF的循環(huán)移位CFCFCF例:ROL10010110B→00101101BCF=1ROR00010110B→00001011BCF=0注:COUNT﹥1使用CL11.帶進(jìn)位的循環(huán)移位指令(大循環(huán))格式:RCL/RCROPRD,COUNT功能:實(shí)現(xiàn)向左/右?guī)F的循環(huán)移位CFCFCF例:RCL:10010110BCF=1→00101101BCF=1RCR:10010110BCF=1→11001011BCF=0注:同上COUNT﹥1使用CL例題:顯示壓縮BCD數(shù)分析:對A68H(壓縮BCD數(shù))a.I/O操作需要相應(yīng)的ASCII碼b。并沒有68的ASCII碼,而要顯示“6"“8”66806083638壓縮BCD數(shù)非壓縮BCD數(shù)ASCII碼邏輯右移屏蔽高四位代碼:MOVAL,AMOVAL,AMOVCL,4ANDAL,0FHSHRAL,CLORAL,30HORAL,30HMOVB,ALMOVC,AL逆過程見P45例2-3四、串操作指令a.串:類似數(shù)組,是指一組連續(xù)存放在存儲器中的數(shù)據(jù);分類:字節(jié)串,字串b。串操作中數(shù)據(jù)默使用SI,DI間接尋址;[DS:SI]尋址源操作數(shù),[ES:DI]尋址目的串c.SI,DI自動變化,當(dāng)DF=0自動增量(從前向后);d。串操作指令只執(zhí)行一次,所以往往和重復(fù)前綴或循環(huán)控制配合。1。串傳送指令a。格式:MOVSB無操作數(shù)字節(jié)串傳送功能:[DS:SI][ES:DI]SI、DI自動變化b.格式:MOVSW無操作數(shù)字串傳送功能:[DS:SI][ES:DI]SI、DI自動變化注意:a.DF的使用:當(dāng)DF=0時,自動增量,SI、DI+;當(dāng)DF=1時,自動減量,SI、DI-;b.字節(jié)傳送時,SI、DI+1;字傳送時,SI、DI+2;例如:源串:3000H:0100H‘zhang'目的串:3000H:0200HMOVAX,3000HCLD;DF=0MOVDS,AX;SI指向zMOVES,AXMOVSB;傳送MOVSI,0100H;只傳送一個數(shù)據(jù)MOVDI,0200H;SI+1指向h2。重復(fù)前綴a。格式:REP指令功能:當(dāng)計(jì)算數(shù)器CX≠0時,重復(fù)指令,REP必須與CX配合使用過程:CX=?0:CX=0執(zhí)行下條指令CX≠0,CX—1,重復(fù)指令b.格式:REPZ指令功能:CX≠0且ZF=1(兩數(shù)相同或結(jié)果=0)重復(fù)指令c。格式:REPNZ指令功能:CX≠0且ZF=0(兩數(shù)不同,結(jié)果≠0)重復(fù)指令注意:判斷是否重復(fù),在執(zhí)行指令之前,如果CX初始=0,不會重復(fù);而判斷ZF則是在指令執(zhí)行之后。實(shí)際上,SI、DI始終指向?qū)⒁僮鞯脑?,而CX保存沒有操作的數(shù)目。例如:傳送50個字節(jié)數(shù)據(jù)源串:3000H:0100H目的串:3000H:0200HMOVAX,3000HMOVCX,50MOVDS,AXCLD;DF=0MOVES,AXREPMOVSB;傳送MOVSI,0100HMOVDI,0200HREPZCMPSB;比較:ZF=0不同,ZF=1相同3。串比較指令格式:CMPSB(字節(jié)串)CMPSW(字串)功能:[SI],[DI]比較(類似CMP),自動調(diào)整SI,DI4。串讀取指令格式:LODSBLODSW功能:把[SI]中數(shù)據(jù)送入AL/AX中,自動調(diào)整SI5.串存儲指令格式:STOSBSTOSW功能:把AL/AX中數(shù)據(jù)送入[DI],自動調(diào)整DI6。串搜索指令格式:SCASBSCASW功能:把AL/AX中數(shù)據(jù)與[DI]比較(類似CMP)實(shí)現(xiàn)搜索功能例如:REPNZSCASBJZFOUND;ZF=1找到,ZF=0未找到;若第m個找到,此時CX中是沒有比較的數(shù)目;所以m=N-CX第____7____次課授課題目(章、節(jié))第二章指令系統(tǒng)2。2教學(xué)主要內(nèi)容

溫馨提示

  • 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

提交評論