微機(jī)原理考前復(fù)習(xí)串講課件_第1頁(yè)
微機(jī)原理考前復(fù)習(xí)串講課件_第2頁(yè)
微機(jī)原理考前復(fù)習(xí)串講課件_第3頁(yè)
微機(jī)原理考前復(fù)習(xí)串講課件_第4頁(yè)
微機(jī)原理考前復(fù)習(xí)串講課件_第5頁(yè)
已閱讀5頁(yè),還剩130頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《微機(jī)原理及應(yīng)用》總復(fù)習(xí)串講丁艷dingyan@《微機(jī)原理及應(yīng)用》總復(fù)習(xí)串講丁艷總復(fù)習(xí)考試題型:

1.填空題(每空1分)10%2.選擇填空題(單選,每題1分)10%3.簡(jiǎn)答題(2題)10%4.指令偽指令(2題)15%5.程序設(shè)計(jì)10%6.硬件及程序設(shè)計(jì)題(4題)45%第一、二、三類題型多為書中基本概念,請(qǐng)同學(xué)們注意看書。第四、五、六類題型請(qǐng)注意課件中講解的例題、書中例題、上機(jī)考試題以及書后練習(xí)等。總復(fù)習(xí)考試題型:第一、二、三類題型多為書中基本概念,請(qǐng)同學(xué)們第一章基礎(chǔ)知識(shí)1.理解Bit,byte,word,doubleword等基本概念2.掌握計(jì)算機(jī)中常用的數(shù)制與編碼:十進(jìn)制、二進(jìn)制數(shù)、十六進(jìn)制的運(yùn)算和轉(zhuǎn)換;BCD碼的加、減運(yùn)算及調(diào)整;常用的ASCII碼:數(shù)字、大小寫英文字母的ASCII碼表示數(shù)據(jù)在內(nèi)存中的存貯方式3.掌握有符號(hào)數(shù)的表示法、加、減運(yùn)算及溢出的概念;4.掌握“與”、“或”“非”以及“異或”等邏輯運(yùn)算。第一章基礎(chǔ)知識(shí)1.理解Bit,byte,word,d對(duì)一個(gè)機(jī)器數(shù)X:若X>0,則[X]反=[X]原且[X]補(bǔ)=[X]反=[X]原若X<0,則[X]反=對(duì)應(yīng)原碼的符號(hào)位不變,數(shù)值部分按位求反且[X]補(bǔ)=[X]反+1[例]:X=-52[X]原=10110100[X]反=1

1001011[X]補(bǔ)=[X]反+1=11001100有符號(hào)數(shù)的表示思考:已知某一機(jī)器碼為C7H,當(dāng)其為有符號(hào)數(shù)和無(wú)符號(hào)數(shù)是分別表示的十進(jìn)制數(shù)為多少?對(duì)一個(gè)機(jī)器數(shù)X:有符號(hào)數(shù)的表示思考:

習(xí)題有一個(gè)16位的數(shù)值0101,0000,0100,0011:

(1)如果它是一個(gè)二進(jìn)制數(shù),和它等值的十進(jìn)制數(shù)是多少?(2)如果它們是ASCII碼字符,則是什么字符?(3)如果它們是壓縮的BCD碼,它表示的數(shù)是什么?20547答:答:PC答:5043習(xí)題有一個(gè)16位的數(shù)值0101,0000,0100,帶符號(hào)數(shù)的運(yùn)算時(shí)的溢出判斷

兩個(gè)有符號(hào)數(shù)進(jìn)行加減運(yùn)算時(shí),如果結(jié)果超出可表示的有效范圍就會(huì)發(fā)生溢出。其判定準(zhǔn)則是: 當(dāng)兩個(gè)同符號(hào)數(shù)相加或異符號(hào)數(shù)相減時(shí):(1)如果次高位向最高位有進(jìn)位(或借位),而最高位向前位無(wú)進(jìn)位(或借位),則結(jié)果發(fā)生溢出;(2)如果次高位向最高位無(wú)進(jìn)位(或借位),而最高位向前位有進(jìn)位(或借位),則結(jié)果也發(fā)生溢出;帶符號(hào)數(shù)的運(yùn)算時(shí)的溢出判斷 兩個(gè)有符號(hào)數(shù)進(jìn)行加減運(yùn)算時(shí),如果帶符號(hào)數(shù)的表示范圍

(1)8位二進(jìn)制數(shù),原碼、反碼和補(bǔ)碼所能表示的范圍為:

原碼、反碼:-127~+127

補(bǔ)碼:-128~+127

當(dāng)運(yùn)算結(jié)果超出以上范圍時(shí),就會(huì)產(chǎn)生溢出。(2)16位二進(jìn)制數(shù),原碼、反碼和補(bǔ)碼所能表示的范圍為:原碼、反碼:-32767~+32767

補(bǔ)碼:-32768~+32767

當(dāng)運(yùn)算結(jié)果超出以上范圍時(shí),就會(huì)產(chǎn)生溢出。帶符號(hào)數(shù)的表示范圍例題計(jì)算(+72)+(-98)=?溢出標(biāo)志位OF=?(+72)10=(+1001000)2,(+1001000)補(bǔ)=01001000(-98)10=(-1100010)2,(-1100010)補(bǔ)=1001111001001000+72+10011110+-9811100110-26

注意:本題中,一個(gè)正數(shù)加上一個(gè)負(fù)數(shù),其結(jié)果在二進(jìn)制補(bǔ)碼的表示范圍之內(nèi),無(wú)溢出。在運(yùn)算時(shí)可從C6=0,C7=0,而判斷得知無(wú)溢出,故OF=0。例題計(jì)算(+72)+(-98)=?溢出標(biāo)志位OF=?例題計(jì)算(+72)-(-98)=?溢出標(biāo)志位OF=?(+72)10=(+1001000)2,(+1001000)補(bǔ)=01001000(-(-98)10)=(+1100010)2,(+1100010)補(bǔ)=0110001001001000B+72+01100010B+9810101010B-86

注意:本題中,一個(gè)正數(shù)減去一個(gè)負(fù)數(shù),其結(jié)果超出二進(jìn)制補(bǔ)碼的表示范圍,因此出現(xiàn)溢出錯(cuò)誤。在運(yùn)算時(shí)可從C6=1,C7=0,而判斷得知產(chǎn)生溢出,OF=1。例題計(jì)算(+72)-(-98)=?溢出標(biāo)志位OF=?第二章微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)計(jì)算機(jī)的組成:CPU、存儲(chǔ)器、輸入/輸出接口、總線三態(tài)輸出電路

L門、E門的作用及其控制邏輯總線結(jié)構(gòu)和總線分類控制字的寫法、作用,怎樣控制信息的往來(lái)。存儲(chǔ)器(Memory)

掌握內(nèi)存儲(chǔ)器的幾個(gè)概念:內(nèi)存單元的地址和內(nèi)容、內(nèi)存容量、內(nèi)存的操作、內(nèi)存的分類觸發(fā)器、寄存器、存儲(chǔ)器第二章微型計(jì)算機(jī)系統(tǒng)基礎(chǔ)計(jì)算機(jī)的組成:CPU、存儲(chǔ)器、輸入第三章微型計(jì)算機(jī)的基本工作原理計(jì)算機(jī)的組成結(jié)合FLASH動(dòng)畫理解簡(jiǎn)化計(jì)算機(jī)的工作原理掌握機(jī)器周期、機(jī)器節(jié)拍、取指周期、執(zhí)行周期等基本概念。第三章微型計(jì)算機(jī)的基本工作原理計(jì)算機(jī)的組成第四章16位微處理器1.Intel8088CPU的結(jié)構(gòu):執(zhí)行部件及總線接口部件(1)執(zhí)行部件EU:①通用寄存器(AX、BX、CX、DX);②變址寄存器(SI、DI)③堆棧指針寄存器(SP);④基數(shù)指針寄存器(BP);⑤標(biāo)志寄存器(FR);⑥算術(shù)邏輯部件(ALU);(2)總線接口部件BIU:①4個(gè)段地址寄存器(CS、DS、SS、ES);②指令指針寄存器(IP)③20位的地址加法器;④六字節(jié)的指令隊(duì)列;(3)標(biāo)志位:SF、ZF、CF、OF、AF、PF、DF、IF、TF(4)20位的地址加法器:完成邏輯地址與物理地址的轉(zhuǎn)換;

