《微機(jī)原理與接口技術(shù)》講稿1-3章
《《微機(jī)原理與接口技術(shù)》講稿1-3章》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《《微機(jī)原理與接口技術(shù)》講稿1-3章(60頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、《微機(jī)原理與接口技術(shù)》講稿 張永林,2015 45 《微機(jī)原理與接口技術(shù)》講稿 開(kāi)課前準(zhǔn)備:了解教學(xué)班級(jí)基本情況。 開(kāi)課前聯(lián)系教學(xué)班級(jí)輔導(dǎo)員,了解學(xué)生對(duì)大學(xué)計(jì)算機(jī)基礎(chǔ)、計(jì)算機(jī)程序設(shè)計(jì)、數(shù)字電子 技術(shù)、模擬電子技術(shù)等先修課程的掌握情況, 了解教學(xué)班級(jí)班風(fēng)、 學(xué)風(fēng)情況,尤其是需要特 別關(guān)注的學(xué)生。 第1講(第一章1) 教學(xué)內(nèi)容 1 .課程簡(jiǎn)介 2 .計(jì)算機(jī)中數(shù)值數(shù)據(jù)的表示(原碼、反碼和補(bǔ)碼) 基本要求 1 . 了解本課程的教學(xué)目標(biāo)、教學(xué)內(nèi)容、教學(xué)要求及考核方法。 掌握溢出的判別方法。 2 .熟練掌握有符號(hào)數(shù)的表示方法; 掌握補(bǔ)碼運(yùn)算的特點(diǎn)和基本法則;
2、 相互認(rèn)識(shí) 點(diǎn)名,確認(rèn)選修學(xué)生名單無(wú)誤; 留下班長(zhǎng)、學(xué)習(xí)委員聯(lián)系方式;所有學(xué)生必須進(jìn)入本課 程教學(xué)交流QQ群。 課程引入 計(jì)算機(jī)軟硬件技術(shù) 應(yīng)用日益廣泛:計(jì)算機(jī)控制系統(tǒng)(數(shù)字控制、集散控制、分布控制), 智能系統(tǒng)(智能建筑、智能交通、智慧城市 ??…工智能設(shè)備(智能家電、智能手機(jī)、智能儀 器??…儲(chǔ) 數(shù)字化、信息化;物聯(lián)網(wǎng);大數(shù)據(jù);工業(yè) 4.0;…… 課程簡(jiǎn)介 1 .課程基本情況 學(xué)分/學(xué)時(shí):4.5/72 課程類(lèi)別:必修/專(zhuān)業(yè)基礎(chǔ),考試 先修課程:大學(xué)計(jì)算機(jī)基礎(chǔ)、計(jì)算機(jī)程序設(shè)計(jì)、數(shù)字電子技術(shù)、模擬電子技術(shù)等 后續(xù)課程:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)、 DSP原理及應(yīng)用等 教學(xué)安排及方
3、式:本課程理論教學(xué)48學(xué)時(shí),實(shí)驗(yàn)24學(xué)時(shí)。理論授課20-22次,課堂練 習(xí)與討論1-2次、課程復(fù)習(xí)與總結(jié) 1次,必做課內(nèi)實(shí)驗(yàn) 8個(gè),同時(shí)安排微型計(jì)算機(jī)系統(tǒng)、微 機(jī)系統(tǒng)中的總線(xiàn)、DMA控制器、USB串行接口、Pentium微處理器等內(nèi)容自學(xué)。此外,本課 程單獨(dú)設(shè)置了 1.5W的課程設(shè)計(jì)環(huán)節(jié)。 其他:電子信息類(lèi)專(zhuān)業(yè)的學(xué)科基礎(chǔ)課, 涉電各工程類(lèi)專(zhuān)業(yè)的必修課, 研究生入學(xué)考試的 可選專(zhuān)業(yè)課,計(jì)算機(jī)等級(jí)考試的主要內(nèi)容(江蘇省三級(jí)偏硬) 2 .課程教學(xué)目標(biāo) (1)使學(xué)生掌握微型計(jì)算機(jī)的邏輯結(jié)構(gòu)、工作原理、典型 CPU的指令系統(tǒng)、存儲(chǔ)器擴(kuò) 展及其典型接口電路等知識(shí)。 (畢業(yè)要求1) (2)使學(xué)
4、生初步掌握匯編語(yǔ)言程序設(shè)計(jì)的基本方法,初步掌握微機(jī)與輸入輸出設(shè)備的 典型接口電路,初步具備微機(jī)應(yīng)用系統(tǒng)的分析能力。 (畢業(yè)要求2) (3)使學(xué)生掌握微機(jī)實(shí)驗(yàn)的基本技能,初步具備進(jìn)行微機(jī)應(yīng)用系統(tǒng)軟、硬件設(shè)計(jì)開(kāi)發(fā) 的能力。(畢業(yè)要求3) (4)使學(xué)生了解微機(jī)系統(tǒng)發(fā)展的新技術(shù)和新知識(shí)。 (畢業(yè)要求1) 3 .課程教學(xué)要求 本課程的教學(xué)強(qiáng)調(diào) 理論與實(shí)踐相結(jié)合。要通過(guò)理論學(xué)習(xí)、實(shí)驗(yàn)運(yùn)用、課堂討論、 課后練 習(xí)等教學(xué)環(huán)節(jié),使學(xué)生獲得知識(shí)運(yùn)用能力、實(shí)驗(yàn)分析能力和工程設(shè)計(jì)的能力。 教學(xué)中不拘于 抽象的理論,而應(yīng)加強(qiáng)實(shí)例分析,啟發(fā)學(xué)生的獨(dú)立思考和自主分析。 教學(xué)中還應(yīng)結(jié)合授課內(nèi) 容,安排必要的復(fù)
5、習(xí)思考題,以便學(xué)生能夠鞏固學(xué)習(xí)成果。 4 .課程考核 課程考核分平時(shí)、實(shí)驗(yàn)和期末考試三部分: 平時(shí)考核:包括到課情況、課堂回答問(wèn)題與討論情況、 每章的復(fù)習(xí)思考題、 網(wǎng)絡(luò)學(xué)習(xí)與 互動(dòng)情況等,占總成績(jī)的 30%。平時(shí)考核不合格不得參加期末考試。 實(shí)驗(yàn)考核:包括實(shí)驗(yàn)準(zhǔn)備、實(shí)驗(yàn)實(shí)施與效果、實(shí)驗(yàn)報(bào)告等,占總成績(jī)的 10%。實(shí)驗(yàn)考核 不合格不得參加期末考試。 期末考試:采用閉卷筆試形式,具體要求見(jiàn)本課程考試大綱。 期末成績(jī)占總成績(jī)的 60%。 對(duì)期末考試可能?chē)L試采用以下方式替代( 考核方式改革探索): (1)微機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)方案; (2)微機(jī)應(yīng)用作品實(shí)物或 Proteus仿真; (3)
6、可以證明達(dá)到課程教學(xué)目標(biāo)的其他方式。 改革嘗試考核包括兩個(gè)部分: 第一部分為設(shè)計(jì)方案或作品 實(shí)物(仿真),占60%。前者必須上交 詳細(xì)設(shè)計(jì)方案,方案 應(yīng)包括系統(tǒng)結(jié)構(gòu)圖、硬件原理圖、軟件功能圖、程序流程圖及程序清單;后者的(仿真) 作 品實(shí)物應(yīng)能夠演示,并上交完整的 設(shè)計(jì)報(bào)告和演示視頻;方式(3)必須上交報(bào)告,報(bào)告中 必須充分證明自己已經(jīng)達(dá)到本課程教學(xué)目標(biāo)。 第二部分為答辯,占40%。主要陳述如果通過(guò)系統(tǒng)設(shè)計(jì)或作品研制達(dá)成了本課程教學(xué)目 標(biāo),并回答老師問(wèn)題;答辯老師應(yīng)關(guān)注學(xué)生設(shè)計(jì)方案或作品中未涉及到的大綱中要求的知識(shí) 點(diǎn)及其應(yīng)用。答辯必須保留記錄。 5.學(xué)時(shí)分配 第一章 第二章 第三章
7、 第四章 第五章 第八早 基礎(chǔ)知識(shí) 系統(tǒng)結(jié)構(gòu) 指令系統(tǒng) 程序設(shè)計(jì) 存儲(chǔ)器組織 I/O 接口 4 (講授4) 4 (講授4) 11 (講授8,實(shí)驗(yàn)3) 12 (講授6,實(shí)驗(yàn)6) 7 (講授4,實(shí)驗(yàn)3) 9 (講授6,實(shí)驗(yàn)3) 第七章中斷/定時(shí) 第八章模擬接口 第九章串行接口 9 (講授6,實(shí)驗(yàn)3) 7 (講授4,實(shí)驗(yàn)3) 7 (講授4,實(shí)驗(yàn)3) 自學(xué):講授=1:1 = 46學(xué)時(shí),不定期抽查,計(jì)入平時(shí)成績(jī) 1.1 算機(jī)中數(shù)值數(shù)據(jù)的表示 1.1.1 位計(jì)數(shù)制及其相互轉(zhuǎn)換 1 .進(jìn)位計(jì)數(shù)制 指用數(shù)字符號(hào)排列成數(shù)位,按由低到高的進(jìn)位方法進(jìn)行計(jì)數(shù)。
8、 涉及到數(shù)碼、位權(quán)、基數(shù)。 數(shù)碼:各數(shù)位中允許選用的數(shù)字符號(hào) 位權(quán):每個(gè)數(shù)位賦予一定的位值 基數(shù):計(jì)數(shù)制中所允許選用的數(shù)碼個(gè)數(shù) (1)十進(jìn)制 數(shù)碼:0?9 十個(gè)不同的數(shù)字符號(hào) 基數(shù):10 計(jì)數(shù)規(guī)則:逢10進(jìn)1,即9+1=10 權(quán):以10為底的哥。如10-1、101等 數(shù)碼的數(shù)值取決于它在數(shù)中的位置 例:十進(jìn)制數(shù)333,最左邊的3代表數(shù)值300,權(quán)值為102,中間的3代表數(shù)值30,權(quán) 值為101,最右邊的3代表數(shù)值3,權(quán)值為100。 (2)二進(jìn)制 數(shù)碼:只有0和1兩個(gè)數(shù)字符號(hào) 基數(shù):2 計(jì)數(shù)規(guī)則:逢2進(jìn)1,即1 + 1=10 權(quán):以2為底的哥。如2-1、21等 每
9、個(gè)數(shù)碼的數(shù)值取決于它在數(shù)中的位置 例:二進(jìn)制數(shù)11.1,最左邊的1代表數(shù)值2,權(quán)值為21,中間的1代表數(shù)值1,權(quán)值為 20,最右邊的1代表數(shù)值0.5,權(quán)值為2-1 (3)八進(jìn)制 數(shù)碼:有0?7八個(gè)數(shù)字符號(hào) 基數(shù):8 計(jì)數(shù)規(guī)則:逢8進(jìn) 1,即7+1=10 權(quán):以8為底的哥。如 8-1、81等 每個(gè)數(shù)碼的數(shù)值取決于它在數(shù)中的位置 例:八進(jìn)制數(shù)44.4,最左邊的4代表數(shù)值32,權(quán)值為81,中間的4代表數(shù)值4,權(quán)值 為80,最右邊的4代表數(shù)值0.5,權(quán)值為8-1 (3)十六進(jìn)制 數(shù)碼:有0?9、A?F十六個(gè)數(shù)字符號(hào) 基數(shù):16 計(jì)數(shù)規(guī)則:逢16進(jìn)1,即F+1=10 權(quán):以16
10、為底的哥。如16-1、161等 每個(gè)數(shù)碼的數(shù)值取決于它在數(shù)中的位置 例:十六進(jìn)制數(shù) AA.A,最左邊的A代表數(shù)值160,權(quán)值為161,中間的A代表數(shù)值10, 權(quán)值為16,最右邊的A代表數(shù)值0.625,權(quán)值為16-1。 結(jié)論 任何一個(gè)進(jìn)位計(jì)數(shù)制數(shù) |N=Dn-i Dn-2 Di D0 D-1 D-2 D-m |都可以展開(kāi)為: N = Dn-i XW1+ Dn-2 xn-2+-- Di /R+D0 X0+D-i X—1 + D-2 X-2+ ???+ D-m xR 其中,Di為O~R-1中的任何一個(gè)數(shù), R為基數(shù),Ri為權(quán)值。 2 .不同進(jìn)制數(shù)的表示 (1 )用大寫(xiě)字母表示 二進(jìn)
11、制用 B (Binary)、八進(jìn)制用 Q (Octal)、十進(jìn)制用 D (Decimal)、十六進(jìn)制用 H (Hexadecimal) 例:1010B=10D=12Q=0AH 一般十進(jìn)制數(shù)后可以省略不寫(xiě)。 編程時(shí)只能采用這種表示方法。 (2 )用括號(hào)加數(shù)字表示 例:(1010)2=(10)10=(12)8=(0A)16 3 .數(shù)制間的相互轉(zhuǎn)換 (1 )二、八、十六進(jìn)制數(shù)一十進(jìn)制數(shù) 方法:按權(quán)展開(kāi) 例: (1101.011)2 =1 X 3+1 X 2+0 X 1+1 X 0+0 X 21 + 1 X -2 + 1 X -3 =8+4+0+1+0+0.25+0.125=(
12、13.375)10 (276)8 = 2 支+7X1+6X0=(190)10 (A3F)16= 10 X 263X 1815X 10=(2623)10 (2)十進(jìn)制數(shù)一二、八、十六進(jìn)制數(shù) 將整數(shù)部分與小數(shù)部分分別轉(zhuǎn)換 ① 4數(shù)部分:除基取余,先低后3 采用輾轉(zhuǎn)相除法,用基數(shù)不斷去除要轉(zhuǎn)換的十進(jìn)制數(shù),直至商為 0,將各次計(jì)算所得的 余數(shù),按最后的余數(shù)為最高位,第一次余數(shù)為最低位,依次排列,即得轉(zhuǎn)換結(jié)果。 例,要求將口埼皤轉(zhuǎn)換為二進(jìn)制敷 2 I 224 1 113—余。位) 2 56 親I 3 m 全 4 口 **—俅0 5 7 …余。 6 3 余1 7 1 余
13、 1 o 余 1 所以(第6M"(1】1口(》1al 例:餐求期工通人軸換為八進(jìn)■效 R I用 S 1S 命工f■低位) K 3 余 4 0 余3[?高位) 例:聶求將S2也“轉(zhuǎn)換為十六進(jìn)制數(shù) 16 226 16 14 《■低位〉 0 案14 f ■離位) 所以。工1>14 ② 小數(shù)部分:乘基取整,先高后低 采用乘基數(shù)取整數(shù)方法,即不斷用 2、8或16去乘需轉(zhuǎn)換的十進(jìn)制小數(shù),直到滿(mǎn)足要 求的精度或小數(shù)部分等于 0為止,然后取每次乘積結(jié)果的整數(shù)部分,以第一次取整為最高 位,依次排列,可得到轉(zhuǎn)換結(jié)果。 例;求對(duì)應(yīng)于(Q.625川的二進(jìn)制敷 0.625 X
14、 2 UM Sftl(最離位) 0250 X 2 0.5……整如。 X 2 1J 整數(shù)I《量低位) 此對(duì)小數(shù)部分為弧轉(zhuǎn)換結(jié)束 所以 W.6 " 例:求對(duì)應(yīng)于(226.625)10的二進(jìn)制數(shù)。 分析:本題中十進(jìn)制數(shù)既有整數(shù)部分又有小數(shù)部分, 應(yīng)先分別加以轉(zhuǎn)換,然后再合并在 一起得到最后結(jié)果。 因?yàn)椋?26)io=(11100010)2 (0.625)10=(0.101)2 所以(226.625)10=(11100010.101) 2 (3)二進(jìn)制數(shù)一八、十六進(jìn)制數(shù) ①二進(jìn)制數(shù)一八進(jìn)制數(shù): 整數(shù)向左,小數(shù)向右,三位合一,不足補(bǔ) 按小數(shù)點(diǎn)為界,整數(shù)部分向左、小
15、數(shù)部分向右,每3位為一組用一位八進(jìn)制數(shù)表示,即 “三合一”,位數(shù)不夠時(shí)用“ 0”補(bǔ)。 例:(100 010 011.011 101)2=(423.35)8 ② 二進(jìn)制數(shù)一十六進(jìn)制數(shù): 整數(shù)向左,小數(shù)向右,四位合一,不足補(bǔ) 0 按小數(shù)點(diǎn)為界,整數(shù)部分向左、小數(shù)部分向右,每 4位為一組用一位十六進(jìn)制數(shù)表示, 即“四合一”,位數(shù)不夠時(shí)用“ 0”補(bǔ)。 (4)八、十六進(jìn)制數(shù)一二進(jìn)制數(shù) ①八進(jìn)制數(shù)一二進(jìn)制數(shù) 用3位二進(jìn)制數(shù)替換每位八進(jìn)制數(shù),即“ 一擴(kuò)三"若整數(shù)的最高位為 0,小數(shù)的最末 位,可以省去。 例:(264.54)8 =(010 110 100.101 100) 2 =(101
16、10100.1011)2 ②十六進(jìn)制數(shù)一二進(jìn)制數(shù) 用4位二進(jìn)制數(shù)替換每位十六進(jìn)制數(shù),即“ 一擴(kuò)四”,若整數(shù)的最高位為 0,小數(shù)的最 末位,可以省去。 例:(7F.C4)6= (0111 1111.1100 0100) 2 =(1111111.110001)2 1.1.2計(jì)算機(jī)中數(shù)的表示 1 .機(jī)器數(shù)與真值 機(jī)器數(shù):一個(gè)數(shù)在計(jì)算機(jī)中的表示形式,即二進(jìn)制代碼 如:10010、11001100 等。 真值:一個(gè)機(jī)器數(shù)所表示的數(shù)值 如:+10、-29、+1011 等。 無(wú)符號(hào)數(shù):全部有效位都用來(lái)存放數(shù)據(jù)。 有符號(hào)數(shù):數(shù)的最高位是符號(hào)位,正數(shù)用“ 0”表示,負(fù)數(shù)用“ 1”表示。
17、2 .有符號(hào)數(shù)的表示方法 原碼:數(shù)真值形式中的“ +”,“-”號(hào)用0, 1表示,數(shù)據(jù)本身用機(jī)器數(shù)表示。 反碼:負(fù)數(shù)的反碼形式在原碼基礎(chǔ)上, 符號(hào)位不變,其余位按位求反; 正數(shù)的反碼形式與原碼相同。 ★補(bǔ)碼:負(fù)數(shù)的補(bǔ)碼形式由 反碼加1求得; 正數(shù)的補(bǔ)碼形式與原碼相同。 正數(shù): [X ]反=[X ]補(bǔ)=[X ]原 負(fù)數(shù): [X ]補(bǔ)=[X ]反+ 1 [[X ]反]反=[X ]原 [[X卜]補(bǔ)=[X ]原 求補(bǔ)碼的方法 ①[XW = [X]反+1 ;負(fù)數(shù) 兇補(bǔ)=兇反 ;正數(shù) ②[XN=K+ X ; K 模 例如:1)鐘表 模為12 2) 8位二進(jìn)制 模= 28=256
18、 3)電表(4 位) 模=104= 10000 ③直接求補(bǔ)法一一負(fù)數(shù)(二進(jìn)制)* [-X]#= [[X]補(bǔ)]變補(bǔ) 例:[+36]原=00100100B [―36]補(bǔ)=11011100B 說(shuō)明:變補(bǔ)是一種運(yùn)算,不是一種碼制 。具體操作是:不論 [X]補(bǔ)是正還是負(fù),連其符 號(hào)位一起變反,末尾加 1。 例:設(shè)字長(zhǎng)為8, X的十進(jìn)制數(shù)為+85, Y的十進(jìn)制數(shù)為-85,求[X ]原,[X ]反,[X ]補(bǔ),[Y]原, [Y]反,[Y]補(bǔ)。 解:[X ]原=01010101 , [Y ]原=11010101 X 為正數(shù)[X ]反=[X ]補(bǔ)=[X 伸=01010101 Y 為負(fù)數(shù) [
19、Y ]反=10101010 [Y >=10101011 課后思考:0的原碼、反碼、補(bǔ)碼 ? 下講提問(wèn): 1 .十進(jìn)制數(shù)如何轉(zhuǎn)換成非十進(jìn)制數(shù); 2 .原碼、反碼、補(bǔ)碼的概念及相互關(guān)系。 第2講(第一章2) 教學(xué)內(nèi)容 1 .計(jì)算機(jī)中數(shù)值數(shù)據(jù)的表示(定點(diǎn)數(shù)和浮點(diǎn)數(shù)) 2 .計(jì)算機(jī)中常用編碼(BCD碼、ASCII碼、漢字編碼) 3 .計(jì)算機(jī)運(yùn)算基礎(chǔ) 4 .微型計(jì)算機(jī)系統(tǒng)的基本組成(自學(xué)) 基本要求 1 .掌握定點(diǎn)數(shù)、浮點(diǎn)數(shù)的特點(diǎn)、表示方法及其運(yùn)算。 2 . 了解BCD和ASCII碼,理解BCD碼加法的調(diào)整。 3 .理解微型計(jì)算機(jī)系統(tǒng)的硬件組成和軟件作用。 上一講內(nèi)容回顧
20、 提問(wèn)上一講留下的思考題與問(wèn)題,檢查上一講教學(xué)效果。 繼續(xù)第一章教學(xué)內(nèi)容講授 1.1 算機(jī)中數(shù)值數(shù)據(jù)的表示(續(xù)), 1.1.2 算機(jī)中數(shù)的表示 ★ 3.定點(diǎn)數(shù)與浮點(diǎn)數(shù) 定點(diǎn)數(shù):小數(shù)點(diǎn)在數(shù)中的位置固定不變的數(shù) 通常有兩種簡(jiǎn)單約定: ※小數(shù)點(diǎn)在最高數(shù)位之前,符號(hào)位之后,這種約定參與運(yùn)算的數(shù)是 純小數(shù); ※小數(shù)點(diǎn)在數(shù)的最低位之后,這種約定參與運(yùn)算的數(shù)是 純整數(shù)。 ★浮點(diǎn)數(shù):小數(shù)點(diǎn)在數(shù)中的位置可變化的數(shù)。 數(shù)N的二進(jìn)制浮點(diǎn)數(shù)表示: N=2j x S, 其中S稱(chēng)為尾數(shù),j稱(chēng)為階碼。 其格式由階符、階碼、數(shù)符、尾數(shù)四個(gè)部分組成。 階符:1位,表示階碼的正負(fù)號(hào) 數(shù)符:1位
21、,表示數(shù)的正負(fù)號(hào) 尾數(shù):n位,一般為純小數(shù) 階碼:m位,一般為純整數(shù) 階碼和尾數(shù)可用原碼、反碼或用補(bǔ)碼表示。 ★規(guī)格化數(shù):尾數(shù)S滿(mǎn)足:0.5 < |S| < 1。 例:將(-25.25)10轉(zhuǎn)換成二進(jìn)制浮點(diǎn)規(guī)格化數(shù) (用補(bǔ)碼表示),其中階符、階碼共4位,數(shù) 符(尾符)、尾數(shù)共8位。 解:(-25.25)10 的原碼形式:111001.01 改寫(xiě) 111001.01 為 1.1100101 X 才5 階符 階碼 數(shù)符 尾數(shù) 0 101 1 0011011 010110011011 O (-25.25)10的二進(jìn)制浮點(diǎn)規(guī)格化數(shù)補(bǔ)碼形式為 又例:某計(jì)算機(jī)用12位表示一浮點(diǎn)數(shù),該浮
22、點(diǎn)數(shù)從高位到低位依次為階符 1位,階碼 3位(用原碼表示),數(shù)符(尾符)1位、尾數(shù)7位(用補(bǔ)碼表示),若某數(shù)的浮點(diǎn)數(shù)規(guī)格化表示 為010010110100 ,則該數(shù)的真值是多少? 解: 真值:(-0.10011) bX 2+4=(-1001.1)b=-9.5 課堂思考題: 將十進(jìn)制數(shù)-3/8表示成浮點(diǎn)數(shù)規(guī)格化形式,其中階符階碼共 4位(用補(bǔ)碼表示),尾符 尾數(shù)共7位(用補(bǔ)碼表示),求其結(jié)果表示。 答案:11111010000 1.2 計(jì)算機(jī)中常用編碼 1.2.1 BC叩及其調(diào)整 1. BCD碼(Binary Coded Decimal:用四位二進(jìn)制數(shù)表示一位十進(jìn)制數(shù)。
23、 例:十進(jìn)制數(shù) 9的BCD碼:1001 十進(jìn)制數(shù)3的BCD碼:0011 十進(jìn)制數(shù)67的BCD碼:01100111 2. BCD碼的加法運(yùn)算及調(diào)整 BCD碼可以同十進(jìn)制數(shù)一樣進(jìn)行加運(yùn)算 例:(0011)bcd+(0100)bcd=(0111)bcd 調(diào)整原因:BCD碼低位與高位之間是“逢 10進(jìn)1”,4位二進(jìn)制數(shù)之間是 逢16進(jìn)1” 需調(diào)整的情況:當(dāng)兩個(gè)一位的BCD數(shù)相加本位超過(guò)9或本位沒(méi)有超過(guò)9,但發(fā)生了進(jìn)位。 調(diào)整的方法:在本位加上6 例:已知兩個(gè)BCD數(shù)YMh求K+V=? 結(jié)果仍以BCD數(shù)表示“ 解-: HMM (X的HC口編碼) +1001 S 的 BCD 編碼)
24、 OQttL 0(H) 1 (本位小于%但發(fā)生進(jìn)位) + onq 0001 (HU《17 的 編嗎) 所以X4Y-17 1.2.2 ASCII 碼 ASCII碼:(American Standard Code for Information Interchange),稱(chēng)為“信息交換標(biāo)準(zhǔn)代碼” ASCII碼是用7位二進(jìn)制數(shù)編碼,可以表示128個(gè)字符 如:大寫(xiě)字母 A的ASCII編碼為:(1000001)2或(41)16。 需要記住常用的 ASCII編碼,如十進(jìn)制數(shù)0~9,十六進(jìn)制數(shù) 0~F的ASCII編碼等。 第8位常用作校驗(yàn)位 偶校驗(yàn):包括校驗(yàn)位在內(nèi)的 8位二進(jìn)制碼中為
25、1的位數(shù)之和為偶數(shù); 奇校驗(yàn):包括校驗(yàn)位在內(nèi)的 8位二進(jìn)制碼中為1的位數(shù)之和為奇數(shù)。 例:對(duì)1001010數(shù)進(jìn)行奇校驗(yàn),請(qǐng)寫(xiě)出校驗(yàn)位的值; 若要進(jìn)行偶校驗(yàn),校驗(yàn)位的值又如 奇校驗(yàn)位值:“0” 偶校驗(yàn)位值:“1” 1.2.3 字編碼 國(guó)標(biāo)碼:(GB2312—80漢字編碼),兩字節(jié)表不。在國(guó)標(biāo)碼中,一■級(jí)漢字按漢語(yǔ)拼首字 母順序排列,同音字以筆劃順序排列;二級(jí)漢字按部首順序排列。 漢字以機(jī)內(nèi)碼形式存儲(chǔ)和傳輸。常有多種輸入方式,但其機(jī)內(nèi)碼唯一,國(guó)際碼的兩字節(jié) 最高位均置“1”后形成機(jī)內(nèi)碼。 如“啊”的國(guó)標(biāo)碼為 00110000, 00100001 ,則它的機(jī)內(nèi)碼為 10110000
26、, 10100001,即 B0H, A1H。 1.3 計(jì)算機(jī)運(yùn)算基礎(chǔ) 1.3.1 算術(shù)運(yùn)算 1 .無(wú)符號(hào)定點(diǎn)數(shù)的算術(shù)運(yùn)算 (1)二進(jìn)制加法 規(guī)則:0+0=0 0+1=1 1+1=0 進(jìn)位 1 1+1+1=1 進(jìn)位 1 例:計(jì)算 10011010+00110111= ? 進(jìn)位 0111110 被加數(shù) 10011010 加數(shù) + 00110111 和 11010001 (2)二進(jìn)制減法 規(guī)貝 U: 0-0=0 1-1=0 1-0=1 0-1=1 借位 1 例:計(jì)算 11101011-10111101= ? 借位 被減數(shù) 0111100 11101011
27、 減數(shù) -10111101 差 00101110 因此 11101011-10111101=00101110 2 .有符號(hào)定點(diǎn)數(shù)的運(yùn)算(補(bǔ)碼運(yùn)算) 規(guī)則:| [X+Yb=[X]補(bǔ)+[Y]補(bǔ) [X-Y-=[X]補(bǔ)+[-汴 用補(bǔ)碼運(yùn)算可將減法變成補(bǔ)碼加法運(yùn)算 溢出:兩個(gè)數(shù)相加,結(jié)果超出了微處理機(jī)所能表示的數(shù)值范圍。 (8位補(bǔ)碼表示的范圍:+ 127?—128; n位補(bǔ)碼表示的范圍:+ 2n - 1—1?—2n - 1) 判斷溢出規(guī)則:同符號(hào)數(shù)相加,結(jié)果符號(hào)相反。即:兩個(gè)正數(shù)相加結(jié)果變成了負(fù)數(shù);或 兩個(gè)負(fù)數(shù)相加結(jié)果變成了正數(shù)。 例:判斷下列補(bǔ)碼運(yùn)算是否發(fā)生溢出 (1) 111
28、11101+00000011 (2) 10001000+11101110 (3) 01000001+01000011 (4) 11001000+11000000 解: (1)沒(méi)有溢出 (2)和的結(jié)果:01110110,發(fā)生了溢出 ⑶ 和的結(jié)果:10000100,發(fā)生了溢出 ⑷ 和的結(jié)果:10001000,沒(méi)有發(fā)生溢出 1.3.2 輯運(yùn)算 邏輯運(yùn)算的規(guī)則: 與:兩個(gè)“1”相“與”得"1;否則為"0;即 1 A 1 = 1, 1 A 0 = 0, 0 A 1 = 0, 0 A 0 = 0 或:兩個(gè)“ 0”相“或”得“0;否則為“1;’即 1 V 1 = 1, 1 V
29、0 = 1, 0 V 1 = 1, 0 V 0 = 0 異或:不同數(shù) “異或”得“1;否則為“0”;即 1 十 0 = 1, 0 十 1 = 1, 1 十 1 = 0, 0 十 0 = 0 例: 11010101 十 01100011 10110110 不同位之間不發(fā)生任何關(guān)系,沒(méi)有 11010101 11010101 V 01100011 - 01100011 結(jié)果 11110111 01000001 注意:在兩個(gè)多位邏輯變量之間進(jìn)行邏輯運(yùn)算時(shí), 算術(shù)運(yùn)算中的進(jìn)位或借位問(wèn)題 *章節(jié)例題 1、已知[與補(bǔ)=1 1 0 1 0 1 0 0B,貝U [ —1 X]#= (
30、 D ) 2 A、0 1 0 1 1 0 0 0B C 0 1 1 0 1 0 1 0B B、1 1 1 0 1 0 1 0B D、0 0 0 1 0 1 1 0B 解:將[X]補(bǔ)算術(shù)右移1位得到 r 1 [一沖卜=1 1 1 0 1 0 1 0B 2 又[―X卜卜=[[X]補(bǔ)]變補(bǔ), 故[-1x]#=[[2x 下卜戶(hù)補(bǔ)=[1 1 1 0 1 0 1 0B 戶(hù)補(bǔ)=0 0 0 1 0 1 1 0B 2、兩位8421BCD碼加法計(jì)數(shù)器初始狀態(tài)為 1 0 0 0 0 1 1 1B ,加入5個(gè)計(jì)數(shù)脈沖后,計(jì) 數(shù)器的斗犬態(tài)為 1 0 0 1 0 0 1 0B 解:B
31、CD碼中1 0 1 0?1 1 1 1為非法的 1 0 0 0 0 1 1 1B 為 87, 87+5=92,轉(zhuǎn)成 8421BCD碼即 1 0 0 1 0 0 1 0B 課后作業(yè): 自學(xué)教材第一章第4節(jié),了解微型計(jì)算機(jī)系統(tǒng)的基本組成。 下講提問(wèn): 1 .什么是規(guī)格化浮點(diǎn)數(shù)? 2 .奇校驗(yàn)與偶校驗(yàn)的概念 3 .什么是溢出?如何判斷? 本章作業(yè):P13: 1 (2)、2 (3)、3 (3)、4 (2)、6 (2)、7 (2)、9、10 第3講(第二章1) 教學(xué)內(nèi)容 8086/8088微處理器的內(nèi)部結(jié)構(gòu) 基本要求 1.熟練掌握8086/8088內(nèi)部寄存器的功能和使用
32、方法。 2, 了解8086/8088 CPU的內(nèi)部結(jié)構(gòu) 第一章內(nèi)容回顧 提問(wèn)上一講留下的思考題與問(wèn)題,檢查上一講教學(xué)效果。 簡(jiǎn)要回顧第一章,引入第二章主要教學(xué)內(nèi)容 上一章所講的數(shù)據(jù)(包括數(shù)值和編碼)在計(jì)算機(jī)中是如何存放的?聯(lián)想電子技術(shù)課程中 學(xué)習(xí)過(guò)的加法電路,上一章所講的算術(shù)運(yùn)算和邏輯 運(yùn)算在計(jì)算機(jī)中是如何實(shí)現(xiàn)的 ?計(jì)算機(jī)處 理器需要什么樣的硬件結(jié)構(gòu)才能夠支撐這些功能的實(shí)現(xiàn)? 2.1 8086/8088 微處理器的內(nèi)部結(jié)構(gòu) 2.1.1 8086/8088 內(nèi)部結(jié)構(gòu) K ☆☆ 1. 8086CPU的組成 ;“E卡選用寄存整蝌 LAN、BX. C\. UX、卬,BP, S
33、h IH) FIT . ,算術(shù)建就單元——ALU 理I腫制器 、?標(biāo)志寄存器——FLAG 『?段寄存器損 (CS. DS. SS. KS> ? 指令指針一次 ? 地址加法器 ? 指令隊(duì)列 「苜線(xiàn)接口拴制邏輯 4喊中5和小風(fēng)刊 TT 小11曰*岡叱二二U 執(zhí)行單元EU負(fù)責(zé)指令的執(zhí)行,從 BIU的指令隊(duì)列中取指令和數(shù)據(jù),不直接與外部總線(xiàn) 相連。 總線(xiàn)接口單元BIU根據(jù)EU的請(qǐng)求,完成 CPU與存貯器或I/O設(shè)備之間的數(shù)據(jù)傳送。 執(zhí)行單元EU (1)寄存器組^ ①通用寄存器:AX BX CX DX ——16位 AH,AL BH,BL CH,CL DH,DL ——2*
34、8 位 ②指針寄存器 SP BP SI DI —— 16位 其中SP為堆棧指針,SP總是指向棧頂,而且堆棧是先進(jìn)后出,后進(jìn)先出 BP—基數(shù)指針 SI DI—數(shù)據(jù)塊操作類(lèi) ③標(biāo)志寄存器FR (PSW) 狀態(tài)標(biāo)志 控制標(biāo)志 (2)算術(shù)邏輯單元 ALU ①算術(shù)運(yùn)算:+ — X + ②邏輯運(yùn)算:AND OR NOT XOR ③移位操作 ④位操作 總線(xiàn)接口單元BIU (1)段寄存器組 CS DS SS ES ——16 位 (2)指令指針 IP 特點(diǎn):IP總是指向?qū)⒁獔?zhí)行指令的首地址 取指令代碼使用IP+ 1 - IP (3)指令隊(duì)列 6個(gè)字節(jié) (4)地址加法器 物
35、理地址(20位)= 段地址(16位)*16+偏移地址(16位)(無(wú)符號(hào)數(shù)) 段地址 一CS/DS/SS/ES 段地址:偏移地址(邏輯地址) 2.1.2 8086/8088內(nèi)部寄存器 1 .數(shù)據(jù)寄存器組二 AX:累加器(Accumulator)??煞殖蓛蓚€(gè)八位寄存器 AH、AL使用。 BX:基址寄存器(Base register)??煞殖蓛蓚€(gè)八位寄存器 BH、BL使用。 CX:為計(jì)數(shù)器(Counter)。可分成兩個(gè)八位寄存器 CH CL使用。 DX:數(shù)據(jù)寄存器(Data register)??煞殖蓛蓚€(gè)八位寄存器 DH、DL使用。 數(shù)據(jù)寄存器用來(lái)存放計(jì)算的結(jié)果和操作數(shù).也可以存放地
36、址— 每個(gè)寄存器又有它們各自的專(zhuān)用目的 AX一累加器,使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等; BX 一基址寄存器,常用做存放存儲(chǔ)器地址: CX一計(jì)數(shù)器,作為循環(huán)和串操作等指令中的隙含計(jì)數(shù)器: DX —數(shù)據(jù)寄存器,常用來(lái)存放雙字長(zhǎng)數(shù)據(jù)的高 16位,或存放外設(shè)端口地址。 2 .指針與變址寄存器組六 SP(Stack Pointer):堆棧指針寄存器 BP(Base Pointer):基地址指針寄存器 SI(Source Index):源變址寄存器 DI(Destination Index):目的變址寄存器 指針寄存器用于 尋址內(nèi)存堆棧內(nèi)的數(shù)據(jù) SP為堆棧指
37、針寄存器,指示棧頂?shù)钠频刂? SP不能再用于其他目的,具有專(zhuān)用目的 BP為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址 SP和BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲(chǔ)單元地址 變址寄存器常用于存儲(chǔ)器尋址時(shí) 提供地址 SI是源變址寄存器 DI是目的變址寄存器 串操作類(lèi)指令中,SI和DI具有特別的功能 3 .段寄存器組會(huì) 8086有4個(gè)16位段寄存器,每個(gè)段寄存器用來(lái) 確定一個(gè)邏輯段的起始地址 ,每種邏輯 段均有各自的用途。 CS (代碼段)指明代碼段的起始地址 SS (堆棧段)指明堆棧段的起始地址 DS (數(shù)據(jù)段)指明數(shù)據(jù)段的起始地址 ES (附加段)指明附
38、加段的起始地址 4.標(biāo)志寄存器(FRO 9位標(biāo)志 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF (1)狀態(tài)標(biāo)志 一6 bit OF 溢出標(biāo)志 (有符號(hào)數(shù)運(yùn)算) 8位運(yùn)算 OF= C7十C 6 16位運(yùn)算 OF= C15十Ci4 OF= 0,無(wú)溢出;OF= 1 ,溢出; CF 進(jìn)位標(biāo)志 (無(wú)符號(hào)數(shù)運(yùn)算) CF= N十C 7/ N十C15, N為加減標(biāo)志,加 N=0,減N=1; 8 位為 N C 7, 16 位為 N
39、C 15; CF= 0,加無(wú)進(jìn)位/減無(wú)借位;CF= 1,加有進(jìn)位/減有借位; ZF 零標(biāo)志 非全零 ZF= 0,全零 ZF= 1 (如:D7?Do=00H , D15?Do=0000H); *AF 輔助進(jìn)位標(biāo)志 AF= N C 3 當(dāng)AF= 0時(shí),修正值= 當(dāng)AF= 1時(shí),修正值= (BCD碼運(yùn)算) 0 0 0 0 0 0 0 0B 0 0 0 0 0 1 1 0B 例:BCD碼形式如前面介紹 19+ 17= ( BCD運(yùn)算) 19 0 0 0 1 1 0 0 1B + 17 0 0 0 1 0 1 1 1B 0 0 1 1 0 0 0 0B
40、修正值 (BCD 碼) 36 0 0 1 1 0 1 1 0B 0 0 0 0 0 1 1 0B SF 符號(hào)標(biāo)志 S已D7 /D15; (8位為D7, 16位為D15) S已0,正數(shù);SF= 1,負(fù)數(shù); PF 奇偶標(biāo)志 (包括符號(hào)位) 奇數(shù)個(gè)“1",PF= 0;偶數(shù)個(gè)“1",PF= 1; (2)控制標(biāo)志 一3 bit DF方向標(biāo)志 串操作指令 DF= 0, + (地址指針);DF= 1 ,—(地址指針); 如后面將介紹的串傳送時(shí),塊有重疊時(shí),必從尾指針起,做減法搬移; IF 中斷允許標(biāo)志 中斷 可屏蔽中斷 —IF= 0不響應(yīng)(禁止中斷),IF= 1響應(yīng)(允許中斷);
41、 (8086) 非屏蔽中斷(有請(qǐng)求即響應(yīng)) *TF 單步執(zhí)行標(biāo)志 TF= 0 連續(xù)執(zhí)行, TF= 1 單步執(zhí)行; 課后預(yù)習(xí):8086/8088的外部引腳與功能 下講提問(wèn): 1. 8088CPU包括哪兩個(gè)部分?功能是什么?相互關(guān)系如何? 2. 8088CPU內(nèi)部有哪些寄存器?分屬哪個(gè)部分? 3. 標(biāo)志位的含義。 第4講(第二章2) 教學(xué)內(nèi)容 1. 8086/8088的外部引腳與功能 2. 8086/8088體系結(jié)構(gòu) 基本要求 1 .掌握8086/8088 CPU的內(nèi)部工作時(shí)序。 2 .了解CPU外部引腳功能。 3 .掌握8086的系統(tǒng)配置、存儲(chǔ)器結(jié)構(gòu)。 上一講教學(xué)
42、效果檢查,預(yù)留問(wèn)題提問(wèn)。 檢查預(yù)習(xí)情況。 2.2 8086CPU 弓 I腳 2.2.1 種工作方式公用引腳 1. AD0 15:地址/數(shù)據(jù)復(fù)用引腳 *總線(xiàn)周期:由「、T2、T3、T4四個(gè)時(shí)鐘組成,T1為地址,其余為數(shù)據(jù)。 2. A16/ S3?A19/ S6:地址/狀態(tài)線(xiàn) T1: A16?A19地址線(xiàn) T2?T4: 9?S5狀態(tài)線(xiàn) S4 S3 含義 00 正在使用 ES S5= IF 01 正在使用 SS S6= 0 10 正在使用 CS 11 正在使用 DS 3. BHE/ S7:高8位數(shù)據(jù)允許線(xiàn)/狀態(tài)線(xiàn) T1 一 BHE 0
43、 一 AD8?AD15 (數(shù)據(jù)有效) 1 一 AD8?AD15 (數(shù)據(jù)無(wú)有效) 4. RD讀選通線(xiàn) RD = 0 表示正進(jìn)行 M或I/O讀操作 5. READY 準(zhǔn)備好線(xiàn) T1 T2 T3 T2N 74 READ仁0 插入Tw 并繼續(xù)檢測(cè) READY犬態(tài) READ仁1 進(jìn)入T4狀態(tài) 6. INTR 可屏蔽中斷請(qǐng)求線(xiàn) 若IF= 1,則在一條指令結(jié)束后即響應(yīng)中斷請(qǐng)求,進(jìn)入中斷處理 7. NMI 非可屏蔽中斷請(qǐng)求線(xiàn) 它不受IF的影響 8. RESET 復(fù)位線(xiàn)(至少維持4個(gè)時(shí)鐘周期的高電平) CS= FFFFH SS= ES= DS= 0000H , IP=0000H,指
44、令隊(duì)列為空; F= 0000H一IF= 0,表示禁止中斷; 例:物理地址, CS: IPf FFFF0H 9. TEST測(cè)試線(xiàn)(與8087) TEST=1,執(zhí)行 WAIT指令;TEST = 0,繼續(xù)執(zhí)行; 10. CLK 11. MN/ MX 最小/最大模式線(xiàn) 12. GND 2.2.2 小模式 (第24?31引腳)CPU直接控制系統(tǒng) 1. M/ IO 存儲(chǔ)器、I/O選擇線(xiàn) M/ IO =1 一 訪(fǎng)問(wèn) M (Ao?A19) M/ IO =0 一 訪(fǎng)問(wèn) I/O 端口( Ao?A15) 2. WR寫(xiě)信號(hào)線(xiàn) WR=0, CPU完成對(duì)M或I/O端口的寫(xiě)操作(CPURM、I/
45、O) 3. INTA中斷響應(yīng)線(xiàn) INTA0,外設(shè)要提供中斷類(lèi)型號(hào);INTR= 1, IF= 1; 4. ALE 地址鎖存線(xiàn) Ti 時(shí),ALE= 1; 5. DT/R 數(shù)據(jù)收發(fā)線(xiàn) 6. DEN 數(shù)據(jù)允許線(xiàn) 7. HOLD 總線(xiàn)請(qǐng)求線(xiàn) 8. HLDA總線(xiàn)響應(yīng)線(xiàn) 2.2.3 大模式 (第24?31引腳)CPU間接控制系統(tǒng) 1. SO S1 S2 總線(xiàn)周期狀態(tài)線(xiàn) 輸出 S7 S1 & 操作 及 S1 S0 操作 0 0 0 發(fā)中斷響應(yīng)信號(hào) 1 0 0 取指令 0 0 1 讀I/O端口 1 0 1 讀內(nèi)存 0 1 0 寫(xiě)I/O
46、端口 1 1 0 與內(nèi)存 0 1 1 暫停 1 1 1 無(wú)源狀態(tài) 2. RQ / GT0、RQ /GTi總線(xiàn)請(qǐng)求/響應(yīng)線(xiàn) 與最小方式的HOLD、HLDA線(xiàn)為相同引腳 3. LOCK鎖定線(xiàn)(總線(xiàn)鎖定) 4. Q S、Q So 指令隊(duì)列狀態(tài)線(xiàn) Q S Q S0 意義 0 0 無(wú)操作 0 1 從指令隊(duì)列中的第1個(gè)字節(jié)取走代碼 1 0 隊(duì)列為空 1 1 除第1個(gè)字節(jié)外,還取走了后續(xù)字節(jié)中的代碼 2.3 8086/8088 CPU 的時(shí)序 ☆ 1 .總線(xiàn)周期的相關(guān)概念 (1)時(shí)鐘周期:為CPU工作主頻的時(shí)鐘周期: T=1/f
47、 (f為主頻) (2)總線(xiàn)周期:CPU通過(guò)總線(xiàn)對(duì)存儲(chǔ)器或I/O端口進(jìn)行一次訪(fǎng)問(wèn)(讀/寫(xiě)操作)所需的時(shí)間 稱(chēng)為一個(gè)總線(xiàn)周期;一個(gè)總線(xiàn)周期至少包括 4個(gè)時(shí)鐘周期,即 T1、T2、T3、T4。 (3)指令周期:指計(jì)算機(jī)完成一條指令的執(zhí)行所需要的時(shí)間, 它包含一個(gè)或多個(gè)總線(xiàn)周期。 通常采用 MIPS ( Million Instructions Per Second)單位,即每秒執(zhí)行百萬(wàn)條指令的含義。 2 . 8086典型的總線(xiàn)周期時(shí)序(Ti?T4) 3 .最小模式讀總線(xiàn)周期 (1) 8088讀總線(xiàn)周期 T1 T2 個(gè)總線(xiàn)會(huì)
48、期 T3 CLK ZD>-< ZX Z2ZZDCZ A 故據(jù)坳入 ALE ZK RD DT;R T1狀態(tài)——輸出20位存儲(chǔ)器地址 A19?A0 io/M輸出低電平,表示存儲(chǔ)器操作; ALE輸出正脈沖,表示復(fù)用總線(xiàn)輸出地址 T2狀態(tài)一一輸出控制信號(hào) R?? T3和Tw狀態(tài)一一檢測(cè)數(shù)據(jù)傳送是否能夠完成 T4狀態(tài)一一前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送 (2) 8088寫(xiě)總線(xiàn)周期 , ..卜怠線(xiàn)庵期 T1狀態(tài)——輸出20位存儲(chǔ)器地址 A1
49、9?A0 io/M輸出低電平,表示存儲(chǔ)器操作; ALE輸出正脈沖,表示復(fù)用總線(xiàn)輸出地址 T2狀態(tài)一一輸出控制信號(hào) W??和數(shù)據(jù)D7?D0 T3和Tw狀態(tài)一一檢測(cè)數(shù)據(jù)傳送是否能夠完成 T4狀態(tài)一一完成數(shù)據(jù)傳送 2.4 8086/8088 的體系結(jié)構(gòu) 1. 8086存儲(chǔ)體結(jié)構(gòu) AO BME Ci2-I D0^D7 (1個(gè)總線(xiàn)周期) ①字節(jié): 8bit ②字: 16bit 偶地址一數(shù)據(jù)總線(xiàn)低 8位 奇地址一數(shù)據(jù)總線(xiàn)高 8位 低8位所在的地址為字的地址 ⑴規(guī)則字: 字地址為偶地址(1個(gè)總線(xiàn)周期) ⑵非
50、規(guī)則字:字地址為奇地址(2個(gè)總線(xiàn)周期) D0 ?Di5一 T1 ?T4 (a)偶地址一 D0?D7 (b)奇地址一 D8?D15 (占用Ti?T4 一個(gè)總線(xiàn)周期) CPUR M ⑹ Ao = 0 偶地址一匚二,1 一 Do?D7 12H (d) Ao = 1偶地址一 奇地址一 偶地址一 田地址一 34H 1 1個(gè)總線(xiàn)周期(規(guī)則字) 一 Do ?D7 一 D8 ?D15 一 Do ?D7 一 D8 ?D15 2個(gè)總線(xiàn)周期(非規(guī)則字) 12H 34H — 奇地址一 一 D8?D15
51、 2 .數(shù)據(jù)的表達(dá)與存放 計(jì)算機(jī)中信息的單位 二進(jìn)制位Bit:存儲(chǔ)一位二進(jìn)制數(shù): 0或1 字節(jié)Byte: 8個(gè)二進(jìn)制位, D7?Do 字Word: 16位,2個(gè)字節(jié),D15?D0 雙字DWord: 32位,4個(gè)字節(jié),D31?Do 最低有效位LSB:數(shù)據(jù)的最低位,Do位 最高有效位MSB:數(shù)據(jù)的最高位,對(duì)應(yīng)字節(jié)、字、雙字分別指 D7、Di5、D31位 多字節(jié)數(shù)據(jù)在存儲(chǔ)器中占連續(xù)的多個(gè)存儲(chǔ)單元: 存放時(shí),低字節(jié)存入低地址,高字節(jié)存入高地址; 表達(dá)時(shí),用它的低地址表示多字節(jié)數(shù)據(jù)占據(jù)的地址空間。 3 .存儲(chǔ)器的分段管理人 8086有20條地址線(xiàn) 最大可尋址空間為 22
52、0= 1MB 物理地址范圍從 00000H?FFFFFH 8086將1MB空間分成許多邏輯段(Segment) 每個(gè)段最大限制為 64KB 段地址的低4位為0000B 一個(gè)存儲(chǔ)單元除具有一個(gè)唯一的物理地址外,還具有多個(gè)邏輯地址 8086對(duì)邏輯段要求: 段地址低4位均為0 每段最大不超過(guò)64KB 8086對(duì)邏輯段并不要求: 必須是64KB 各段之間完全分開(kāi)(即可以重疊) 如何分配各個(gè)邏輯段 程序的指令序列必須安排在代碼段 程序使用的堆棧一定在堆棧段 程序中的數(shù)據(jù)默認(rèn)是安排在數(shù)據(jù)段,也經(jīng)常安排在附加段,尤其是串操作的目的區(qū) 必須是附加段 數(shù)據(jù)的存放比較靈活,實(shí)際上可
53、以存放在任何一種邏輯段中 4 .物理地址和邏輯地址” 對(duì)應(yīng)每個(gè)物理存儲(chǔ)單元都有一個(gè) 唯一的20位編號(hào),就是物理地址,從00000H?FFFFFH CPU以物理地址訪(fǎng)問(wèn)存儲(chǔ)單元。 分段后在用戶(hù)編程時(shí),采用 邏輯地址,形式為 段(基)地址:(段內(nèi))偏移地址 段基地址 說(shuō)明邏輯段在主存中的起始位置 ,8086規(guī)定段基地址必須是模 16地址:xxxx0H, 省略低4位0000B,段地址就可以用 16位數(shù)據(jù)表示,就能用 16位段寄存器表達(dá)段地址。 偏移地址說(shuō)明主存單元距離段起始位置的偏移量 ,每段不超過(guò) 64KB,偏移地址也可用 16位數(shù)據(jù)表示 將邏輯地址中的段地址左移 4位,加上偏
54、移地址就得到 20位物理地址 一個(gè)物理地址可以有多個(gè)邏輯地址 5 .堆棧. 堆棧:堆棧是按照 先進(jìn)后出,后進(jìn)先出 原則組織的一段內(nèi)存區(qū)域。子程序調(diào)用和中斷 響應(yīng)中的現(xiàn)場(chǎng)保護(hù)常用堆棧。 向上生長(zhǎng)型堆棧:進(jìn)棧時(shí) SP指針遞增,出棧時(shí) SP指針遞減 向下生長(zhǎng)型堆棧:進(jìn)棧時(shí)SP指針遞減,出棧時(shí) SP指針遞增。 8086/8088的堆棧屬于向下生長(zhǎng)型,在堆棧段( SS),用堆棧指針 SP指向堆棧的頂部。 堆棧結(jié)構(gòu) 堆棧位置:8086/8088的堆棧在存儲(chǔ)器中 實(shí)現(xiàn),并由堆棧段寄存器 SS和堆棧指針寄存 器SP來(lái)定位。 堆棧大小:一個(gè)系統(tǒng)中可以有多個(gè)堆棧,每個(gè)堆棧的空間最大為 64K字
55、節(jié)。 堆棧個(gè)數(shù):若有多個(gè)堆棧, 只有一個(gè)現(xiàn)行堆棧。SS寄存器存放現(xiàn)行堆棧的基址, SP寄 存器指向棧頂。 堆棧操作:進(jìn)棧操作和出棧操作。 8086/8088 CPU的堆棧操作必須以字為單位。 6. 各種類(lèi)型訪(fǎng)問(wèn)存儲(chǔ)器時(shí)的段地址和偏移地址 訪(fǎng)問(wèn)存儲(chǔ)器的方式 默認(rèn) 可跨越 偏移地址 取指令 CS 無(wú) IP 堆棧操作 SS 無(wú) SP 一般數(shù)據(jù)訪(fǎng)問(wèn) DS CS, ES, SS 有效地址EA 以BP為基址的尋址 SS CS, ES, DS 有效地址EA 串操作的源操作數(shù) DS CS, ES, SS SI 串操作的目的操作數(shù) ES 無(wú) DI
56、 下講提問(wèn): 1 .最小模式下的引腳與功能; 2 .總線(xiàn)周期、指令周期、 Tw的概念; 3 .多字節(jié)數(shù)據(jù)的存放; 本章作業(yè): P35: 1、 2、 5、 8、 11 課后預(yù)習(xí):尋址方式、數(shù)據(jù)傳送指令(第三章) 第5講(第三章1) 教學(xué)內(nèi)容 1 . 8086/8088的指令格式與尋址方式; 2 .數(shù)據(jù)傳送指令。 基本要求 1 .掌握尋址方式的含義。 2 .熟練掌握常用的數(shù)據(jù)傳送指令。 上一講內(nèi)容回顧 提問(wèn)上一講留下的思考題與問(wèn)題,檢查上一講教學(xué)效果。 簡(jiǎn)要回顧第二章,引入第三章主要教學(xué)內(nèi)容 上一章講述了 8086微處理器的內(nèi)部結(jié)構(gòu),包括 EU和BIU,以及
57、他們的工作原理。要想 讓這些硬件真正工作起來(lái),必須給他們指令,告訴他們做什么。這一章我們將要學(xué)習(xí) 8086 都能接受哪些指令——也就是8086的指令系統(tǒng)。 3.1 令系統(tǒng)概述 指令:使計(jì)算機(jī)執(zhí)行某種特定操作的二進(jìn)制編碼。 指令系統(tǒng):指一種計(jì)算機(jī)能夠識(shí)別和 執(zhí)行的所有不同指令的集合。 每種CPU在設(shè)計(jì)時(shí)就規(guī)定了一系列與硬件電路相配合的指令。指令功能的實(shí)現(xiàn)需要硬 件結(jié)構(gòu)支持。 CISC ( Complex Instruction Set Computer)復(fù)雜指令集計(jì)算機(jī) RISC ( Reduced Instruction Set Computer)精簡(jiǎn)指令集計(jì)算機(jī) CISC
58、的指令豐富、功能強(qiáng)大、結(jié)構(gòu)復(fù)雜,適合于通用機(jī)。 RISC的指令規(guī)整、簡(jiǎn)單高效, 適合于專(zhuān)用機(jī)。Intel CPU為CISC 指令組成 操作碼 操作數(shù) 操作碼說(shuō)明計(jì)算機(jī)要執(zhí)行哪種操作,如傳送、運(yùn)算、移位、跳轉(zhuǎn)等操作,它是指令中不 可缺少的組成部分。 每種指令的操作碼用一個(gè)唯一的助記符表示(指令功能的英文縮寫(xiě)) ,對(duì)應(yīng)著機(jī)器指令 的一個(gè)二進(jìn)制編碼。 操作數(shù)(地址碼)是指令執(zhí)行的參與者,即各種操作的對(duì)象 有些指令不需要操作數(shù), 通常的指令都有一個(gè)或兩個(gè)操作數(shù), 也有個(gè)別指令有3個(gè)甚至 4個(gè)操作數(shù) 指令的助記符格式 操作碼 操作數(shù)1,操作數(shù)2;注釋 操作數(shù)2,稱(chēng)為源操作
59、數(shù) src,它表示參與指令操作的一個(gè)對(duì)象 操作數(shù)1,稱(chēng)為目的操作數(shù) dest,它不僅可以作為指令操作的一個(gè)對(duì)象, 還可以用來(lái)存 放指令操作的結(jié)果 分號(hào)后的內(nèi)容是對(duì)指令的解釋。 指令中的操作數(shù)是指令執(zhí)行的參與者,可以是一個(gè)具體的數(shù)值(立即數(shù)尋址方式),可 以是存放數(shù)據(jù)的寄存器 (寄存器尋址方式),或指明數(shù)據(jù)在主存位置的 存儲(chǔ)器地址(存儲(chǔ)器 尋址方式)。 3.2 址方式日 指令系統(tǒng)設(shè)計(jì)了多種操作數(shù)的來(lái)源。 尋找操作數(shù)的過(guò)程就是操作數(shù)的尋址 。操作數(shù)采 取哪一種尋址方式,會(huì)影響機(jī)器運(yùn)行的速度和效率。 3.2.1 作數(shù)的尋址方式 1 .立即尋址方式一源操作數(shù)、目標(biāo)操作數(shù)
60、例:① MOV AL, 2 ② MOV BX, 1234H 2 . 寄存器尋址方式 8bit、16bit 寄存器一立即數(shù) 例:MOV AL, AH; (AL) — (AH) 3 .直接尋址方式 有效地址XXXXHB指令代碼中 例:MOV BX, [5678H]; 若當(dāng)前 DS= 1234H, [179B8H]= 12H, [179B9H] = 34H, 物理地址 DS : 5678H= 179B8H,有效地址(偏移地址) 5678H; 故(BX)= 3412H, (BL)= 12H, (BH)=34H; 4 .寄存器間接尋址方式 (BX SI、DI)有效地址XXXXH在寄存
61、器中 例:MOV BX, [SI] ;將首地址為物理地址 DS : SI的內(nèi)容放入BX中 5 .寄存器相對(duì)尋址方式 有效地址:寄存器(SI/DI/BX /BP)+8位或16位偏移量(帶符號(hào)數(shù))(補(bǔ)碼表示) 物理地址=16*(DS) + (SI/DI/BX)+8位或16位偏移量 或物理地址=16*(SS)+ (BP)+ 8位或16位偏移量 例:① MOV DX, [BP+ 10H](或 MOV DX, 10 [BP]) ;將首地址為物理地址 SS: BP的內(nèi)容放入 DX中 ②MOV [BP+1234H], AL陵 MOV 1234H [BX], AL) ;將AL的內(nèi)容放入物理地
62、址 DS : BX的存儲(chǔ)器中 6 .基址變址尋址方式(用于表格) 有效地址:基址寄存器(BX/BP)+變址寄存器(SI/DI) 物理地址=16*(DS) + (BX)+ (SI/DI) 或物理地址=16*(SS)+ (BP)+ (SI/DI) 例:① MOV AX, [BX][SI](或 MOV AX, [BX+ SI]) ② MOV [BX][DI], AL(或 MOV [BX+ DI], AL) 7 .相對(duì)基址變址尋址方式 有效地址:基址寄存器(BX/BP) +變址寄存器(SI/DI) + 8位或16位偏移量 物理地址=16*(DS) + (BX)+ (SI/DI) +
63、8位或16位偏移量 或物理地址=16*(SS)+ (BP)+ (SI/DI) + 8位或16位偏移量 例:MOV AL, [BX+ SI+ 12H] MOV AL, 12[BX+ SI] MOV AL, 12[BX][SI] ;三者等效 3.2.2 移地址的尋址方式 <64k,只需修改IP (段內(nèi)轉(zhuǎn)移) >64k,修改CS IP (段間轉(zhuǎn)移) 1 .段內(nèi)直接尋址方式 IP—指令碼(地址<16位〉/位移量<8位/16位〉)帶符號(hào)數(shù) 2 .段內(nèi)間接尋址方式 IP-寄存器(16位)/存儲(chǔ)器(16位)(5種尋址方式) 例:JMP BX ; (BX) 一(IP),將BX的內(nèi)容送給
64、IP JMP [BX];將首地址為 DS : BX的內(nèi)容送給IP JMP WORD PTR [BX];同 JMP[BX] 3 .段間直接尋址方式 CS: IP-指令碼(地址<32位〉) 例:JMP 4000H A000H ; (CS) = 4000H, (IP) = A000H 4 .段間間接尋址方式 CS: IP-存儲(chǔ)器 3.3 據(jù)傳送指令(不影響F) 3.3.1 用數(shù)據(jù)傳送指令 1、傳送指令 ;源和目標(biāo)不能同時(shí)為存儲(chǔ)器 M ① MOV M/Ri, M/R2 M/Ri—M/R2 ② MOV R, DATA8/16 例:MOV AX, 1234H MOV D
65、H, 56H ③ MOV AC, M ; AC= AX/AL ;AC- M 存儲(chǔ)器一累加器 ④MOV M, AC ; M—AC ⑤ MOV SEG M/R ; SEG= DS; SS; ES (不包括 CS) 立即數(shù)不能直接賦給段地址 例:欲將DS^ 1000H MOV DS, 1000H ;是錯(cuò)的! 只能用如下方法: MOV AX, 1000H MOV DS, AX ;先將立即數(shù)賦給寄存器再賦給段寄存器 ⑥MOV M/R, SEG ; SEG= CS DS ES SS ⑦M(jìn)OV M/R, DATA8/16 2、堆棧操作指令 進(jìn)棧: ① PUSH M/R ②PUS
66、H SEG 例:PUSH AL PUSH AX 出棧: ③ PUSH M/R ③ PUSHSEG SS SP (16 位) 只能以16位為單位向堆棧中賦數(shù)據(jù) SEG=CS DS ES SS ;錯(cuò)! ;對(duì)!該操作為修改指針 S2 SP- 2,再將AX的內(nèi)容放入棧頂 只能以16位為單位向堆棧中賦數(shù)據(jù) SEG= DS ES S SEG不能為 CS 例:POP AX;該操作為將棧頂數(shù)據(jù)字取出放入 AX中,并修改指針 S2 SP+ 2 堆棧應(yīng)用* ①中斷處理程序 保護(hù)斷點(diǎn),恢復(fù)斷點(diǎn) ②子程序 ③保護(hù)現(xiàn)場(chǎng)(寄存器) 例:PUSH AX PUSH BX POP BX POP AX ④交換數(shù)據(jù) 例:AX? BX 方法一:MOV CX, AX MOV AX, BX MOV BX, CX 方法二:PUSH AX PUSH BX POP AX POP BX ⑤子程序中有關(guān)入口參數(shù)的傳遞 3、交換指令 8位/16位 ① XCHG R, M/R ; R? M/R ②XCHG R ; A
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025《增值稅法》高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學(xué)習(xí)《中華人民共和國(guó)科學(xué)技術(shù)普及法》推進(jìn)實(shí)現(xiàn)高水平科技自立自強(qiáng)推動(dòng)經(jīng)濟(jì)發(fā)展和社會(huì)進(jìn)步
- 激揚(yáng)正氣淬煉本色踐行使命廉潔從政黨課
- 加強(qiáng)廉潔文化建設(shè)夯實(shí)廉政思想根基培育風(fēng)清氣正的政治生態(tài)
- 深入學(xué)習(xí)2024《突發(fā)事件應(yīng)對(duì)法》全文提高突發(fā)事件預(yù)防和應(yīng)對(duì)能力規(guī)范突發(fā)事件應(yīng)對(duì)活動(dòng)保護(hù)人民生命財(cái)產(chǎn)安全
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)第一輪單元滾動(dòng)復(fù)習(xí)第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)第14單元階段性綜合復(fù)習(xí)作業(yè)課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單十五課件新人教版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)易錯(cuò)清單七課件西師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)易錯(cuò)清單六作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)易錯(cuò)清單二作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)四分?jǐn)?shù)的意義和性質(zhì)第10課時(shí)異分母分?jǐn)?shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)周周練四作業(yè)課件北師大版
- 2023年五年級(jí)數(shù)學(xué)下冊(cè)六折線(xiàn)統(tǒng)計(jì)圖單元復(fù)習(xí)卡作業(yè)課件西師大版
- 2023年四年級(jí)數(shù)學(xué)上冊(cè)6除數(shù)是兩位數(shù)的除法單元易錯(cuò)集錦一作業(yè)課件新人教版