《微機(jī)原理與接口技術(shù)》講稿1-3章
《《微機(jī)原理與接口技術(shù)》講稿1-3章》由會(huì)員分享,可在線閱讀,更多相關(guān)《《微機(jī)原理與接口技術(shù)》講稿1-3章(60頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、《微機(jī)原理與接口技術(shù)》講稿 張永林,2015 45 《微機(jī)原理與接口技術(shù)》講稿 開課前準(zhǔn)備:了解教學(xué)班級(jí)基本情況。 開課前聯(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 .課程簡介 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é)生名單無誤; 留下班長、學(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;…… 課程簡介 1 .課程基本情況 學(xué)分/學(xué)時(shí):4.5/72 課程類別:必修/專業(yè)基礎(chǔ),考試 先修課程:大學(xué)計(jì)算機(jī)基礎(chǔ)、計(jì)算機(jī)程序設(shè)計(jì)、數(shù)字電子技術(shù)、模擬電子技術(shù)等 后續(xù)課程:單片機(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)中的總線、DMA控制器、USB串行接口、Pentium微處理器等內(nèi)容自學(xué)。此外,本課 程單獨(dú)設(shè)置了 1.5W的課程設(shè)計(jì)環(huán)節(jié)。 其他:電子信息類專業(yè)的學(xué)科基礎(chǔ)課, 涉電各工程類專業(yè)的必修課, 研究生入學(xué)考試的 可選專業(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、生初步掌握匯編語言程序設(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ì)開發(fā) 的能力。(畢業(yè)要求3) (4)使學(xué)生了解微機(jī)系統(tǒng)發(fā)展的新技術(shù)和新知識(shí)。 (畢業(yè)要求1) 3 .課程教學(xué)要求 本課程的教學(xué)強(qiáng)調(diào) 理論與實(shí)踐相結(jié)合。要通過理論學(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í)考核:包括到課情況、課堂回答問題與討論情況、 每章的復(fù)習(xí)思考題、 網(wǎng)絡(luò)學(xué)習(xí)與 互動(dòng)情況等,占總成績的 30%。平時(shí)考核不合格不得參加期末考試。 實(shí)驗(yàn)考核:包括實(shí)驗(yàn)準(zhǔn)備、實(shí)驗(yàn)實(shí)施與效果、實(shí)驗(yàn)報(bào)告等,占總成績的 10%。實(shí)驗(yàn)考核 不合格不得參加期末考試。 期末考試:采用閉卷筆試形式,具體要求見本課程考試大綱。 期末成績占總成績的 60%。 對(duì)期末考試可能嘗試采用以下方式替代( 考核方式改革探索): (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%。主要陳述如果通過系統(tǒng)設(shè)計(jì)或作品研制達(dá)成了本課程教學(xué)目 標(biāo),并回答老師問題;答辯老師應(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í)成績 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 |都可以展開為: 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 )用大寫字母表示 二進(jìn)
11、制用 B (Binary)、八進(jìn)制用 Q (Octal)、十進(jìn)制用 D (Decimal)、十六進(jìn)制用 H (Hexadecimal) 例:1010B=10D=12Q=0AH 一般十進(jìn)制數(shù)后可以省略不寫。 編程時(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)展開 例: (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ù),直到滿足要 求的精度或小數(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 等。 無符號(hào)數(shù):全部有效位都用來存放數(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 說明:變補(bǔ)是一種運(yùn)算,不是一種碼制 。具體操作是:不論 [X]補(bǔ)是正還是負(fù),連其符 號(hào)位一起變反,末尾加 1。 例:設(shè)字長為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ǔ)碼 ? 下講提問: 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、 提問上一講留下的思考題與問題,檢查上一講教學(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ù) 通常有兩種簡單約定: ※小數(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稱為尾數(shù),j稱為階碼。 其格式由階符、階碼、數(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滿足: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 改寫 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ù)相加本位超過9或本位沒有超過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),稱為“信息交換標(biāo)準(zhǔn)代碼” ASCII碼是用7位二進(jìn)制數(shù)編碼,可以表示128個(gè)字符 如:大寫字母 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)寫出校驗(yàn)位的值; 若要進(jìn)行偶校驗(yàn),校驗(yàn)位的值又如 奇校驗(yàn)位值:“0” 偶校驗(yàn)位值:“1” 1.2.3 字編碼 國標(biāo)碼:(GB2312—80漢字編碼),兩字節(jié)表不。在國標(biāo)碼中,一■級(jí)漢字按漢語拼首字 母順序排列,同音字以筆劃順序排列;二級(jí)漢字按部首順序排列。 漢字以機(jī)內(nèi)碼形式存儲(chǔ)和傳輸。常有多種輸入方式,但其機(jī)內(nèi)碼唯一,國際碼的兩字節(jié) 最高位均置“1”后形成機(jī)內(nèi)碼。 如“啊”的國標(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 .無符號(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)沒有溢出 (2)和的結(jié)果:01110110,發(fā)生了溢出 ⑶ 和的結(jié)果:10000100,發(fā)生了溢出 ⑷ 和的結(jié)果:10001000,沒有發(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)系,沒有 11010101 11010101 V 01100011 - 01100011 結(jié)果 11110111 01000001 注意:在兩個(gè)多位邏輯變量之間進(jìn)行邏輯運(yùn)算時(shí), 算術(shù)運(yùn)算中的進(jì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 下卜戶補(bǔ)=[1 1 1 0 1 0 1 0B 戶補(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)的基本組成。 下講提問: 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)容回顧 提問上一講留下的思考題與問題,檢查上一講教學(xué)效果。 簡要回顧第一章,引入第二章主要教學(xué)內(nèi)容 上一章所講的數(shù)據(jù)(包括數(shù)值和編碼)在計(jì)算機(jī)中是如何存放的?聯(lián)想電子技術(shù)課程中 學(xué)習(xí)過的加法電路,上一章所講的算術(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ì)列 「苜線接口拴制邏輯 4喊中5和小風(fēng)刊 TT 小11曰*岡叱二二U 執(zhí)行單元EU負(fù)責(zé)指令的執(zhí)行,從 BIU的指令隊(duì)列中取指令和數(shù)據(jù),不直接與外部總線 相連。 總線接口單元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ù)塊操作類 ③標(biāo)志寄存器FR (PSW) 狀態(tài)標(biāo)志 控制標(biāo)志 (2)算術(shù)邏輯單元 ALU ①算術(shù)運(yùn)算:+ — X + ②邏輯運(yùn)算:AND OR NOT XOR ③移位操作 ④位操作 總線接口單元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位)(無符號(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ù)寄存器用來存放計(jì)算的結(jié)果和操作數(shù).也可以存放地
36、址— 每個(gè)寄存器又有它們各自的專用目的 AX一累加器,使用頻度最高,用于算術(shù)、邏輯運(yùn)算以及與外設(shè)傳送信息等; BX 一基址寄存器,常用做存放存儲(chǔ)器地址: CX一計(jì)數(shù)器,作為循環(huán)和串操作等指令中的隙含計(jì)數(shù)器: DX —數(shù)據(jù)寄存器,常用來存放雙字長數(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不能再用于其他目的,具有專用目的 BP為基址指針寄存器,表示數(shù)據(jù)在堆棧段中的基地址 SP和BP寄存器與SS段寄存器聯(lián)合使用以確定堆棧段中的存儲(chǔ)單元地址 變址寄存器常用于存儲(chǔ)器尋址時(shí) 提供地址 SI是源變址寄存器 DI是目的變址寄存器 串操作類指令中,SI和DI具有特別的功能 3 .段寄存器組會(huì) 8086有4個(gè)16位段寄存器,每個(gè)段寄存器用來 確定一個(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,無溢出;OF= 1 ,溢出; CF 進(jìn)位標(biāo)志 (無符號(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,加無進(jìn)位/減無借位;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的外部引腳與功能 下講提問: 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ù)留問題提問。 檢查預(yù)習(xí)情況。 2.2 8086CPU 弓 I腳 2.2.1 種工作方式公用引腳 1. AD0 15:地址/數(shù)據(jù)復(fù)用引腳 *總線周期:由「、T2、T3、T4四個(gè)時(shí)鐘組成,T1為地址,其余為數(shù)據(jù)。 2. A16/ S3?A19/ S6:地址/狀態(tài)線 T1: A16?A19地址線 T2?T4: 9?S5狀態(tài)線 S4 S3 含義 00 正在使用 ES S5= IF 01 正在使用 SS S6= 0 10 正在使用 CS 11 正在使用 DS 3. BHE/ S7:高8位數(shù)據(jù)允許線/狀態(tài)線 T1 一 BHE 0
43、 一 AD8?AD15 (數(shù)據(jù)有效) 1 一 AD8?AD15 (數(shù)據(jù)無有效) 4. RD讀選通線 RD = 0 表示正進(jìn)行 M或I/O讀操作 5. READY 準(zhǔn)備好線 T1 T2 T3 T2N 74 READ仁0 插入Tw 并繼續(xù)檢測 READY犬態(tài) READ仁1 進(jìn)入T4狀態(tài) 6. INTR 可屏蔽中斷請(qǐng)求線 若IF= 1,則在一條指令結(jié)束后即響應(yīng)中斷請(qǐng)求,進(jìn)入中斷處理 7. NMI 非可屏蔽中斷請(qǐng)求線 它不受IF的影響 8. RESET 復(fù)位線(至少維持4個(gè)時(shí)鐘周期的高電平) CS= FFFFH SS= ES= DS= 0000H , IP=0000H,指
44、令隊(duì)列為空; F= 0000H一IF= 0,表示禁止中斷; 例:物理地址, CS: IPf FFFF0H 9. TEST測試線(與8087) TEST=1,執(zhí)行 WAIT指令;TEST = 0,繼續(xù)執(zhí)行; 10. CLK 11. MN/ MX 最小/最大模式線 12. GND 2.2.2 小模式 (第24?31引腳)CPU直接控制系統(tǒng) 1. M/ IO 存儲(chǔ)器、I/O選擇線 M/ IO =1 一 訪問 M (Ao?A19) M/ IO =0 一 訪問 I/O 端口( Ao?A15) 2. WR寫信號(hào)線 WR=0, CPU完成對(duì)M或I/O端口的寫操作(CPURM、I/
45、O) 3. INTA中斷響應(yīng)線 INTA0,外設(shè)要提供中斷類型號(hào);INTR= 1, IF= 1; 4. ALE 地址鎖存線 Ti 時(shí),ALE= 1; 5. DT/R 數(shù)據(jù)收發(fā)線 6. DEN 數(shù)據(jù)允許線 7. HOLD 總線請(qǐng)求線 8. HLDA總線響應(yīng)線 2.2.3 大模式 (第24?31引腳)CPU間接控制系統(tǒng) 1. SO S1 S2 總線周期狀態(tài)線 輸出 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 寫I/O
46、端口 1 1 0 與內(nèi)存 0 1 1 暫停 1 1 1 無源狀態(tài) 2. RQ / GT0、RQ /GTi總線請(qǐng)求/響應(yīng)線 與最小方式的HOLD、HLDA線為相同引腳 3. LOCK鎖定線(總線鎖定) 4. Q S、Q So 指令隊(duì)列狀態(tài)線 Q S Q S0 意義 0 0 無操作 0 1 從指令隊(duì)列中的第1個(gè)字節(jié)取走代碼 1 0 隊(duì)列為空 1 1 除第1個(gè)字節(jié)外,還取走了后續(xù)字節(jié)中的代碼 2.3 8086/8088 CPU 的時(shí)序 ☆ 1 .總線周期的相關(guān)概念 (1)時(shí)鐘周期:為CPU工作主頻的時(shí)鐘周期: T=1/f
47、 (f為主頻) (2)總線周期:CPU通過總線對(duì)存儲(chǔ)器或I/O端口進(jìn)行一次訪問(讀/寫操作)所需的時(shí)間 稱為一個(gè)總線周期;一個(gè)總線周期至少包括 4個(gè)時(shí)鐘周期,即 T1、T2、T3、T4。 (3)指令周期:指計(jì)算機(jī)完成一條指令的執(zhí)行所需要的時(shí)間, 它包含一個(gè)或多個(gè)總線周期。 通常采用 MIPS ( Million Instructions Per Second)單位,即每秒執(zhí)行百萬條指令的含義。 2 . 8086典型的總線周期時(shí)序(Ti?T4) 3 .最小模式讀總線周期 (1) 8088讀總線周期 T1 T2 個(gè)總線會(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ù)用總線輸出地址 T2狀態(tài)一一輸出控制信號(hào) R?? T3和Tw狀態(tài)一一檢測數(shù)據(jù)傳送是否能夠完成 T4狀態(tài)一一前沿讀取數(shù)據(jù),完成數(shù)據(jù)傳送 (2) 8088寫總線周期 , ..卜怠線庵期 T1狀態(tài)——輸出20位存儲(chǔ)器地址 A1
49、9?A0 io/M輸出低電平,表示存儲(chǔ)器操作; ALE輸出正脈沖,表示復(fù)用總線輸出地址 T2狀態(tài)一一輸出控制信號(hào) W??和數(shù)據(jù)D7?D0 T3和Tw狀態(tài)一一檢測數(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è)總線周期) ①字節(jié): 8bit ②字: 16bit 偶地址一數(shù)據(jù)總線低 8位 奇地址一數(shù)據(jù)總線高 8位 低8位所在的地址為字的地址 ⑴規(guī)則字: 字地址為偶地址(1個(gè)總線周期) ⑵非
50、規(guī)則字:字地址為奇地址(2個(gè)總線周期) D0 ?Di5一 T1 ?T4 (a)偶地址一 D0?D7 (b)奇地址一 D8?D15 (占用Ti?T4 一個(gè)總線周期) CPUR M ⑹ Ao = 0 偶地址一匚二,1 一 Do?D7 12H (d) Ao = 1偶地址一 奇地址一 偶地址一 田地址一 34H 1 1個(gè)總線周期(規(guī)則字) 一 Do ?D7 一 D8 ?D15 一 Do ?D7 一 D8 ?D15 2個(gè)總線周期(非規(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條地址線 最大可尋址空間為 22
52、0= 1MB 物理地址范圍從 00000H?FFFFFH 8086將1MB空間分成許多邏輯段(Segment) 每個(gè)段最大限制為 64KB 段地址的低4位為0000B 一個(gè)存儲(chǔ)單元除具有一個(gè)唯一的物理地址外,還具有多個(gè)邏輯地址 8086對(duì)邏輯段要求: 段地址低4位均為0 每段最大不超過64KB 8086對(duì)邏輯段并不要求: 必須是64KB 各段之間完全分開(即可以重疊) 如何分配各個(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以物理地址訪問存儲(chǔ)單元。 分段后在用戶編程時(shí),采用 邏輯地址,形式為 段(基)地址:(段內(nèi))偏移地址 段基地址 說明邏輯段在主存中的起始位置 ,8086規(guī)定段基地址必須是模 16地址:xxxx0H, 省略低4位0000B,段地址就可以用 16位數(shù)據(jù)表示,就能用 16位段寄存器表達(dá)段地址。 偏移地址說明主存單元距離段起始位置的偏移量 ,每段不超過 64KB,偏移地址也可用 16位數(shù)據(jù)表示 將邏輯地址中的段地址左移 4位,加上偏
54、移地址就得到 20位物理地址 一個(gè)物理地址可以有多個(gè)邏輯地址 5 .堆棧. 堆棧:堆棧是按照 先進(jìn)后出,后進(jìn)先出 原則組織的一段內(nèi)存區(qū)域。子程序調(diào)用和中斷 響應(yīng)中的現(xiàn)場保護(hù)常用堆棧。 向上生長型堆棧:進(jìn)棧時(shí) SP指針遞增,出棧時(shí) SP指針遞減 向下生長型堆棧:進(jìn)棧時(shí)SP指針遞減,出棧時(shí) SP指針遞增。 8086/8088的堆棧屬于向下生長型,在堆棧段( SS),用堆棧指針 SP指向堆棧的頂部。 堆棧結(jié)構(gòu) 堆棧位置:8086/8088的堆棧在存儲(chǔ)器中 實(shí)現(xiàn),并由堆棧段寄存器 SS和堆棧指針寄存 器SP來定位。 堆棧大?。阂粋€(gè)系統(tǒng)中可以有多個(gè)堆棧,每個(gè)堆棧的空間最大為 64K字
55、節(jié)。 堆棧個(gè)數(shù):若有多個(gè)堆棧, 只有一個(gè)現(xiàn)行堆棧。SS寄存器存放現(xiàn)行堆棧的基址, SP寄 存器指向棧頂。 堆棧操作:進(jìn)棧操作和出棧操作。 8086/8088 CPU的堆棧操作必須以字為單位。 6. 各種類型訪問存儲(chǔ)器時(shí)的段地址和偏移地址 訪問存儲(chǔ)器的方式 默認(rèn) 可跨越 偏移地址 取指令 CS 無 IP 堆棧操作 SS 無 SP 一般數(shù)據(jù)訪問 DS CS, ES, SS 有效地址EA 以BP為基址的尋址 SS CS, ES, DS 有效地址EA 串操作的源操作數(shù) DS CS, ES, SS SI 串操作的目的操作數(shù) ES 無 DI
56、 下講提問: 1 .最小模式下的引腳與功能; 2 .總線周期、指令周期、 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)容回顧 提問上一講留下的思考題與問題,檢查上一講教學(xué)效果。 簡要回顧第二章,引入第三章主要教學(xué)內(nèi)容 上一章講述了 8086微處理器的內(nèi)部結(jié)構(gòu),包括 EU和BIU,以及
57、他們的工作原理。要想 讓這些硬件真正工作起來,必須給他們指令,告訴他們做什么。這一章我們將要學(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)精簡指令集計(jì)算機(jī) CISC
58、的指令豐富、功能強(qiáng)大、結(jié)構(gòu)復(fù)雜,適合于通用機(jī)。 RISC的指令規(guī)整、簡單高效, 適合于專用機(jī)。Intel CPU為CISC 指令組成 操作碼 操作數(shù) 操作碼說明計(jì)算機(jī)要執(zhí)行哪種操作,如傳送、運(yùn)算、移位、跳轉(zhuǎn)等操作,它是指令中不 可缺少的組成部分。 每種指令的操作碼用一個(gè)唯一的助記符表示(指令功能的英文縮寫) ,對(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,稱為源操作
59、數(shù) src,它表示參與指令操作的一個(gè)對(duì)象 操作數(shù)1,稱為目的操作數(shù) dest,它不僅可以作為指令操作的一個(gè)對(duì)象, 還可以用來存 放指令操作的結(jié)果 分號(hào)后的內(nèi)容是對(duì)指令的解釋。 指令中的操作數(shù)是指令執(zhí)行的參與者,可以是一個(gè)具體的數(shù)值(立即數(shù)尋址方式),可 以是存放數(shù)據(jù)的寄存器 (寄存器尋址方式),或指明數(shù)據(jù)在主存位置的 存儲(chǔ)器地址(存儲(chǔ)器 尋址方式)。 3.2 址方式日 指令系統(tǒng)設(shè)計(jì)了多種操作數(shù)的來源。 尋找操作數(shù)的過程就是操作數(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)場(寄存器) 例: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: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案