(段基址*10H+偏移地址)執(zhí)行部件及總線接口部件的并行關(guān)系第四章16位微處理器1.Intel8088CPUALU執(zhí)行部分控制電路輸入/輸出控制電路地址加法器20位16位指令隊(duì)列緩沖器8位執(zhí)行部件(EU)總線接口部件(BIU)外部總線16位運(yùn)算寄存器標(biāo)志寄存器通用寄存器8086CPU結(jié)構(gòu)圖段寄存器DLCLBLALSIDIBPSPDHCHBHAH內(nèi)部暫存器IPESSSDSCS

ALU執(zhí)行部分輸入/輸出地址加法器20位16位指令隊(duì)列緩沖器2.存儲(chǔ)器結(jié)構(gòu): ①按字節(jié)編址,最大地址空間為2n個(gè)字節(jié)。8086、8088可尋址的存儲(chǔ)器空間為1MB; ②存儲(chǔ)器的分段(段基址、段邊界、偏移量);(為什么分,怎樣分) ③物理地址與邏輯地址;物理地址=段基址X10H+偏移地址例:設(shè)(CS)=123AH,(IP)=341BH,將要取出的指令的物理地址為:

341B偏移地址

+123A

0

段起始地址

____________157BB該指令的物理地址存儲(chǔ)單元的表示:560H:1250H2.存儲(chǔ)器結(jié)構(gòu):物理地址=段基址X10H+偏移地3.8088的總線工作周期①何為總線周期?CPU何時(shí)執(zhí)行總線周期?8088的基本總線周期包括多少時(shí)鐘周期?②什么情況下要插入Tw等待周期?插入多少個(gè)時(shí)鐘周期取決于什么因素?Tw與空閑周期的區(qū)別?③8086/8088CPU讀寫操作與總線周期(字節(jié)讀寫、字讀寫)

例:判斷下列兩條指令執(zhí)行時(shí)是否需要執(zhí)行總線周期。

MOVAX,CXMOVAX,[BX]4.8088CPU的工作模式(掌握最大、最小工作模式的定義)5.8088CPU的引腳:地址線、數(shù)據(jù)線、控制線,輸入、輸出、雙向,分時(shí)復(fù)用、控制信號(hào)的有效電平(高電平還是低電平有效)3.8088的總線工作周期8086CPU的引腳信號(hào)和功能20根地址線,其中16根與數(shù)據(jù)復(fù)用,4根與狀態(tài)復(fù)用。

16根控制線

1個(gè)Vcc電源引腳線

2個(gè)GND地(管腳1和20)1個(gè)時(shí)鐘信號(hào)

8086/8088CPU的第24-31腳在最大模式和最小模式下有不同的名稱和定義。Vcc(5V)HLDA(RQ/GT1)ALE(QS0)AD15A17/S4A16/S3A18/S5A19/S6INTA(QS0)HOLD(RQ/GT0)DT/R(S1)DEN(S0)地NMI地

CLK1247113581216691317201014181519BHE/S7MN/MXWR(LOCK)AD14AD12AD9AD5AD13AD11AD8AD4AD0AD10AD7AD3AD6AD2AD1RDM/IO(S2)RESETTESTREADY40393734303836332925353228242131272326228086CPUINTR8086CPU的引腳信號(hào)和功能20根地址線,其中16根與數(shù) ①20根地址線,其中AD7AD0

共8根與數(shù)據(jù)復(fù)用,4根與狀態(tài)復(fù)用。如何使用分時(shí)復(fù)用信號(hào)線AD7AD0(加地址鎖存器ALE); ②NMI(非屏蔽中斷引腳), INTR(可屏蔽中斷引腳)

INTA

③RD(讀),WR(寫); ④

M/IO

(存儲(chǔ)器及I/O選擇)

⑤HOLD與HLDA ⑥D(zhuǎn)T/R與DEN地A14A12A9AD5A13A11A8AD4AD0A10AD7AD3NMI地AD6AD2INTRAD1CLK1247113581216691317201014181519Vcc(5V)A15A17/S4SS0(HIGH)

HLDA(RQ/GT1)A16/S3A18/S5MN/MXWR(LOCK)ALE(QS0)A19/S6RDM/IO(S2)INTA(QS0)RESETHOLD(RQ/GT0)DT/R(S1)TESTDEN(S0)READY40393734302336332925353228242131272326228088CPU地A14A12A9AD5A13A11A8AD4AD0A10A6.系統(tǒng)總線及其作用?8088最小工作模式下的復(fù)位與啟動(dòng)操作、總線操作(讀、寫操作)、總線保持等。

RESET復(fù)位信號(hào):復(fù)位信號(hào)必須為大于4個(gè)時(shí)鐘周期的高電平脈沖,它使CPU停止工作,F(xiàn)R,IP,DS,SS,ES和指令隊(duì)列清零,CS=FFFFH,當(dāng)復(fù)位脈沖下降為低電平后CPU從FFFF0H處取指令重新開(kāi)始工作。6.系統(tǒng)總線及其作用?8088最小工作模式下的復(fù)位與啟動(dòng)操作1.中斷的基本概念、中斷的分類,掌握中斷類型碼、中斷向量表地址以及中斷入口地址之間的關(guān)系,計(jì)算機(jī)處理中斷的五個(gè)步驟,中斷響應(yīng)的條件,中斷響應(yīng)時(shí)CPU的任務(wù),中斷服務(wù)程序的幾項(xiàng)工作以及中斷響應(yīng)與子程序調(diào)用的區(qū)別。2.8086/8088中斷的響應(yīng)過(guò)程

例:中斷返回指令I(lǐng)RET和普通子程序返回指令RET在執(zhí)行時(shí),具體操作內(nèi)容有什么不同?答:IRET除了彈出堆棧中的CS和IP外,還要彈出標(biāo)志寄存器的值,而RET則不需要。中斷操作1.中斷的基本概念、中斷的分類,掌握中斷類型碼、中斷向量表地CSIPCSIPCSIPCSIPCSIPCSIPCSIP0000:0000H0000:0003H0000:0004H0000:0007H0000:0008H0000:000BH0000:000CH0000:000FH0000:0010H0000:0013H0000:0014H0000:007EH0000:007FH0000:03FFH類型0類型1類型2類型4類型3類型5類型31類型32類型255(十進(jìn)制)(十進(jìn)制)專用中斷(共5個(gè))保留中斷(共27個(gè))供用戶定義的中斷(共225個(gè))CSCSCSCSCSCSCS0000:0000H0000:0已知類型號(hào)為19H的中斷子程序放在2345:7890H開(kāi)始的內(nèi)存區(qū)域中,問(wèn)向量表中如何存放該地址?答案:計(jì)算19H型中斷向量在向量表中存放的地址19H=00011001B19H×4=01100100=64H地址存放90H=>0000:0064H78H=>0000:0065H45H=>0000:0066H23H=>0000:0067HIPCS90H78H45H23H0000:0064H0000:0065H0000:0066H0000:0067HP101已知類型號(hào)為19H的中斷子程序放在2345:7890H開(kāi)始的已知(SP)=0150H,(SS)=3550H,(CS)=9000H,(IP)=0200H,(0005CH)=6FH,(0005DH)=5AH,(0005EH)=07H,(005FH)=7CH,在地址為90200H開(kāi)始的連續(xù)兩個(gè)單元中存放一條兩字節(jié)指令I(lǐng)NT17H。試指出在執(zhí)行該指令并進(jìn)入相關(guān)的中斷例程時(shí),SP,SS,IP,CS寄存器的內(nèi)容以及SP所指向的字單元的內(nèi)容是多少?答案:計(jì)算17H型中斷向量在向量表中存放的地址17H=00010111B17H×4=5CH(IP)=5A6FH(CS)=7C07H6FH5AH07H7CH0000:005CH0000:005DH0000:005EH0000:005FH執(zhí)行中斷指令并進(jìn)入相關(guān)的中斷例程時(shí)(SS)=3550H

(SP)=0150H-6=014AH已知(SP)=0150H,(SS)=3550H,(CS)=9第五章8088/8086指令系統(tǒng)1.指令格式(標(biāo)號(hào):指令助記符操作數(shù);注釋),有的指令為雙操作數(shù),有的指令為單操作數(shù),有的指令無(wú)操作數(shù)。要特別注意某些指令其隱含的操作數(shù)是什么。2.尋址方式: (1)尋址方式(指定操作數(shù)或操作數(shù)地址的方式)共有七種:立即數(shù)尋址、寄存器尋址、直接尋址、寄存器間接尋址、相對(duì)的寄存器間接尋址、基址加變址尋址、相對(duì)的基址加變址尋址。(2)操作數(shù)的類型和操作數(shù)的三種可能存放方式(I/O傳輸除外): ①在指令中(立即數(shù)操作數(shù)); ②在寄存器中(寄存器操作數(shù)); ③在內(nèi)存中(內(nèi)存操作數(shù)/存儲(chǔ)器操作數(shù))第五章8088/8086指令系統(tǒng)1.指令格式(標(biāo)號(hào):指令8086/8088的尋址方式小結(jié)8086/8088的尋址方式小結(jié)已知(DS)=2000H,(SS)=5000H,(ES)=3000H,(BX)=157BH,(SI)=1B7AH,

(BP)=5C6DH,DATA=0050H,指出下列指令中的源操作數(shù)的尋址方式,并計(jì)算該操作數(shù)的物理地址(1)MOVSI,200(2)PUSHFPUSHF指令是把標(biāo)志寄存器的值(是內(nèi)容而不是地址)壓入由SP指向的堆棧頂部,同時(shí)堆棧指針SP的值減2。(3)CMPAX,[2000H]

段寄存器默認(rèn)為DS,因此物理地址為:(DS)x10H+2000H=22000H(4)MOVDL,ES:[BX]

指定段寄存器為ES,因此物理地址為:

(ES)x10H+(BX)=3157BH立即數(shù)尋址;寄存器尋址;直接尋址;寄存器間接尋址方式;已知(DS)=2000H,(SS)=5000H,(ES)=3(5)INCBYTEPTRDATA[SI]

段寄存器默認(rèn)為DS,因此物理地址為:

(DS)x10H+(SI)+DATA=21BCAH(6)ADDAX,[BX][SI]

默認(rèn)段寄存器為DS,因此物理地址為:(DS)x10H+(BX)+(SI)=230F5H(7)MOVBX,DATA[BX][SI],

默認(rèn)段寄存器為DS,因此物理地址為:(DS)x10H+(BX)+(SI)+DATA=23145H(8)MOVAX,[BP]

默認(rèn)段寄存器為SS,因此物理地址為:(SS)x10H+(BP)=55C6DH相對(duì)變址尋址;基址加變址尋址;相對(duì)基址加變址尋址堆棧段基址尋址,(5)INCBYTEPTRDATA[SI]相對(duì)變址尋3.使用指令時(shí),應(yīng)注意的幾個(gè)問(wèn)題(1)注意區(qū)別立即尋址方式和直接尋址方式。如:MOVAX,126;將數(shù)據(jù)126送入AX寄存器

MOVAX,[126];將數(shù)據(jù)段中的126和127單元的內(nèi)容送AX.(2)使用寄存器間接尋址時(shí)應(yīng)注意和寄存器尋址方式的區(qū)別。如:MOVAX,BX;BX中的內(nèi)容傳送到AX MOVAX,[BX];BX所指示的地址中的內(nèi)容送AX.(3)在雙操作數(shù)指令中,源操作數(shù)和目的操作數(shù)不能同時(shí)為存儲(chǔ)器地址。如:M1和M2為兩個(gè)存儲(chǔ)器變量, 則ADDM1,M2是錯(cuò)誤指令.3.使用指令時(shí),應(yīng)注意的幾個(gè)問(wèn)題(4)段跨越前綴可修改操作數(shù)所在的段。如:MOVDL,MESS1[SI]

源操作數(shù)地址為:(DS)X16+(SI)+OFFSETMESS1 MOVDL,ES:MESS2[SI]注意:MOVBX,ES:AX對(duì)嗎??源操作數(shù)地址為:

(ES)X16+(SI)+OFFESTMESS2

注意:段跨越前綴不能使用CS。提示:本指令的目的操作數(shù)DL決定了本指令將從存儲(chǔ)單元中取一個(gè)字節(jié)而不是一個(gè)字。(5)代碼段寄存器CS不能用作指令的目的寄存器。

(6)用方括號(hào)提供的數(shù)據(jù)來(lái)至內(nèi)存,方括號(hào)內(nèi)的數(shù)為偏移地址,也稱為有效地址EA。(4)段跨越前綴可修改操作數(shù)所在的段。 (6)用方括號(hào)提供的4.掌握各類指令的功能及特點(diǎn)(不僅要了解指令的功能還要了解影響標(biāo)志位的情況);正確使用指令系統(tǒng),關(guān)鍵要清楚每條指令的功能以及它們規(guī)定或限制使用的寄存器。請(qǐng)同學(xué)們特別注意以下幾個(gè)問(wèn)題:(1)指令對(duì)地址還是對(duì)地址中的內(nèi)容進(jìn)行操作,這要嚴(yán)格加以區(qū)分。

如:LEABX,MESS;(BX)←MESS的偏移地址

MOVBX,OFFSETMESS;(BX)←MESS的偏移地址

MOVBX,MESS ;(BX)←字變量MESS中的內(nèi)容(2)除LEA指令外,加中括號(hào)涉及到的操作數(shù)為內(nèi)存操作數(shù),通過(guò)地址對(duì)內(nèi)存操作數(shù)進(jìn)行存取,其地址由段基址和段內(nèi)偏移地址組成。4.掌握各類指令的功能及特點(diǎn)(不僅要了解指令的功能還要了解影(3)使用指令時(shí),要清楚指令隱含的操作寄存器。如:①在乘法和除法指令中,只指出源操作數(shù)地址,但要清楚目的操作數(shù)必須存放在(AX)/(AL)中(乘法),或(AX)/(DX:AX)中(除法)。②串指令(MOVS、SOTS、LODS、CMPS、SCAS),它們的尋址方式也是隱含的,指令規(guī)定操作是在數(shù)據(jù)段中SI所指示的地址和附加段中DI所指示的地址之間進(jìn)行串處理的;在存取串時(shí)

AL是隱含的存取寄存器。十進(jìn)制調(diào)整指令(DAA、DAS等)也隱含地使用了AL寄存器。③換碼指令XLAT、循環(huán)指令LOOP、LOOPE、LOOPNE等,它們都要求預(yù)先在規(guī)定的寄存器內(nèi)設(shè)置好操作數(shù)地址或記數(shù)值。(4)對(duì)帶符號(hào)數(shù)和無(wú)符號(hào)數(shù)的操作應(yīng)正確選擇相應(yīng)的條件轉(zhuǎn)移指令。(3)使用指令時(shí),要清楚指令隱含的操作寄存器。(4)對(duì)帶符號(hào)

(5)用移位指令來(lái)倍增或倍減一個(gè)值是很方便的,但要注意對(duì)帶符號(hào)數(shù)和無(wú)符號(hào)數(shù)所使用的指令應(yīng)是不同的。如:(AX)=8520H,請(qǐng)用移位指令實(shí)現(xiàn)(AX)/2。當(dāng)(AX)為無(wú)符號(hào)數(shù)時(shí),SHRAX,1,;結(jié)果是(AX)=4290H。當(dāng)(AX)為帶符號(hào)數(shù)時(shí),SARAX,1,;結(jié)果為(AX)=0C290H

(6)標(biāo)號(hào)是程序中指令的符號(hào)地址,要注意和變量(數(shù)據(jù)符號(hào))的區(qū)別。如定義VAR是一個(gè)變量,LAB是程序中的一個(gè)標(biāo)號(hào),則JMPLAB;指令的轉(zhuǎn)移地址為L(zhǎng)AB,指令合法。

JMPVRA;是一條非法指令。(5)用移位指令來(lái)倍增或倍減一個(gè)值是很方便的,但要注意對(duì)帶7.在傳送類指令中 (1)請(qǐng)注意理解堆棧的基本概念及其操作 (2)I/O數(shù)據(jù)傳送指令(跟外設(shè)交換數(shù)據(jù)的指令)中,特別注意:當(dāng)端口號(hào)大于0FFH時(shí)要先送入DX);例:設(shè)堆棧指針SP的初值為2000H,(AX)=3000H,(BX)=5000H,試問(wèn):答:(1)指令執(zhí)行后SP會(huì)自動(dòng)減2,故(SP)=1FFEH.(2)執(zhí)行PUSHBX后SP自動(dòng)減2,BX內(nèi)容進(jìn)入堆棧,而BX仍為

5000H。再執(zhí)行POPAX后,SP自動(dòng)加2,堆棧內(nèi)容5000H進(jìn)入

AX。故:(SP)=1FFEH,(AX)=5000H,(BX)=5000H(1)執(zhí)行指令PUSHAX后SP=?(2)再執(zhí)行PUSHBX及POPAX后SP=?AX=?BX=?7.在傳送類指令中例:設(shè)堆棧指針SP的初值為2000H,(假如AL=20H,BL=10H,當(dāng)執(zhí)行CMPAL,BL后,問(wèn):答:(1)因?yàn)椋ˋL)=20H>(BL)=10H,故當(dāng)是無(wú)符號(hào)數(shù)時(shí),影響CF和ZF標(biāo)志位,且CF=0,OF=0.(2)當(dāng)AL,BL中是有符號(hào)數(shù)時(shí),AL,BL中仍為正數(shù),比較結(jié)果影響SF,OF,ZF標(biāo)志位,但(AL)>(BL),故結(jié)果為ZF=0,SF=0,OF=0.(1)若AL,BL中內(nèi)容是兩個(gè)無(wú)符號(hào)數(shù),比較結(jié)果如何?影響哪幾個(gè)標(biāo)志位?(2)若AL,BL中內(nèi)容是兩個(gè)有符號(hào)數(shù),結(jié)果又如何?影響哪幾個(gè)標(biāo)志位?CMP(比較)指令,類似于減法運(yùn)算,但只影響標(biāo)志位,不影響所運(yùn)算的值;用此指令時(shí)須考慮有符號(hào)數(shù)和無(wú)符號(hào)數(shù)的區(qū)別.8.?dāng)?shù)據(jù)操作類指令假如AL=20H,BL=10H,當(dāng)執(zhí)行CMPAL,BL后根據(jù)要求寫指令(1)AX寄存器低四位清零(2)BX寄存器低四位置”1”ANDAX,0FFF0H(3)CX寄存器低四位變反

XORCX,000FH(4)用TEST指令測(cè)試DL寄存器位3,位6是否同時(shí)為零,若是,將0送DL,否則1送DHTESTDL,48H;01001000B=48HJZLOOP1;為零,則ZF=1,轉(zhuǎn)LOOP1,0送DLMOVDH,1;否則ZF=0,不轉(zhuǎn)移,1送DHJMPTT1LOOP1:MOVDL,0TT1:HLTORBX,000FHTEST類似于AND指令,但只影響標(biāo)志位,不將運(yùn)算結(jié)果送入目標(biāo)操作數(shù)。根據(jù)要求寫指令(1)AX寄存器低四位清零

設(shè)(BX)=1011100110111001,CF=0,(CL)=03。確定下列指令分別執(zhí)行后(BX)=?(1)SHLBL,1(2)SALBL,CL(3)SHRBL,CL(4)SAR BL,1(5)ROL BH,1(6)RCL BX,CL(7)RCRBL,CL(8)RORBH,1(BL)=01110010CF=1(BL)=11001000CF=1(BL)=00010111CF=0

(BH)=01110011CF=1(BH)=11011100CF=1

(BL)=11011100CF=1(BX)=1100110111001010CF=1(BL)=01010111CF=0注意:所移動(dòng)次數(shù)大于1時(shí)須將值送CL設(shè)(BX)=10111001101110019.在串指令中,注意操作數(shù)的隱含規(guī)則:①串傳送指令MOVSB/MOVSW:將一個(gè)字節(jié)/字從(DS:SI)傳送到(ES:DI)完成操作后自動(dòng)修改SI、DI,使其指向串的下一個(gè)元素②串比較指令CMPSB/CMPSW:比較(DS:SI)和(ES:DI)的值,自動(dòng)修改SI、DI,指令前通常加重復(fù)前綴REPZ/REPE。③串搜索指令:SCASB/SCASW:在首地址為ES:DI的串中搜索某個(gè)元素(字節(jié)/字)事先要將待搜索的元素存入AL/AX,指令前通常加重復(fù)前綴REPNZ/REPNE。自動(dòng)修改DI注意比較REP,REPE/REPZ以及REPNE/REPNZ的退出循環(huán)條件有何不同。④讀串指令LODSB/LODSW:將地址為DS:SI的一個(gè)字節(jié)/字讀入AL/AX,自動(dòng)修改SI⑤寫串指令STOSB/STOSW:將AL/AX的值存入地址為ES:DI的內(nèi)存單元,自動(dòng)修改DI9.在串指令中,注意操作數(shù)的隱含規(guī)則:判斷下列指令書寫是否正確,不正確的請(qǐng)指出原因。(1)MOVAL,BX

錯(cuò)

BX為16位寄存器,AL為8位,類型不匹配

(2)MOVES,DS

錯(cuò)兩個(gè)操作數(shù)不能同為段寄存器

(3)DEC[BX]

錯(cuò)本指令DEC后的目的操作數(shù)需指明類型

(4)MOV5,AL

錯(cuò)

5是一個(gè)立即數(shù),目的操作數(shù)不能是立即數(shù)

(5)MOV[BX],[SI]

錯(cuò)兩個(gè)操作數(shù)不能同時(shí)為內(nèi)存單元判斷下列指令書寫是否正確,不正確的請(qǐng)指出原因。(1)MO(6)MOVDS,2000H

錯(cuò)不能給段寄存器用立即數(shù)的方式賦初值(7)POPCS

錯(cuò)代碼段寄存器CS不能是目的操作數(shù)(8)PUSHCS

對(duì)代碼段寄存器CS是源操作數(shù)(9)DIV12

錯(cuò)DIV源操作數(shù)不能是立即數(shù)(10)INBL,45H

錯(cuò)IN指令只能用累加器AL或AX(11)SHRAL,5

錯(cuò)移位次數(shù)大于1時(shí)應(yīng)放入CL寄存器中判斷下列指令書寫是否正確,不正確的請(qǐng)指出原因。(6)MOVDS,2000H判斷下列指令書寫是否正確(12)MOVBX,[AX]

錯(cuò)AX寄存器不能用于寄存器間接尋址方式(13)MOVAX,[BX][BP]

錯(cuò)不能同時(shí)使用兩個(gè)基址寄存器或變址寄存器進(jìn)行間接尋址(14)XLATBX

錯(cuò)XLAT操作數(shù)是隱含的(15)XCHGAX,DS

錯(cuò),段寄存器不能用于交換指令中判斷下列指令書寫是否正確,不正確的請(qǐng)指出原因。注意:CALL指令、RET指令、INT指令、IRET指令及其相關(guān)操作P133P133(12)MOVBX,[AX]判斷下列指令書寫是否正確例題 MOVAL,80H CBW CMPAL,80H指令執(zhí)行后6個(gè)狀態(tài)標(biāo)志位的值是什么?例題 MOVAL,80H讀下面程序段,請(qǐng)問(wèn):在什么情況下,本段程序的執(zhí)行結(jié)果是AH=0?BEGIN:INAL,5FH;從5FH端口讀入數(shù)據(jù)到ALTESTAL,80H;測(cè)試,影響ZF標(biāo)志位,若AL最高

位為1,則ZF=0,否則ZF=1JZBRCH1;若ZF=1,則轉(zhuǎn)BRCH1MOVAH,0;

0送入AHJMPSTOP;轉(zhuǎn)STOPBRCH1:MOVAH,0FFH;

0FFH送入AHSTOP:HLT;

結(jié)束

答:要AH=0,則需要AL的最高位為1.讀下面程序段,請(qǐng)問(wèn):在什么情況下,本段程序的執(zhí)行結(jié)果是AH=第七章匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言程序結(jié)構(gòu)、語(yǔ)句類型及格式變量名及其屬性、指令中的變量名表達(dá)式與關(guān)系運(yùn)算符偽指令:DB、DW、DD、DUP、EQU、ORG、段定義/過(guò)程定義/程序結(jié)束偽指令:SEGMENT、ENDS、ASSUME、PROC、FAR、NEAR、ENDP、END常用DOS功能的調(diào)用方法:1、2、9、0AH、4CH號(hào)調(diào)用程序調(diào)試過(guò)程(編譯、連接、運(yùn)行、debug)第七章匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言程序結(jié)構(gòu)、語(yǔ)句類型及格式例題已知某數(shù)據(jù)段定義數(shù)據(jù)如下,請(qǐng)畫出數(shù)據(jù)存儲(chǔ)的示意圖。DATA1EQU100DATA_BYTEDB10,4,10HLENGTH1EQU$-DATA_BYTEDATA_WORDDW100,100H,-16LENGTH2EQU$-DATA_WORDDATA_DWDD3*20,0FFFDH注意:DATA1、LENGTH1和LENGTH2不占用存儲(chǔ)單元!LENGTH1=3,LENGTH2=6注意DUP表達(dá)式例題已知某數(shù)據(jù)段定義數(shù)據(jù)如下,請(qǐng)畫出數(shù)注意:DATA1、LE讀下面程序段,請(qǐng)問(wèn):程序執(zhí)行后數(shù)據(jù)段數(shù)據(jù)的存儲(chǔ)情況?DATASEGMENTBUF1DB2DUP(3,0,2DUP(‘ABC’),FFH)

BUF2EQU 1A7BHBUF3DW1250HLEN=$-BUF1DATAENDS …… MOVAX,BUF2 MOVSI,OFFSETBUF1 MOV[SI],AX7BH1AHLEN=?讀下面程序段,請(qǐng)問(wèn):程序執(zhí)行后數(shù)據(jù)段數(shù)據(jù)的存儲(chǔ)情況?DATA某數(shù)據(jù)段如下所示,請(qǐng)說(shuō)出變量VECT1和VECT2的屬性以及其各自的偏移地址。

VECTORS

SEGMENTORG

10

VECT1DW

47A5H

ORG

20VECT2DW

0C596H┇

VECTORS

ENDS答:變量VECT1和VECT2具有3個(gè)屬性:(1)段屬性,即變量VECT1和VECT2均在數(shù)據(jù)段VECTORS中;(2)類屬性,變量VECT1和VECT2均是字變量,即變量中每一項(xiàng)都占用兩個(gè)字節(jié);(3)偏移屬性,VECT1的偏移地址為OAH,而VECT2的偏移地址為14H上一頁(yè)下一頁(yè)某數(shù)據(jù)段如下所示,請(qǐng)說(shuō)出變量VECT1和VECT2的屬性指令XORAX,OPR1XOROPR2中,OPR1和OPR2是兩個(gè)已賦值的變量,這兩個(gè)XOR操作有何區(qū)別?第一個(gè)XOR是CPU執(zhí)行的,程序運(yùn)行時(shí)執(zhí)行。第二個(gè)XOR,OPR1XOROPR2是一個(gè)表達(dá)式,此中的XOR是邏輯操作符,它在匯編是求得一個(gè)值。P159指令XORAX,OPR1XOROPR2中,O對(duì)于下面的數(shù)據(jù)定義,各條MOV指令單獨(dú)執(zhí)行后,有關(guān)寄存器的內(nèi)容是什么?ABDB?DATA1DW40DUP(?)DATA2DB‘ABCDEF’<1>MOVAX,TYPEAB<2>MOVAX,TYPEDATA1<3>MOVCX,LENGTHDATA1<4>MOVDX,SIZEDATA1<5>MOVCX,LENGTHDATA2(AX)=1(AX)=2(CX)=40(DX)=40*2=80(CX)=1對(duì)于下面的數(shù)據(jù)定義,各條MOV指令單獨(dú)執(zhí)行后,有關(guān)寄存器的內(nèi)微機(jī)原理考前復(fù)習(xí)串講課件微機(jī)原理考前復(fù)習(xí)串講課件第六章程序設(shè)計(jì)與匯編語(yǔ)言編程匯編語(yǔ)言的基本語(yǔ)句;匯編語(yǔ)言程序的分段結(jié)構(gòu);匯編語(yǔ)言程序的解題方法及思路;順序程序、分支程序、循環(huán)程序、子程序調(diào)用。注意:課件中的例題、習(xí)題、書中的例題、習(xí)題以及上機(jī)考試題目。

第六章程序設(shè)計(jì)與匯編語(yǔ)言編程匯編語(yǔ)言的基本語(yǔ)句;注意:課件編一程序段,完成符號(hào)函數(shù):假設(shè)x的值存放在DATA1中,y的值存放DATA2中。編一程序段,完成符號(hào)函數(shù):假設(shè)x的值存放在DATA1中,y的BEGIN:MOVAL,DATA1CMPAL,0

JGE

BIG;大于等于轉(zhuǎn)BIGMOVAL,0FFH;DATA2中置-1MOVDATA2,AL

JMPAA

BIG:

JEEQUAL;ZF=1,轉(zhuǎn)EQUALMOVAL,1;DATA2中置+1MOVDATA2,AL

JMPAA

EQUAL:MOVAL,0;DATA2中置0MOVDATA2,AL

AA:MOVAH,4CHINT21HJGE為有符號(hào)數(shù)跳轉(zhuǎn)指令BEGIN:MOVAL,DATA1JGE輸入一個(gè)字符串,再輸入一個(gè)字符,統(tǒng)計(jì)該字符在字符串里出現(xiàn)的次數(shù)在屏幕上輸出DATASEGMENTBUFDB50;定義緩沖區(qū)用來(lái)存 放輸入的字符串

DB? DB50DUP(?)DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTA:MOVAX,DATA MOVDS,AX

LEADX,BUF ;輸入字符串MOVAH,0AH;系統(tǒng)10號(hào)功能調(diào)用INT21H

MOVDL,0AH ;換行MOVAH,2 ;系統(tǒng)2號(hào)功能調(diào)用INT21H

MOVAH,1 ;輸入要統(tǒng)計(jì)的字符INT21H ;系統(tǒng)1號(hào)功能調(diào)用

輸入一個(gè)字符串,再輸入一個(gè)字符,統(tǒng)計(jì)該字符在字符串里出現(xiàn)的次

MOVDL,0AH;回車

MOVAH,2INT21H

MOVDL,BL;將統(tǒng)計(jì)結(jié)果 放入DL準(zhǔn)備輸出

ADDDL,30H;將數(shù)字轉(zhuǎn) 換為相應(yīng)的ASCII碼

MOVAH,2;輸出統(tǒng)計(jì)結(jié) 果,系統(tǒng)2號(hào) 功能調(diào)用

INT21H ;返回DOSMOVAH,4CH INT21H

CODEENDS ENDSTA

MOVBL,0;清零BL寄 存器準(zhǔn)備計(jì)數(shù)

LEADI,BUF+2;設(shè)置字符 串開(kāi)始位置

MOVCL,BUF+1;設(shè)置實(shí)際 輸入字符的個(gè)數(shù)

A:CMPAL,BYTEPTR[DI]; 比較當(dāng)前字符是不 是和要統(tǒng)計(jì)的字符 相符

JNENEXT;不是則跳轉(zhuǎn)

INCBL ;是則計(jì)數(shù)器加1NEXT:INCDI ;指向下一個(gè)字符

LOOPA;如此循環(huán)

MOVDL,0AH;回車比較兩個(gè)等長(zhǎng)的字符串是否相同,并找出其中第一個(gè)不相等字符的地址,將該地址送BX,不相等的字符送AL。設(shè)M1為源串首地址,M2為目標(biāo)串首地址。DATASEGMENT

M1DB'AEC….'M2DB'ABC….‘LENEQU$-M2DATAENDSCODESEGMENT

ASSUMEDS:DATA,CS:CODE,ES:DATASTR:MOVAX,DATA

MOVDS,AX

MOVES,AX

LEASI,M1;(SI)←源串首地址

LEADI,M2;(DI)←目標(biāo)串首地址

MOVCX,LEN;(CX)←串長(zhǎng)度

CLD

;(DF)=0,使地址指針按增量方向修改比較兩個(gè)等長(zhǎng)的字符串是否相同,并找出其中第一個(gè)不相等字符的地REPECMPSB;若相等則重復(fù)比較

JZSTOP;(CX)等于0則轉(zhuǎn)到STOPDECSI;否則(SI)-1,指向不相等單元

MOVBX,SI;(BX)←不相等單元的地址

MOVAL,[SI];(AL)←不相等單元的內(nèi)容STOP:

MOVAH,4CHINT21HCODEENDS

ENDSTR注意:程序中找到第一個(gè)不相等字符后,地址指針已自動(dòng)加了1,所以將地址指針再減1即可得到不相等單元的地址。注意:學(xué)會(huì)讀程序,分析程序?qū)崿F(xiàn)功能REPECMPSB;若相等則重復(fù)比較注意

DATASEGMENTBUFFER1DB50,?,50DUP(?)NEWLINEDB13,10BUFFER2DB50DUP('$')

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,ES:DATASTAPROCFARSTAA:MOVAX,DATAMOVDS,AXMOVES,AX

LEADX,BUFFER1MOVAH,0AHINT21H

用子程序?qū)崿F(xiàn)將從鍵盤輸入的一組字符串中的小寫字母改為大寫字母;鍵盤輸入字符串;數(shù)據(jù)段賦首址;附加段賦首址DATASEGMENT用子程序?qū)崿F(xiàn)將從鍵盤輸入的一組字OVER:LEADX,NEWLINEMOVAH,9HINT21H

MOVAH,4CHINT21HSTAENDPCHECKBHPROCCMPBH,'a'JBCHECKBH_OVERCMPBH,'z'JACHECKBH_OVERSUBBH,'a'-'A'CHECKBH_OVER:RETCHECKBHENDPCODEENDSENDSTAALEASI,BUFFER1ADDSI,2LEADI,BUFFER2

MOVCH,[BUFFER1+1]MOVCL,0BEGIN:

INCCLCMPCH,CLJBOVERMOVBH,[SI]CALLCHECKBHMOV[DI],BHINCSIINCDIJMPBEGIN;取字符串個(gè)數(shù);屏幕上顯示字符串;返回DOS;循環(huán)結(jié)束控制‘a(chǎn)’-‘A’是一個(gè)表達(dá)式,在匯編時(shí)得到一個(gè)值(20H)OVER:LEADX,NEWLINEL第八章存儲(chǔ)器存儲(chǔ)器是計(jì)算機(jī)的重要組成部分,用來(lái)存放計(jì)算機(jī)系統(tǒng)工作時(shí)所用的信息——程序和數(shù)據(jù)。

1.理解基本概念:內(nèi)存、外存、字?jǐn)U展、位擴(kuò)展2.掌握微型機(jī)的存儲(chǔ)系統(tǒng)存儲(chǔ)器定義(存儲(chǔ)器由能夠表示二進(jìn)制數(shù)“0”和“1”的、具有記憶功能的一些物理器件組成。存儲(chǔ)器能存放一位二進(jìn)制數(shù)的物理器件稱為一個(gè)存儲(chǔ)元。若干存儲(chǔ)元構(gòu)成一個(gè)存儲(chǔ)單元。);存儲(chǔ)器的分類及其特點(diǎn);數(shù)據(jù)在內(nèi)存中的存貯方式3.掌握幾種常用存儲(chǔ)器芯片及其與系統(tǒng)的連接;第八章存儲(chǔ)器存儲(chǔ)器是計(jì)算機(jī)的重要組成部分,用來(lái)存放計(jì)算機(jī)1、內(nèi)存和外存(1)內(nèi)存(或主存),用于存放當(dāng)前正在使用的程序和數(shù)據(jù),CPU可以對(duì)它直接訪問(wèn),存取速度快,但容量較小。(2)外存(或輔存),用于存放一些CPU暫時(shí)不處理的程序和數(shù)據(jù)。當(dāng)CPU要處理這些信息時(shí),必須先將其調(diào)入內(nèi)存。需通過(guò)專用設(shè)備才能對(duì)其進(jìn)行讀寫操作。外存包括軟盤,硬盤,光盤等等。相對(duì)內(nèi)存來(lái)說(shuō),外存容量大,存取速度較慢1、內(nèi)存和外存(1)內(nèi)存(或主存),用于存放當(dāng)前正在使用的程(1)只讀存儲(chǔ)器ROM只讀存儲(chǔ)器(ReadOnlyMemory—ROM)——用戶在使用時(shí)只能讀出其中信息,不能修改或?qū)懭胄碌男畔?,斷電后,其信息不?huì)消失。只讀存儲(chǔ)器分類:①存儲(chǔ)單元中的信息由ROM制造廠在生產(chǎn)時(shí)一次性寫入,稱為掩膜ROM(MaskedROM);②PROM(ProgrammableROM—可編程ROM)

程序和數(shù)據(jù)是由用戶自行寫入的,但一經(jīng)寫入,就無(wú)法更改,是一次性的ROM;2、存儲(chǔ)器的分類(1)只讀存儲(chǔ)器ROM只讀存儲(chǔ)器(ReadOnlyMem(1)只讀存儲(chǔ)器ROM③EPROM(ErasebleProgrammableROM—可擦除可編程ROM)——可由用戶自行寫入程序和數(shù)據(jù),寫入后的內(nèi)容可用紫外線燈照射擦除,然后可以重新寫入新的內(nèi)容,可以多次擦除,多次使用。

E2PROM(ElectricallyErasebleProgrammableROM—電可擦除可編程ROM)——可用電信號(hào)進(jìn)行清除和改寫的存儲(chǔ)器,使用方便。掉電不丟失。隨機(jī)存取存儲(chǔ)器(RandomAccessMemory)——RAM的特點(diǎn)是存儲(chǔ)器中的信息能讀能寫,且對(duì)存儲(chǔ)器中任一單元的讀或?qū)懖僮魉枰臅r(shí)間基本是一樣的。斷電后,RAM中的信息即消失。(2)隨機(jī)存取存儲(chǔ)器RAM(1)只讀存儲(chǔ)器ROM③EPROM(Eraseble(2)隨機(jī)存取存儲(chǔ)器RAM按其制造工藝分:(1)雙極型半導(dǎo)體RAM

存取時(shí)間短,與MOS型比,集成度低,功耗大,價(jià)格高。(2)MOS型RAM①SRAM(StaticRAM—靜態(tài)RAM)——SRAM是利用半導(dǎo)體觸發(fā)器的兩個(gè)穩(wěn)定狀態(tài)表示“1”和“0”。只要電源不撤除,信息不會(huì)消失,不需要刷新電路。②DRAM(DynamicRAM—?jiǎng)討B(tài)RAM)——DRAM是利用電容端電壓的高低來(lái)表示“1”和“0”,為了彌補(bǔ)漏電需要定時(shí)刷新。一般微機(jī)系統(tǒng)中的內(nèi)存采用DRAM,配有刷新電路,每隔1—2ms刷新一次。(2)隨機(jī)存取存儲(chǔ)器RAM按其制造工藝分:3存儲(chǔ)容量存儲(chǔ)容量是指一塊存儲(chǔ)芯片上所能存儲(chǔ)的二進(jìn)制位數(shù)。假設(shè)存儲(chǔ)芯片的存儲(chǔ)單元數(shù)是M,一個(gè)存儲(chǔ)單元所存儲(chǔ)的信息的位數(shù)是N,則其存儲(chǔ)容量為M×N。D7…D1D03存儲(chǔ)容量存儲(chǔ)容量是指一塊存儲(chǔ)芯片上所能存儲(chǔ)的二進(jìn)制位數(shù)例題已知單片6116芯片的地址線是11位,每個(gè)存儲(chǔ)單元是8位,求其存儲(chǔ)容量?解:因?yàn)榭删幹贩秶?11

,即M=211,

每個(gè)存儲(chǔ)單元可存8位,即N=8,所以,6116的存儲(chǔ)容量=211×8 =2×1024×8 =2K×8 =2KB例題已知單片6116芯片的地址線是11位,每個(gè)存儲(chǔ)例題

若要組成64K字節(jié)的存儲(chǔ)器,以下芯片各需幾片? ①6116(2K×8) ②4416(16K×4)解:①(64K×8)÷(2K×8)=32(片)②(64K×8)÷(16K×4)=8(片)例題若要組成64K字節(jié)的存儲(chǔ)器,以下芯片各需幾片?解:區(qū)別:芯片的存儲(chǔ)容量和微機(jī)的存儲(chǔ)容量微機(jī)的存儲(chǔ)容量——

由多片存儲(chǔ)芯片組成的總存儲(chǔ)容量。①微機(jī)的最大內(nèi)存容量

——由CPU的地址總線決定。如:PC486,地址總線是32位,則,內(nèi)存容許最大容量是232=4G;②實(shí)際的裝機(jī)容量——

由實(shí)際使用的若干片存儲(chǔ)芯片組成的總存儲(chǔ)容量。區(qū)別:芯片的存儲(chǔ)容量和微機(jī)的存儲(chǔ)容量微機(jī)的存儲(chǔ)容量——由4、存儲(chǔ)器的基本結(jié)構(gòu)1、存儲(chǔ)體—由多個(gè)基本存儲(chǔ)單元組成,容量即為M×N;2、地址寄存器(地址鎖存器)—鎖存CPU送來(lái)的地址信號(hào);3、地址譯碼器—對(duì)地址信號(hào)進(jìn)行譯碼,選擇存儲(chǔ)體中要訪問(wèn)的存儲(chǔ)單元;4、讀/寫驅(qū)動(dòng)電路—包括讀出放大和寫入電路;5、數(shù)據(jù)緩沖器—芯片數(shù)據(jù)信號(hào)經(jīng)雙向三態(tài)門掛在數(shù)據(jù)總線上,未選中該片,呈高阻狀態(tài);6、讀/寫控制電路—接受來(lái)自CPU的片選信號(hào)、讀/寫信號(hào)。(對(duì)ROM—只讀;對(duì)DRAM-刷新信號(hào))4、存儲(chǔ)器的基本結(jié)構(gòu)1、存儲(chǔ)體—由多個(gè)基本存儲(chǔ)單元組成,“讀”操作工作過(guò)程(1)送地址—CPU通過(guò)地址總線將地址送入地址寄存器,并譯碼;(2)發(fā)出“讀”命令—CPU通過(guò)控制總線將“存儲(chǔ)器讀”信號(hào)送入讀/寫控制電路;(3)從存儲(chǔ)器讀出數(shù)據(jù)—讀/寫控制電路根據(jù)“讀”信號(hào)和片選信號(hào)選中存儲(chǔ)體中的某一存儲(chǔ)單元,從該單元讀出數(shù)據(jù),送到數(shù)據(jù)緩存器。再經(jīng)過(guò)數(shù)據(jù)總線送到CPU?!白x”操作工作過(guò)程(1)送地址—CPU通過(guò)地址總線將地址“寫”操作工作過(guò)程(1)送地址—CPU通過(guò)地址總線將地址送入地址寄存器,并譯碼;(2)發(fā)出“寫”命令—CPU通過(guò)控制總線將“寫”信號(hào)送入讀/寫控制電路;(3)寫入數(shù)據(jù)到存儲(chǔ)器—讀/寫控制電路根據(jù)“寫”信號(hào)和片選信號(hào)選中存儲(chǔ)體中的某一存儲(chǔ)單元,將數(shù)據(jù)總線上的數(shù)據(jù),送到數(shù)據(jù)緩存器,再寫入到選中的存儲(chǔ)單元。“寫”操作工作過(guò)程(1)送地址—CPU通過(guò)地址總線將地址5典型SRAM芯片地址線:A0---A12數(shù)據(jù)線:D0---D7輸出允許信號(hào):OE寫允許信號(hào):WE選片信號(hào):CS1,CS22A12A7A6A5A4A3A2A1D0D1345678910111213141NCA0D2GND27WECS2A8A9A11OEA10CS1D6D526252423222120191817161528VCCD7D4D36264CMOSRAM芯片6264(8KB):

主要引腳功能6264芯片與系統(tǒng)的連接常用的SRAM還有6116,

6232,62256,適用于較小系統(tǒng)5典型SRAM芯片地址線:A0---A122A12A7A譯碼電路

作用:將輸入的一組二進(jìn)制編碼變換為一個(gè)特定的輸出信號(hào),即:將輸入的一組高位地址信號(hào)通過(guò)變換,產(chǎn)生一個(gè)有效的輸出信號(hào),用于選中某一個(gè)存儲(chǔ)器芯片,從而確定了該存儲(chǔ)器芯片在內(nèi)存中的地址范圍。

分類:(1)全地址譯碼:用全部的高位地址信號(hào)作為譯碼信號(hào),使得存儲(chǔ)器芯片的每一個(gè)單元都占據(jù)一個(gè)惟一的內(nèi)存地址

(2)部分地址譯碼:用部分高位地址信號(hào)(而不是全部)作為譯碼信號(hào),使得被選中得存儲(chǔ)器芯片占有幾組不同的地址范圍譯碼電路作用:將輸入的一組二進(jìn)制編碼變換為一個(gè)特定的輸應(yīng)用舉例D0~D7A0A12???WEOECS1CS2???A0A12MEMWMEMRD0~D7A19&&A18A14A13A17A16A15VCCY074LS138G1G2AG2BCBA應(yīng)用舉例D0~D7A0A12???WEOECS1CS2???應(yīng)用舉例A19A18A17A16A15A14A131111111地址范圍:FE000H-FFFFFH

A12A11----A00000H----1FFFH應(yīng)用舉例A19A18A17A16A15A14A1311111應(yīng)用舉例用存儲(chǔ)器芯片SRAM6116構(gòu)成一個(gè)4KB的存儲(chǔ)器。要求其地址范圍為:78000H~78FFFHG1=1G2A=G2B=0時(shí),譯碼器處于使能狀態(tài)。A、B和C三條線的輸入決定Y0

–Y7的狀態(tài)。A19A18A17A16A15A14A13A12A11011110CBA應(yīng)用舉例用存儲(chǔ)器芯片SRAM6116構(gòu)成一個(gè)4KB的存儲(chǔ)器6動(dòng)態(tài)隨機(jī)存儲(chǔ)器DRAM-典型芯片舉例DRAM芯片Intel2164A—?jiǎng)討B(tài)隨機(jī)存取存儲(chǔ)器,8條地址線,2位數(shù)據(jù)線(輸出和輸入),3條控制線,兩條電源線,單片存儲(chǔ)容量64K×1。地址線采用分時(shí)復(fù)用,由CAS(列選通)和RAS(行選通),從而實(shí)現(xiàn)16位地址線,M=216=64K。NCDINWEA0A112345678RASA2GNDVCCCASDOUTA3A4161514131211109A6A5A721646動(dòng)態(tài)隨機(jī)存儲(chǔ)器DRAM-典型芯片舉例DRAM芯片Inte7存儲(chǔ)器擴(kuò)展技術(shù)位擴(kuò)展字?jǐn)U展字位擴(kuò)展用多片存儲(chǔ)芯片構(gòu)成一個(gè)需要的內(nèi)存空間,它們?cè)谡麄€(gè)內(nèi)存中占據(jù)不同的地址范圍,任一時(shí)刻僅有一片(或一組)被選中——存儲(chǔ)器的擴(kuò)展。存儲(chǔ)器的存儲(chǔ)容量等于:?jiǎn)卧獢?shù)×每單元的位數(shù)字節(jié)數(shù)字長(zhǎng)7存儲(chǔ)器擴(kuò)展技術(shù)位擴(kuò)展用多片存儲(chǔ)芯片構(gòu)成一個(gè)需要的內(nèi)存空間位擴(kuò)展當(dāng)構(gòu)成內(nèi)存的存儲(chǔ)器芯片的字長(zhǎng)小于內(nèi)存單元的字長(zhǎng)時(shí),就要進(jìn)行位擴(kuò)展,使每個(gè)單元的字長(zhǎng)滿足要求。位擴(kuò)展方法:將每片的地址線、控制線并聯(lián),數(shù)據(jù)線分別引出連接至數(shù)據(jù)總線的不同位上位擴(kuò)展特點(diǎn):存儲(chǔ)器的單元數(shù)不變,位數(shù)增加位擴(kuò)展當(dāng)構(gòu)成內(nèi)存的存儲(chǔ)器芯片的字長(zhǎng)小于內(nèi)存單元的字長(zhǎng)時(shí),就要位擴(kuò)展例用8片2164A芯片構(gòu)成64KB存儲(chǔ)器LS158A0~A7A8~A152164A2164A2164ADBABD0D1D7A0~A7位擴(kuò)展例用8片2164A芯片構(gòu)成64KB存儲(chǔ)器LS158A0字?jǐn)U展地址空間的擴(kuò)展。芯片每個(gè)單元中的字長(zhǎng)滿足,但單元數(shù)不滿足擴(kuò)展原則:每個(gè)芯片的地址線、數(shù)據(jù)線、控制線并聯(lián),僅片選端分別引出,以實(shí)現(xiàn)每個(gè)芯片占據(jù)不同的地址范圍字位擴(kuò)展根據(jù)內(nèi)存容量及芯片容量確定所需存儲(chǔ)芯片數(shù)進(jìn)行位擴(kuò)展以滿足字長(zhǎng)要求進(jìn)行字?jǐn)U展以滿足容量要求若已有存儲(chǔ)芯片的容量為L(zhǎng)×K,要構(gòu)成容量為M×N的存儲(chǔ)器,需要的芯片數(shù)為:(M/L)×(N/K)字?jǐn)U展地址空間的擴(kuò)展。芯片每個(gè)單元中的字長(zhǎng)滿足,但單元數(shù)不滿8主存儲(chǔ)器設(shè)計(jì)1、芯片選擇2、存儲(chǔ)器芯片的基本地址3、存儲(chǔ)器芯片的容量擴(kuò)充4、存儲(chǔ)器芯片與CPU連接8主存儲(chǔ)器設(shè)計(jì)1、芯片選擇①芯片選擇①SRAM與CPU連接,不需要外圍電路,連接簡(jiǎn)單,用于小型控制系統(tǒng)。②DRAM常用于大型系統(tǒng),因?yàn)樾枰⑿码娐罚热鏟C機(jī)的內(nèi)存條。③ROM通常用于存放固定的系統(tǒng)程序。②存儲(chǔ)器芯片的基本地址D7…D1D0例如:6116的基本地址:000H~7FFH6264的基本地址:0000H~1FFFH①芯片選擇①SRAM與CPU連接,不需要外圍電路,連接簡(jiǎn)單,③存儲(chǔ)器芯片的容量擴(kuò)充對(duì)1#來(lái)說(shuō)其地址范圍00

000000000000~00

011111111111(即000H~07FFH)用兩片6116芯片(2K×8)即可擴(kuò)展成4K×8位,這種擴(kuò)展方式就稱為字?jǐn)U展。對(duì)2#來(lái)說(shuō)其地址范圍00

100000000000~00111111111111(即0800H~0FFFH)譯碼和譯碼器③存儲(chǔ)器芯片的容量擴(kuò)充對(duì)1#來(lái)說(shuō)其地址范圍用③存儲(chǔ)器芯片的容量擴(kuò)充顯然,我們可以用2片2114組成1K×8位的存儲(chǔ)器,這種擴(kuò)展方式稱為位擴(kuò)展。對(duì)2114來(lái)說(shuō),存儲(chǔ)容量是1K×4位,而正常數(shù)據(jù)都以字節(jié)作為存儲(chǔ)單元,顯然需要進(jìn)行擴(kuò)展。N=(1K×8位)÷(1K×4位)=2③存儲(chǔ)器芯片的容量擴(kuò)充顯然,我們可以用2片21④存儲(chǔ)器芯片與CPU連接地址總線低位直接相連,高位通過(guò)譯碼器相連。地址線的連接方式確定了芯片的地址。數(shù)據(jù)總線8位芯片的數(shù)據(jù)線可以直接與8088CPU的相連,與8086CPU連接,要分成兩個(gè)存儲(chǔ)體;低于8位的要進(jìn)行位擴(kuò)充后再與CPU相連。控制信號(hào)系統(tǒng)總線中與存儲(chǔ)器有關(guān)的控制信號(hào)有IO/M,RD,WR(針對(duì)8088)。④存儲(chǔ)器芯片與CPU連接地址總線低位直接相連,高位通例題所以27128地址范圍:00100000000000000000——00100011111111111111即20000H—23FFFH如圖是某一8088系統(tǒng)的存儲(chǔ)器連接圖,試確定其中各芯片的地址空間。解:(1)27128是ROM,沒(méi)有WR,Y0=0選中該片;該片14條地址線,其基本地址00000000000000~11111111111111;高6位:A19A18=00;A17=1;A16A15A14=000;例題所以27128地址范圍:如圖是某一8088系統(tǒng)的存儲(chǔ)器連00110000000000000000—00110001111111111111即30000H—31FFFH解:(2)6264是SRAM,13條地址線,用2片,基本地址0000000000000~1111111111111;1#6264的高7位:A13=0

且Y4=0有效選中此片,則A16A15A14=100;A19A18=0;A17=1;1#6264地址范圍:00110000000000000000解:(22#6264地址范圍:00110010000000000000—00110011111111111111即32000H—33FFFH解:(2)6264是SRAM,13條地址線,用2片,基本地址0000000000000~1111111111111;A13=1

且Y4=0有效選中此片,2#6264的高7位:則A16A15A14=100;

A19A18=00;A17=1;2#6264地址范圍:解:(2)6264是SRAM,13條第九章輸入/輸出接口I/O端口及其編址方式基本輸入輸出方法串口和并口

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論