微機原理和接口技術知識點總結整理_第1頁
微機原理和接口技術知識點總結整理_第2頁
微機原理和接口技術知識點總結整理_第3頁
微機原理和接口技術知識點總結整理_第4頁
微機原理和接口技術知識點總結整理_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

./《微機原理與接口技術》復習參考資料概述一、計算機中的數(shù)制1、無符號數(shù)的表示方法:〔1十進制計數(shù)的表示法特點:以十為底,逢十進一;共有0-9十個數(shù)字符號?!?二進制計數(shù)表示方法:特點:以2為底,逢2進位;只有0和1兩個符號?!?十六進制數(shù)的表示法:特點:以16為底,逢16進位;有0--9及A—F〔表示10~15共16個數(shù)字符號。2、各種數(shù)制之間的轉換〔1非十進制數(shù)到十進制數(shù)的轉換按相應進位計數(shù)制的權表達式展開,再按十進制求和。〔見書本1.2.3,1.2.4〔2十進制數(shù)制轉換為二進制數(shù)制十進制→二進制的轉換:整數(shù)部分:除2取余;小數(shù)部分:乘2取整。十進制→十六進制的轉換:整數(shù)部分:除16取余;小數(shù)部分:乘16取整。以小數(shù)點為起點求得整數(shù)和小數(shù)的各個位?!?二進制與十六進制數(shù)之間的轉換用4位二進制數(shù)表示1位十六進制數(shù)3、無符號數(shù)二進制的運算〔見教材P54、二進制數(shù)的邏輯運算特點:按位運算,無進借位〔1與運算只有A、B變量皆為1時,與運算的結果就是1〔2或運算A、B變量中,只要有一個為1,或運算的結果就是1〔3非運算〔4異或運算A、B兩個變量只要不同,異或運算的結果就是1二、計算機中的碼制1、對于符號數(shù),機器數(shù)常用的表示方法有原碼、反碼和補碼三種。數(shù)X的原碼記作[X]原,反碼記作[X]反,補碼記作[X]補。注意:對正數(shù),三種表示法均相同。它們的差別在于對負數(shù)的表示。〔1原碼定義:符號位:0表示正,1表示負;數(shù)值位:真值的絕對值。注意:數(shù)0的原碼不唯一〔2反碼定義:若X>0,則[X]反=[X]原若X<0,則[X]反=對應原碼的符號位不變,數(shù)值部分按位求反注意:數(shù)0的反碼也不唯一〔3補碼定義:若X>0,則[X]補=[X]反=[X]原若X<0,則[X]補=[X]反+1注意:機器字長為8時,數(shù)0的補碼唯一,同為000000002、8位二進制的表示范圍:原碼:-127~+127反碼:-127~+127補碼:-128~+1273、特殊數(shù)10000000該數(shù)在原碼中定義為:-0在反碼中定義為:-127在補碼中定義為:-128對無符號數(shù):<10000000>2=128三、信息的編碼十進制數(shù)的二進制數(shù)編碼用4位二進制數(shù)表示一位十進制數(shù)。有兩種表示法:壓縮BCD碼和非壓縮BCD碼?!?壓縮BCD碼的每一位用4位二進制表示,0000~1001表示0~9,一個字節(jié)表示兩位十進制數(shù)。〔2非壓縮BCD碼用一個字節(jié)表示一位十進制數(shù),高4位總是0000,低4位的0000~1001表示0~9字符的編碼計算機采用7位二進制代碼對字符進行編碼〔1數(shù)字0~9的編碼是0110000~0111001,它們的高3位均是011,后4位正好與其對應的二進制代碼〔BCD碼相符?!?英文字母A~Z的ASCII碼從1000001〔41H開始順序遞增,字母a~z的ASCII碼從1100001〔61H開始順序遞增,這樣的排列對信息檢索十分有利。微機組成原理第一節(jié)、微機的結構1、計算機的經(jīng)典結構——馮.諾依曼結構〔1計算機由運算器、控制器、輸入設備和輸出設備五大部分組成〔運算器和控制器又稱為CPU〔2數(shù)據(jù)和程序以二進制代碼形式不加區(qū)分地存放在存儲器總,存放位置由地址指定,數(shù)制為二進制?!?控制器是根據(jù)存放在存儲器中的指令序列來操作的,并由一個程序計數(shù)器控制指令的執(zhí)行。系統(tǒng)總線的分類〔1數(shù)據(jù)總線〔DataBus,它決定了處理器的字長。〔2地址總線〔AddressBus,它決定系統(tǒng)所能直接訪問的存儲器空間的容量?!?控制總線〔ControlBus第二節(jié)、8086微處理器1、8086是一種單片微處理芯片,其內(nèi)部數(shù)據(jù)總線的寬度是16位,外部數(shù)據(jù)總線寬度也是16位,片內(nèi)包含有控制計算機所有功能的各種電路。8086地址總線的寬度為20位,有1MB〔220尋址空間。8086CPU由總線接口部件BIU和執(zhí)行部件EU組成。BIU和EU的操作是異步的,為8086取指令和執(zhí)行指令的并行操作體統(tǒng)硬件支持。8086處理器的啟動4、寄存器結構8086微處理器包含有13個16位的寄存器和9位標志位。4個通用寄存器〔AX,BX,CX,DX4個段寄存器〔CS,DS,SS,ES4個指針和變址寄存器〔SP,BP,SI,DI指令指針〔IP1、通用寄存器〔18086含4個16位數(shù)據(jù)寄存器,它們又可分為8個8位寄存器,即:AXAH,ALBXBH,BLCXCH,CLDXDH,DL常用來存放參與運算的操作數(shù)或運算結果〔2數(shù)據(jù)寄存器特有的習慣用法AX:累加器。多用于存放中間運算結果。所有I/O指令必須都通過AX與接口傳送信息;BX:基址寄存器。在間接尋址中用于存放基地址;CX:計數(shù)寄存器。用于在循環(huán)或串操作指令中存放循環(huán)次數(shù)或重復次數(shù);DX:數(shù)據(jù)寄存器。在32位乘除法運算時,存放高16位數(shù);在間接尋址的I/O指令中存放I/O端口地址。2、指針和變址寄存器SP:堆棧指針寄存器,其內(nèi)容為棧頂?shù)钠频刂罚籅P:基址指針寄存器,常用于在訪問內(nèi)存時存放內(nèi)存單元的偏移地址。SI:源變址寄存器DI:目標變址寄存器變址寄存器常用于指令的間接尋址或變址尋址。3、段寄存器CS:代碼段寄存器,代碼段用于存放指令代碼DS:數(shù)據(jù)段寄存器ES:附加段寄存器,數(shù)據(jù)段和附加段用來存放操作數(shù)SS:堆棧段寄存器,堆棧段用于存放返回地址,保存寄存器內(nèi)容,傳遞參數(shù)4、指令指針〔IP16位指令指針寄存器,其內(nèi)容為下一條要執(zhí)行的指令的偏移地址。5、標志寄存器〔1狀態(tài)標志:進位標志位〔CF:運算結果的最高位有進位或有借位,則CF=1輔助進位標志位〔AF:運算結果的低四位有進位或借位,則AF=1溢出標志位〔OF:運算結果有溢出,則OF=1零標志位〔ZF:反映指令的執(zhí)行是否產(chǎn)生一個為零的結果符號標志位〔SF:指出該指令的執(zhí)行是否產(chǎn)生一個負的結果奇偶標志位〔PF:表示指令運算結果的低8位"1"個數(shù)是否為偶數(shù)〔2控制標志位中斷允許標志位〔IF:表示CPU是否能夠響應外部可屏蔽中斷請求跟蹤標志〔TF:CPU單步執(zhí)行5、8086的引腳及其功能〔重點掌握以下引腳AD15~AD0:雙向三態(tài)的地址總線,輸入/輸出信號INTR:可屏蔽中斷請求輸入信號,高電平有效??赏ㄟ^設置IF的值來控制。NMI:非屏蔽中斷輸入信號。不能用軟件進行屏蔽。RESET:復位輸入信號,高電平有效。復位的初始狀態(tài)見P21MN/MX:最小最大模式輸入控制信號。第三章8086指令系統(tǒng)8086尋址方式一、數(shù)據(jù)尋址方式1、立即尋址操作數(shù)<為一常數(shù)>直接由指令給出<此操作數(shù)稱為立即數(shù)>立即尋址只能用于源操作數(shù)例:MOVAX,1C8FHMOVBYTEPTR[2A00H],8FH錯誤例:×MOV2A00H,AX;錯誤!指令操作例:MOVAX,3102H;AX3102H執(zhí)行后,<AH>=31H,<AL>=02H2、寄存器尋址〔1操作數(shù)放在某個寄存器中〔2源操作數(shù)與目的操作數(shù)字長要相同〔3寄存器尋址與段地址無關例:MOVAX,BXMOV[3F00H],AXMOVCL,AL錯誤例:×MOVAX,BL;字長不同×MOVES:AX,DX;寄存器與段無關3、直接尋址〔1指令中直接給出操作數(shù)的16位偏移地址偏移地址也稱為有效地址<EA,EffectiveAddress>〔2默認的段寄存器為DS,但也可以顯式地指定其他段寄存器——稱為段超越前綴〔3偏移地址也可用符號地址來表示,如ADDR、VAR例:MOVAX,[2A00H]MOVDX,ES:[2A00H]MOVSI,TABLE_PTR4、間接尋址操作數(shù)的偏移地址<有效地址EA>放在寄存器中只有SI、DI、BX和BP可作間址寄存器例:MOVAX,[BX]MOVCL,CS:[DI]錯誤例:×MOVAX,[DX]×MOVCL,[AX]5、寄存器相對尋址EA=間址寄存器的內(nèi)容加上一個8/16位的位移量例:MOVAX,[BX+8]MOVCX,TABLE[SI]MOVAX,[BP];默認段寄存器為SS指令操作例:MOVAX,DATA[BX]若<DS>=6000H,<BX>=1000H,DATA=2A00H,<63A00H>=66H,<63A01H>=55H則物理地址=60000H+1000H+2A00H=63A00H指令執(zhí)行后:〔AX=5566H6、基址變址尋址若操作數(shù)的偏移地址:由基址寄存器<BX或BP>給出——基址尋址方式由變址寄存器<SI或DI>給出——變址尋址方式由一個基址寄存器的內(nèi)容和一個變址寄存器的內(nèi)容相加而形成操作數(shù)的偏移地址,稱為基址-變址尋址。EA=〔BX+〔SI或〔DI;EA=〔BP+〔SI或〔DI同一組內(nèi)的寄存器不能同時出現(xiàn)。注意:除了有段跨越前綴的情況外,當基址寄存器為BX時,操作數(shù)應該存放在數(shù)據(jù)段DS中,當基址寄存器為BP時,操作數(shù)應放在堆棧段SS中。例:MOVAX,[BX][SI]MOVAX,[BX+SI]MOVAX,DS:[BP][DI]錯誤例:×MOVAX,[BX][BP]×MOVAX,[DI][SI]指令操作例:MOVAX,[BX][SI]假定:<DS>=8000H,<BX>=2000H,SI=1000H則物理地址=80000H+2000H+1000H=83000H指令執(zhí)行后:<AL>=[83000H]<AH>=[83001H]7、相對基址變址尋址在基址-變址尋址的基礎上再加上一個相對位移量EA=〔BX+〔SI或〔DI+8位或16位位移量;EA=〔BP+〔SI或〔DI+8位或16位位移量指令操作例:MOVAX,DATA[DI][BX]若<DS>=8000H,<BX>=2000H,<DI>=1000H,DATA=200H則指令執(zhí)行后<AH>=[83021H],<AL>=[83020H]寄存器間接、寄存器相對、基址變址、相對基址變址四種尋址方式的比較:尋址方式指令操作數(shù)形式寄存器間接只有一個寄存器〔BX/BP/SI/DI之一寄存器相對一個寄存器加上位移量基址—變址兩個不同類別的寄存器相對基址-變址兩個不同類別的寄存器加上位移量二、地址尋址方式〔了解有4類,能判斷簡要判斷依據(jù)〔指令中間的單詞:段內(nèi)直接short,near段內(nèi)間接word段間直接far段間間接dword8086指令系統(tǒng)一、數(shù)據(jù)傳送指令1、通用傳送指令<1>MOVdest,src;dest←src傳送的是字節(jié)還是字取決于指令中涉及的寄存器是8位還是16位。具體來說可實現(xiàn):MOVmem/reg1,mem/reg2指令中兩操作數(shù)中至少有一個為寄存器②MOVreg,data;立即數(shù)送寄存器③MOVmem,data;立即數(shù)送存儲單元④MOVacc,mem;存儲單元送累加器⑤MOVmem,acc;累加器送存儲單元⑥MOVsegreg,mem/reg;存儲單元/寄存器送段寄存器⑦MOVmem/reg,segreg;段寄存器送存儲單元/寄存器MOV指令的使用規(guī)則①IP不能作目的寄存器②不允許mem←mem③不允許segreg←segreg④立即數(shù)不允許作為目的操作數(shù)⑤不允許segreg←立即數(shù)⑥源操作數(shù)與目的操作數(shù)類型要一致⑦當源操作數(shù)為單字節(jié)的立即數(shù),而目的操作數(shù)為間址、變址、基址+變址的內(nèi)存數(shù)時,必須用PTR說明數(shù)據(jù)類型。如:MOV[BX],12H是錯誤的?!?、堆棧指令什么是堆棧?按"后進先出<LIFO>"方式工作的存儲區(qū)域。堆棧以字為單位進行壓入彈出操作。規(guī)定由SS指示堆棧段的段基址,堆棧指針SP始終指向堆棧的頂部,SP的初值規(guī)定了所用堆棧區(qū)的大小。堆棧的最高地址叫棧底。壓棧指令PUSHPUSHsrc ;src為16位操作數(shù)例:PUSH AX ;將AX內(nèi)容壓棧執(zhí)行操作:〔SP-1←高字節(jié)AH〔SP-2←低字節(jié)AL<SP>←〔SP-2注意進棧方向是高地址向低地址發(fā)展。`彈出指令POPPOP dest例:POP BX ;將棧頂內(nèi)容彈至BX執(zhí)行操作:〔BL←〔SP〔BH←〔SP+1〔SP←〔SP+2堆棧指令在使用時需注意的幾點:堆棧操作總是按字進行不能從棧頂彈出一個字給CS堆棧指針為SS:SP,SP永遠指向棧頂④SP自動進行增減量〔-2,+2〔3、交換指令XCHG格式:XCHGreg,mem/reg功能:交換兩操作數(shù)的內(nèi)容。要求:兩操作數(shù)中必須有一個在寄存器中;操作數(shù)不能為段寄存器和立即數(shù);源和目地操作數(shù)類型要一致。舉例:XCHG AX,BXXCHG [2000],CL〔4查表指令XLAT執(zhí)行的操作:AL←[<BX>+<AL>]又叫查表轉換指令,它可根據(jù)表項序號查出表中對應代碼的內(nèi)容。執(zhí)行時先將表的首地址〔偏移地址送到BX中,表項序號存于AL中。2、輸入輸出指令只限于用累加器AL或AX來傳送信息。功能:<累加器>←→I/O端口輸入指令IN格式:INacc,PORT;PORT端口號0~255HINacc,DX;DX表示的端口范圍達64K例:INAL,80H;<AL>←<80H端口>INAL,DX;<AL>←<<DX>><2>輸出指令OUT格式:OUTport,accOUTDX,acc例:OUT68H,AX;<69H,68H>←〔AXOUTDX,AL;<<DX>>←<AL>在使用間接尋址的IN/OUT指令時,要事先用傳送指令把I/O端口號設置到DX寄存器如:MOVDX,220HINAL,DX;將220H端口內(nèi)容讀入AL3、目標地址傳送指令LEA傳送偏移地址格式:LEAreg,mem;將指定內(nèi)存單元的偏移地址送到指定寄存器要求:源操作數(shù)必須是一個存儲器操作數(shù);目的操作數(shù)必須是一個16位的通用寄存器。例:LEA BX,[SI+10H]設:〔SI=1000H則執(zhí)行該指令后,〔BX=1010H注意以下二條指令差別:LEABX,BUFFERMOVBX,BUFFER前者表示將符號地址為BUFFER的存儲單元的偏移地址取到BX中;后者表示將BUFFER存儲單元中的內(nèi)容取到BX中。下面兩條指令等效:LEABX,BUFFERMOVBX,OFFSETBUFFER其中OFFSETBUFFER表示存儲器單元BUFFER的偏移地址。二者都可用于取存儲器單元的偏移地址,但LEA指令可以取動態(tài)的地址,OFFSET只能取靜態(tài)的地址。二、算術運算指令加法指令不帶進位的加法指令ADD格式:ADD acc,dataADD mem/reg,dataADDmem/reg1,mem/reg2實例:ADD AL,30HADD SI,[BX+20H]ADD CX,SIADD [DI],200H?ADD指令對6個狀態(tài)標志均產(chǎn)生影響。例:已知<BX>=D75FH指令ADDBX,8046H執(zhí)行后,狀態(tài)標志各是多少?D75FH=11100111010111118046H=10000000010001101111110110011110100101結果:C=1,Z=0,P=0,A=1,O=1,S=0判斷溢出與進位從硬件的角度:默認參與運算的操作數(shù)都是有符號數(shù),當兩數(shù)的符號位相同,而和的結果相異時有溢出,則OF=1,否則OF=0帶進位的加法ADCADC指令在形式上和功能上與ADD類似,只是相加時還要包括進位標志CF的內(nèi)容,例如:ADCAL,68H;AL←<AL>+68H+<CF>ADCAX,CX;AX←<AX>+<CX>+<CF>ADCBX,[DI];BX←<BX>+[DI+1][DI]+<CF>〔3加1指令INC格式:INCreg/mem功能:類似于C語言中的++操作:對指定的操作數(shù)加1例:INCALINCSIINCBYTEPTR[BX+4]注:本指令不影響CF標志?!?非壓縮BCD碼加法調(diào)整指令AAAAAA指令的操作:如果AL的低4位>9或AF=1,則:①AL←<AL>+6,<AH>←<AH>+1,AF←1②AL高4位清零③CF←AF否則AL高4位清零〔5壓縮BCD碼加法調(diào)整指令DAA兩個壓縮BCD碼相加結果在AL中,通過DAA調(diào)整得到一個正確的壓縮BCD碼.指令操作<調(diào)整方法>:若AL的低4位>9或AF=1則<AL>←<AL>+6,AF←1若AL的高4位>9或CF=1則<AL>←<AL>+60H,CF←1除OF外,DAA指令影響所有其它標志。DAA指令應緊跟在ADD或ADC指令之后。減法指令〔1不考慮借位的減法指令SUB格式:SUBdest,src操作:dest←<dest>-<src>注:1.源和目的操作數(shù)不能同時為存儲器操作數(shù)2.立即數(shù)不能作為目的操作數(shù)指令例子:SUBAL,60HSUB[BX+20H],DXSUBAX,CX〔2考慮借位的減法指令SBBSBB指令主要用于多字節(jié)的減法。格式:SBBdest,src操作:dest←<dest>-<src>-<CF>指令例子:SBBAX,CXSBBWORDPTR[SI],2080HSBB[SI],DX〔3減1指令DEC作用類似于C語言中的"--"操作符。格式:DECopr操作:opr←<opr>-1指令例子:DECCLDECBYTEPTR[DI+2]DECSI〔4求補指令NEG格式:NEGopr操作:opr←0-<opr>對一個操作數(shù)取補碼相當于用0減去此操作數(shù),故利用NEG指令可得到負數(shù)的絕對值。例:若<AL>=0FCH,則執(zhí)行NEGAL后,<AL>=04H,CF=1〔5比較指令CMP格式:CMPdest,src操作:<dest>-<src>CMP也是執(zhí)行兩個操作數(shù)相減,但結果不送目標操作數(shù),其結果只反映在標志位上。指令例子:CMPAL,0AHCMPCX,SICMPDI,[BX+03]〔6非壓縮BCD碼減法調(diào)整指令AAS對AL中由兩個非壓縮的BCD碼相減的結果進行調(diào)整。調(diào)整操作為:若AL的低4位>9或AF=1,則:①AL←<AL>-6,AH←<AH>-1,AF←1②AL的高4位清零③CF←AF否則:AL的高4位清零〔7壓縮BCD碼減法調(diào)整指令DAS對AL中由兩個壓縮BCD碼相減的結果進行調(diào)整。調(diào)整操作為:若AL的低4位>9或AF=1,則:AL←<AL>-6,且AF←1若AL的高4位>9或CF=1,則:AL←<AL>-60H,且CF←1DAS對OF無定義,但影響其余標志位。DAS指令要求跟在減法指令之后。乘法指令進行乘法時:8位*8位→16位乘積16位*16位→32位乘積<1>無符號數(shù)的乘法指令MUL<MEM/REG>格式:MULsrc操作:字節(jié)操作數(shù)<AX>←<AL>×<src>字操作數(shù)<DX,AX>←<AX>×<src>指令例子:MULBL;<AL>×<BL>,乘積在AX中MULCX;<AX>×<CX>,乘積在DX,AX中MULBYTEPTR[BX]〔2有符號數(shù)乘法指令IMUL格式與MUL指令類似,只是要求兩操作數(shù)均為有符號數(shù)。指令例子:IMULBL;<AX>←<AL>×<BL>IMULWORDPTR[SI];<DX,AX>←<AX>×<[SI+1][SI]>注意:MUL/IMUL指令中●AL<AX>為隱含的乘數(shù)寄存器;●AX<DX,AX>為隱含的乘積寄存器;●SRC不能為立即數(shù);●除CF和OF外,對其它標志位無定義。4、除法指令進行除法時:16位/8位→8位商32位/16位→16位商對被除數(shù)、商及余數(shù)存放有如下規(guī)定:被除數(shù)商余數(shù)字節(jié)除法AXALAH字除法DX:AXAXDX〔1無符號數(shù)除法指令DIV格式:DIVsrc操作:字節(jié)操作<AL>←<AX>/<SRC>的商<AH>←<AX>/<SRC>的余數(shù)字操作<AX>←<DX,AX>/<SRC>的商<DX>←<DX,AX>/<SRC>的余數(shù)指令例子:DIVCLDIVWORDPTR[BX]〔2有符號數(shù)除法指令IDIV格式:IDIVsrc操作與DIV類似。商及余數(shù)均為有符號數(shù),且余數(shù)符號總是與被除數(shù)符號相同。注意:對于DIV/IDIV指令AX<DX,AX>為隱含的被除數(shù)寄存器。AL<AX>為隱含的商寄存器。AH<DX>為隱含的余數(shù)寄存器。src不能為立即數(shù)。對所有條件標志位均無定關于除法操作中的字長擴展問題?除法運算要求被除數(shù)字長是除數(shù)字長的兩倍,若不滿足則需對被除數(shù)進行擴展,否則產(chǎn)生錯誤。?對于無符號數(shù)除法擴展,只需將AH或DX清零即可。?對有符號數(shù)而言,則是符號位的擴展??墒褂们懊娼榻B過的符號擴展指令CBW和CWD三、邏輯運算和移位指令1、邏輯運算指令〔1邏輯與AND對兩個操作數(shù)進行按位邏輯"與"操作。格式:ANDdest,src用途:保留操作數(shù)的某幾位,清零其他位。例1:保留AL中低4位,高4位清0。ANDAL,0FH〔2邏輯或OR對兩個操作數(shù)進行按位邏輯"或"操作。格式:ORdest,src用途:對操作數(shù)的某幾位置1;對兩操作數(shù)進行組合。例1:把AL中的非壓縮BCD碼變成相應十進制數(shù)的ASCII碼。ORAL,30H〔3邏輯非NOT對操作數(shù)進行按位邏輯"非"操作。格式:NOTmem/reg例:NOTCXNOTBYTEPTR[DI]〔4邏輯異或XOR對兩個操作數(shù)按位進行"異或"操作。格式:XORdest,src用途:對reg清零<自身異或>把reg/mem的某幾位變反<與’1’異或>例1:把AX寄存器清零。①MOVAX,0②XORAX,AX③ANDAX,0④SUBAX,AX〔5測試指令TEST操作與AND指令類似,但不將"與"的結果送回,只影響標志位。TEST指令常用于位測試,與條件轉移指令一起用。例:測試AL的內(nèi)容是否為負數(shù)。TESTAL,80H;檢查AL中D7=1?JNZMINUS;是1<負數(shù)>,轉MINUS……;否則為正數(shù)2、移位指令<1>非循環(huán)移位指令算術左移指令SAL<ShiftArithmeticLeft>算術右移指令SAR<ShiftArithmeticRight>邏輯左移指令SHL<ShiftLeft>邏輯右移指令SHR<ShiftRight>這4條指令的格式相同,以SAL為例:CL;移位位數(shù)大于1時SALmem/reg;移位位數(shù)等于1時算術移位——把操作數(shù)看做有符號數(shù);邏輯移位——把操作數(shù)看做無符號數(shù)。移位位數(shù)放在CL寄存器中,如果只移1位,也可以直接寫在指令中。例如: MOVCL,4 SHRAL,CL;AL中的內(nèi)容右移4位影響C,P,S,Z,O標志。結果未溢出時:左移1位≡操作數(shù)*2右移1位≡操作數(shù)/2例:把AL中的數(shù)x乘10因為10=8+2=23+21,所以可用移位實現(xiàn)乘10操作。程序如下: MOVCL,3 SALAL,1;2xMOVAH,AL SALAL,1;4xSALAL,1;8xADDAL,AH;8x+2x=10x四、控制轉移指令轉移指令〔1無條件轉移指令JMP格式:JMPlabel本指令無條件轉移到指定的目標地址,以執(zhí)行從該地址開始的程序段?!?條件轉移指令〔補充內(nèi)容①根據(jù)單個標志位設置的條件轉移指令JB/JC;低于,或CF=1,則轉移JNB/JNC/JAE;高于或等于,或CF=0,則轉移JP/JPE;奇偶標志PF=1<偶>,則轉移JNP/JPO;奇偶標志PF=0<奇>,則轉移JZ/JE;結果為零<ZF=1>,則轉移JNZ/JNE;結果不為零<ZF=0>,則轉移JS;SF=1,則轉移JNS;SF=0,則轉移JO ;OF=1,則轉移JNO ;OF=0,則轉移②根據(jù)組合條件設置的條件轉移指令這類指令主要用來判斷兩個數(shù)的大小?!锱袛酂o符號數(shù)的大小JA高于則轉移條件為:CF=0∧ZF=0,即A>BJNA/JBE低于或等于則轉移條件為:CF=1∨ZF=1,即A≤BJBA<B則轉移JNBA≥B則轉移★判斷有符號數(shù)的大小JG;大于則轉移<A>B>條件為:<SF⊕OF=0>∧ZF=0JGE;大于或等于則轉移<A≥B>條件為:<SF⊕OF=0>∨ZF=1JLE;小于或等于則轉移<A≤B>條件為:<SF⊕OF=1>∨ZF=1JL;小于則轉移<A<B=條件為:<SF⊕OF=1>∧ZF=02、循環(huán)控制指令用在循環(huán)程序中以確定是否要繼續(xù)循環(huán)。循環(huán)次數(shù)通常置于CX中。轉移的目標應在距離本指令-128~+127的范圍之內(nèi)。循環(huán)控制指令不影響標志位。<1>LOOP格式:LOOPlabel操作:<CX>-1→CX;若<CX>≠0,則轉至label處執(zhí)行;否則退出循環(huán),執(zhí)行LOOP后面的指令。LOOP指令與下面的指令段等價: DECCX JNZlabel3、過程調(diào)用指令〔1調(diào)用指令CALL一般格式:CALLsub;sub為子程序的入口4、中斷指令<1>INTn執(zhí)行類型n的中斷服務程序,N=0~255五、處理器控制指令1、標志位操作〔1CF設置指令CLC0→CFSTC1→CFCMCCF變反〔2DF設置指令CLD0→DF<串操作的指針移動方向從低到高>STD1→DF<串操作的指針移動方向從高到低>〔3IF設置指令CLI0→IF<禁止INTR中斷>STI1→IF<開放INTR中斷>HLT〔halt執(zhí)行HLT指令后,CPU進入暫停狀態(tài)。第四章8086匯編語言程序設計偽指令CPU指令與偽指令之間的區(qū)別:<1>CPU指令是給CPU的命令,在運行時由CPU執(zhí)行,每條指令對應CPU的一種特定的操作。而偽指令是給匯編程序的命令,在匯編過程中由匯編程序進行處理。<2>匯編以后,每條CPU指令產(chǎn)生一一對應的目標代碼;而偽指令則不產(chǎn)生與之相應的目標代碼。1、數(shù)據(jù)定義偽指令〔1數(shù)據(jù)定義偽指令的一般格式為:[變量名]偽指令操作數(shù)[,操作數(shù)…]DB 用來定義字節(jié)〔BYTEDW 用來定義字〔WORDDD 用來定義雙字〔DWORD〔2操作數(shù)的類型可以是:①常數(shù)或常數(shù)表達式例如:DATA_BYTEDB10,5,10HDATA_WORDDW100H,100,-4DATA_DWDD2*30,0FFFBH②可以為字符串〔定義字符串最好使用DB例如:char1DB‘AB’③可以為變量④可以為?號操作符例如:XDB5,?,6?號只是為了給變量保留相應的存儲單元,而不賦予變量某個確定的初值。⑤重復次數(shù):NDUP〔初值[,初值…]例如:ZERODB2DUP〔3,5XYZDB2DUP〔0,2DUP〔1,3,5⑥在偽操作的操作數(shù)字段中若使用$,則表示的是地址計數(shù)器的當前值。2、補充內(nèi)容:〔1類型PTR地址表達式例如:MOVBYTEPTR[BX],12HINCBYTEPTR[BX]注意:單操作數(shù)指令,當操作數(shù)為基址、變址、基+變的時候必須定義3、符號定義偽指令<1>EQU格式:名字EQU表達式EQU偽指令將表達式的值賦予一個名字,以后可用這個名字來代替上述表達式。例:CONSTANTEQU100NEW_PORTEQUPORT_VAL+1<2>=〔等號與EQU類似,但允許重新定義例:┇ EMP=7 ;值為7┇ EMP=EMP+1 ;值為8<3>LABELLABEL偽指令的用途是定義標號或變量的類型格式:名字LABEL類型變量的類型可以是BYTE,WORD,DWORD。標號的類型可以是NEAR或FAR4、段定義偽指令與段有關的偽指令有:SEGMENT、ENDS、ASSUME、ORG〔1段定義偽指令的格式如下:段名SEGMENT[定位類型][組合類型][’類別’]┇段名ENDSSEGMENT和ENDS這兩個偽指令總是成對出現(xiàn),二者前面的段名一致。二者之間的刪節(jié)部分,對數(shù)據(jù)段、附加段及堆棧段,一般是符號、變量定義等偽指令。對于代碼段則是指令及偽指令。此外,還必須明確段和段寄存器的關系,這可由ASSUME語句來實現(xiàn)?!?ASSUME格式:ASSUME段寄存器名:段名[,段寄存器名:段名[,…]]ASSUME偽指令告訴匯編程序,將某一個段寄存器設置為某一個邏輯段址,即明確指出源程序中邏輯段與物理段之間的關系?!?ORG偽指令ORG規(guī)定了段內(nèi)的起始地址或偏移地址,其格式為:ORG <表達式>表達式的值即為段內(nèi)的起始地址或偏移地址,從此地址起連續(xù)存放程序或數(shù)據(jù)。5、匯編程序的一般結構〔記住DATASEGMENT…DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABGN:MOVAX,DATAMOVDS,AX….MOVAH,4CHINT21HCODEENDSENDBGN第三節(jié)程序設計順序程序的設計〔略分支程序的設計典型例題:1X>0Y=0X=0-1X<0程序為:MOVAL,XCMPAL,0JGEBIGMOVY,-1JMPEXITBIG:JEEQULMOVY,1JMPEXITEQUL:MOVY,0EXIT:….循環(huán)程序見講義。用計數(shù)控制循環(huán)第一章計算機基礎知識本章的主要內(nèi)容為不同進位計數(shù)制計數(shù)方法、不同進位制數(shù)之間相互轉換的方法、數(shù)和字符在計算機中的表示方法、簡單的算術運算以及計算機系統(tǒng)的組成。下邊將本章的知識點作了歸類,圖1為本章的知識要點圖,圖1.2為計算機系統(tǒng)組成的示意圖。本章知識要點本章知識要點數(shù)制二進制數(shù)<B>八進制數(shù)<Q>十六進制數(shù)<H>十進制數(shù)<D>B>碼制帶符號數(shù)編碼奇偶校驗碼字符編碼原碼反碼補碼奇校驗碼偶校驗碼ASCII碼BCD碼數(shù)字編碼規(guī)則字母編碼規(guī)則壓縮BCD碼非壓縮BCD碼計算機系統(tǒng)組成計算機系統(tǒng)組成硬件主機外部設備中央處理器<CPU>半導體存儲器控制器運算器ROMRAM輸入設備輸出設備軟件系統(tǒng)軟件應用軟件操作系統(tǒng):如DOS、Windows、Unix、Linux等其他系統(tǒng)軟件用戶應用軟件其他應用軟件各種計算機語言處理軟件:如匯編、解釋、編譯等軟件8086微處理器本章要從應用角度上理解8086CPU的內(nèi)部組成、編程結構、引腳信號功能、最小工作模式的系統(tǒng)配置、8086的存儲器組織、基本時序等概念。下面這一章知識的結構圖。本章知識要點本章知識要點Intel8086微處理器時鐘發(fā)生器〔8284地址鎖存器〔74LS373、8282存儲器組織存儲器邏輯分段存儲器分體三總線<DB、AB、CB>時序時鐘周期<T狀態(tài)>基本讀總線周期系統(tǒng)配置〔最小模式8086CPU數(shù)據(jù)收發(fā)器<8286、74LS245>邏輯地址物理地址奇地址存儲體〔BHE偶地址存儲體〔A0總線周期指令周期基本寫總線周期復位操作時序中斷響應時序寄存器的復位值執(zhí)行單元EU〔AX、BX、CX、DX、SP、BP、SI、DI、標志寄存器執(zhí)行單元EU〔AX、BX、CX、DX、SP、BP、SI、DI、標志寄存器內(nèi)部組成內(nèi)部組成總線接口單元BIU〔CS、DS、SS、ES、IP總線接口單元BIU〔CS、DS、SS、ES、IP地址/數(shù)據(jù)地址/數(shù)據(jù)控制負責地址BHE/S7、ALE引腳功能〔最小模式地址/狀態(tài)數(shù)據(jù)允許和收發(fā)DEN、DT/R負責讀寫RD、WR、M/IO負責中斷INTR、NMI、INTA負責總線HOLD、HLDA協(xié)調(diào)CLK、READY、TEST模式選擇MN/MX=5V8086的指令系統(tǒng)本章重點是8086CPU指令的尋址方式,每條指令的格式、功能及標志的影響;同時還涉及到存儲器單元的物理地址計算、標志位填寫和堆棧操作。下圖為本章知識結構圖。立即數(shù)尋址、寄存器尋址、存儲器尋址……立即數(shù)尋址、寄存器尋址、存儲器尋址…….操作數(shù)尋址方式本章知識要點邏輯地址、物理地址本章知識要點邏輯地址、物理地址指令功能指令格式指令功能指令格式對標志位影響對標志位影響填寫標志位填寫標志位堆棧操作〔入棧、出棧堆棧指針<SP>堆棧結構<后進先出>堆棧操作〔入棧、出棧堆棧指針<SP>堆棧結構<后進先出>直接尋址立即數(shù)尋址直接尋址立即數(shù)尋址寄存器間接尋址寄存器尋址寄存器間接尋址寄存器尋址寄存器相對尋址存儲器尋址尋址方式寄存器相對尋址存儲器尋址尋址方式基址變址尋址基址變址尋址串操作尋址串操作尋址相對基址變址尋址I/O端口尋址相對基址變址尋址I/O端口尋址隱含尋址隱含尋址指令功能指令功能數(shù)據(jù)傳送類〔通用數(shù)據(jù)傳送指令、堆棧指令、交換指令、I/O傳送指令、換碼指令、有效地址傳送指令、標志寄存器傳送指令算術運算類指令〔加法指令,減法指令,乘法指令,除法指令,BCD碼調(diào)整指令邏輯類指令〔邏輯運算指令、邏輯移位操作指令串操作類指令〔串傳送、比較、掃描、串存和取指令控制轉移類指令〔條件和無條件轉移、子程序調(diào)用和返回指令、子程序調(diào)用和返回、中斷、處理器控制類指令其他應用軟件用戶應用軟件應用軟件其他應用軟件用戶應用軟件應用軟件第四章匯編語言程序設計本章主要內(nèi)容是匯編語言類別、偽指令語句格式和作用、基本程序結構、調(diào)用程序和被調(diào)用程序之間數(shù)據(jù)傳遞途徑以及匯編源程序上機調(diào)試過程。本章重點是閱讀程序和編寫程序。下邊是本章的知識結構圖。匯編語言語句類別匯編語言語句類別程序基本結構順序結構本章知識要點實指令語句分支結構循環(huán)結構過程〔子程序偽指令語句宏指令語句參數(shù)傳遞途徑寄存器約定存儲器約定堆棧傳遞程序開發(fā)步驟:編輯匯編鏈接調(diào)試運行符號定義偽指令EQU、=符號定義偽指令EQU、=偽指令語句數(shù)據(jù)定義偽指令DB、DW、DD……段定義偽指令SEGMENT……ENDS過程定義偽指令PROC、ENDP段指派偽指令ASSUME程序定位偽指令ORG匯編結束偽指令END其他偽指令…….第五章半導體存儲器半導體存儲器是用半導體器件作為存儲介質(zhì)的存儲器。本章討論半導體存儲器芯片的類型、存儲原理、引腳功能、如何與CPU〔或系統(tǒng)總線連接等問題。本章知識結構圖如下。只存放二進制數(shù)存放程序和數(shù)據(jù)只存放二進制數(shù)存放程序和數(shù)據(jù)SRAMSRAMRAMRAMDRAM存儲器作用DRAM存儲器作用本章知識要點掩模ROM半導體存儲器芯片分類本章知識要點掩模ROM半導體存儲器芯片分類PROMROMPROMROM線譯碼部分譯碼與系統(tǒng)連接地址分配、片選邏輯、控制選擇全譯碼計算芯片數(shù)主存儲器設計引腳功能存儲容量存儲器芯片EEROMEPROMPROM`線譯碼部分譯碼與系統(tǒng)連接地址分配、片選邏輯、控制選擇全譯碼計算芯片數(shù)主存儲器設計引腳功能存儲容量存儲器芯片EEROMEPROMPROM第六章輸入輸出接口本章討論輸入/輸出接口的基本概念,包括輸入/輸出接口的作用、內(nèi)部結構、傳送信息的分析、IO端口編址以及主機通過接口與外設之間數(shù)據(jù)傳送的方式。下邊是本章的知識結構圖。IO接口概念IO接口概念主機通過接口與外設數(shù)據(jù)傳送方式本章知識要點接口作用接口傳送信息的種類IO端口數(shù)據(jù)傳送方式程序控制方式控制信息狀態(tài)信息數(shù)據(jù)信息〔開關量、脈沖量、數(shù)據(jù)量、模擬量IO端口編址方式單獨編址統(tǒng)一編址IO端口號簡單的I/O芯片的使用中斷控制方式直接存儲器存取控制方式<DMA>無條件傳送有條件傳送<查詢>中斷與中斷控制器本章主要內(nèi)容:中斷的基本概念、CPU響應中斷的條件、中斷響應過程、中斷服務程序的執(zhí)行;8086/8088中斷系統(tǒng);可編程中斷控制器8259A的引腳功能、編程結構以及工作工程。中斷概念中斷概念本章知識要點實現(xiàn)中斷與返回中斷請求中斷優(yōu)先級控制軟件查詢中斷源中斷源的中斷優(yōu)先級別中斷判優(yōu)中斷響應中斷服務中斷返回中斷系統(tǒng)功能實現(xiàn)中斷優(yōu)先級控制中斷優(yōu)先級排隊中斷嵌套〔高級中斷請求能中斷低級中斷服務硬件查詢〔菊花鏈可編程中斷控制器<PIC>8259A的中斷管理方式實現(xiàn)中斷與返回中斷屏蔽方式優(yōu)先級設置方式實現(xiàn)中斷優(yōu)先級控制全嵌套方式優(yōu)先級自動循環(huán)方式優(yōu)先級特殊循環(huán)方式特殊全嵌套方式中斷結束方式自動EOI結束方式普通EOI結束方式特殊EOI結束方式中斷請求引入方式邊沿觸發(fā)方式電平觸發(fā)方式中斷查詢方式第八章定時器/計數(shù)器8253及應用本章主要內(nèi)容是定時器/計算器的應用場合;如何實現(xiàn)定時/計數(shù);可編程計數(shù)器/定時器8253芯片的內(nèi)部結構、引腳功能、計數(shù)原理、6種工作方式下的工作條件和輸出波形特征。下邊是知識要點圖。軟件:延時子程序軟件:延時子程序硬件:數(shù)字邏輯電路定時/計數(shù)的實現(xiàn)下硬件:數(shù)字邏輯電路定時/計數(shù)的實現(xiàn)下本章知識要點采用可編程定時器/計數(shù)器本章知識要點采用可編程定時器/計數(shù)器引腳功能引腳功能通道的編程結構通道的6種工作方式可編程定時器/計數(shù)器8253通道的編程結構通道的6種工作方式可編程定時器/計數(shù)器8253芯片的使用:硬件連線、軟件編程芯片的使用:硬件連線、軟件編程方式0:計數(shù)結束中斷方式方式0:計數(shù)結束中斷方式方式1:可重新觸發(fā)單穩(wěn)態(tài)輸出方式方式1:可重新觸發(fā)單穩(wěn)態(tài)輸出方式方式2:分頻器方式方式2:分頻器方式方式3:方波發(fā)生器方式方式3:方波發(fā)生器方式方式4:軟件選通觸發(fā)方式8253的工作方式方式4:軟件選通觸發(fā)方式8253的工作方式方式5:硬件選通觸發(fā)方式方式5:硬件選通觸發(fā)方式第九章A/D和D/A轉換本章重點是A/D轉換的任務和轉換原理,D/A轉換的任務和轉換原理,常用A/D轉換器<ADC>集成芯片和D/A轉換器<DAC>集成芯片的外部引腳功能、內(nèi)部結構、工作過程、性能指標以及實際應用。數(shù)字量A/D:模擬量數(shù)字量A/D:模擬量轉換任務轉換任務D/A:數(shù)字量模擬量D/A:數(shù)字量模擬量基準電壓、權電阻解碼網(wǎng)絡基準電壓、權電阻解碼網(wǎng)絡A/D基準電壓、T型電阻解碼網(wǎng)絡轉換原理本章知識要點A/D基準電壓、T型電阻解碼網(wǎng)絡轉換原理本章知識要點常用方法常用方法逐次逼近式,計數(shù)器式D/A逐次逼近式,計數(shù)器式D/A積分式,并聯(lián)式積分式,并聯(lián)式硬件連線:同微機系統(tǒng)總線的連接硬件連線:同微機系統(tǒng)總線的連接集成芯片使用集成芯片使用軟件編程:控制轉換,控制數(shù)字量傳送軟件編程:控制轉換,控制數(shù)字量傳送ADC:將CPU處理后的數(shù)字量轉換為模擬量ADC:將CPU處理后的數(shù)字量轉換為模擬量將CPU處理后的數(shù)字量轉換為模擬量,送控制現(xiàn)場集成芯片應用場合將CPU處理后的數(shù)字量轉換為模擬量,送控制現(xiàn)場集成芯片應用場合DACDAC與運算放大器一起組成各種波形發(fā)生器與運算放大器一起組成各種波形發(fā)生器如下圖所示,以8088微處理器為核心的IBMPC/XT機與DAC0832連接,實現(xiàn)波形發(fā)生器。IBMPC/XT機使用10根地址線A0~A9尋址I/O端口,AEN為地址允許信號,低電平時選中端口。DAC0832的參考電壓VREF=-5V,VREF的范圍為0~5V,計算式為,其中,N是由DAC0832轉換的數(shù)字量對應的十進制值。Vout的輸出范圍是-5V~5V。根據(jù)下圖一所示的DAC0832的硬件連接,說明其工作方式。假如DAC0832端口地址為140H,請在下圖一中畫出相應的譯碼電路?,F(xiàn)有1ms的延時子程序DELAY,請編寫程序片段實現(xiàn)輸出右圖二的所示波形。什么是中斷?什么是中斷向量?中斷向量表的地址范圍?答:中斷就是CPU在執(zhí)行當前程序時由于內(nèi)外部事件引起CPU暫時停止當前正在執(zhí)行的程序而轉向執(zhí)行請求CPU暫時停止的內(nèi)外部事件的服務程序,該程序處理完后又返回繼續(xù)執(zhí)行被停止的程序;中斷向量是中斷處理子程序的入口地址;地址范圍是00000H-003FFH。微機系統(tǒng)的硬件由哪幾部分組成?答:微型計算機〔微處理器,存儲器,I/0接口,系統(tǒng)總線,外圍設備,電源。什么是微機的總線,分為哪三組?答:是傳遞信息的一組公用導線。分三組:地址總線,數(shù)據(jù)總線,控制總線。8086/8088CPU的內(nèi)部結構分為哪兩大模塊,各自的主要功能是什么?答:總線接口部件〔BIU功能:根據(jù)執(zhí)行單元EU的請求完成CPU與存儲器或IO設備之間的數(shù)據(jù)傳送。執(zhí)行部件〔EU,作用:從指令對列中取出指令,對指令進行譯碼,發(fā)出相應的傳送數(shù)據(jù)或算術的控制信號接受由總線接口部件傳送來的數(shù)據(jù)或把數(shù)據(jù)傳送到總線接口部件進行算術運算。8086指令隊列的作用是什么?答:作用是:在執(zhí)行指令的同時從內(nèi)存中取了一條指令或下幾條指令,取來的指令放在指令隊列中這樣它就不需要象以往的計算機那樣讓CPU輪番進行取指和執(zhí)行的工作,從而提高CPU的利用率。8086的存儲器空間最大可以為多少?怎樣用16位寄存器實現(xiàn)對20位地址的尋址?完成邏輯地址到物理地址轉換的部件是什么?答:8086的存儲器空間最大可以為2^20〔1MB;8086計算機引入了分段管理機制,當CPU尋址某個存儲單元時,先將段寄存器內(nèi)的內(nèi)容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。段寄存器CS=1200H,指令指針寄存器IP=FF00H,此時,指令的物理地址為多少?指向這一物理地址的CS值和IP值是唯一的嗎?答:指令的物理地址為21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。設存儲器的段地址是4ABFH,物理地址為50000H,其偏移地址為多少?答:偏移地址為54100H?!参锢淼刂?段地址*16+偏移地址8086/8088CPU有哪幾個狀態(tài)標志位,有哪幾個控制標志位?其意義各是什么?答:狀態(tài)標志位有6個:ZF,SF,CF,OF,AF,PF。其意思是用來反映指令執(zhí)行的特征,通常是由CPU根據(jù)指令執(zhí)行結果自動設置的;控制標志位有3個:DF,IF,TF。它是由程序通過執(zhí)行特定的指令來設置的,以控制指令的操作方式。8086CPU的AD0~AD15是什么引腳?答:數(shù)據(jù)與地址引腳INTR、INTA、NMI、ALE、HOLD、HLDA引腳的名稱各是什么?答:INTR是可屏蔽請求信號,INTA中斷響應信號,NMI是不可屏蔽中斷請求信號,ALE是地址鎖存允許信號,HOLD總線請求信號,HLDA總線請求響應信號。虛擬存儲器有哪兩部分組成?答:有主存儲器和輔助存儲器。在80x86中,什么是邏輯地址、線性地址、物理地址?答:線性地址是連續(xù)的不分段的地址;邏輯地址是由程序提供的地址;物理地址是內(nèi)存單元的實際地址。

段描述符分為哪幾種?答:分為三大類,程序段描述符,系統(tǒng)段描述符,門描述符。RAM有幾種,各有什么特點?ROM有幾種,各有什么特點?答:RAM有兩種,SRAM<靜態(tài)RAM>,它采用觸發(fā)器電路構成一個二進制位信息的存儲單元,這種觸發(fā)器一般由6個晶體管組成,它讀出采用單邊讀出的原理,寫入采用雙邊寫入原理;DRAM〔動態(tài)RAM,它集成度高,內(nèi)部存儲單元按矩陣形式排列成存儲體,通常采用行,列地址復合選擇尋址法。ROM有5種,固定掩摸編程ROM,可編程PROM,紫外光檫除可編程EPROM,電可檫除的可編程EPROM,閃速存儲器。若用4K*1位的RAM芯片組成8K*8為的存儲器,需要多少芯片?A19—A0地址線中哪些參與片內(nèi)尋址,哪些用做芯片組的片選信號?答:需要16片芯片;其中A11-A0參與片內(nèi)尋址;A12做芯片組的片選信號。若系統(tǒng)分別使用512K*8、1K*4、16K*8、64K*1的RAM,各需要多少條地址線進行尋址,各需要多少條數(shù)據(jù)線?答:512K*8需要19條地址線,8條數(shù)據(jù)線。1K*4需要10條地址線,4條數(shù)據(jù)線。16K*8需要14條地址線,8條數(shù)據(jù)線。64K*1需要14條地址線,1條數(shù)據(jù)線。某微機系統(tǒng)的RAM容量為8K*8,若首地址為4800H,則最后一個單元的地址是多少?答:最后一個單元的地址是:4800H+2^13-1什么是總線,微機中的總線通常分為哪幾類?答:是一組信號線的集合,是一種在各模塊間傳送信息的公共通路;有四類,片內(nèi)總線,微處理器總線,系統(tǒng)總線,外總線。微處理器為什么需要用接口和外設相連接?答:因為許多接口設備中,在工作原理,驅動方式,信息格式以及工作速度方面彼此相差很大,因此為了進行速度和工作方式的匹配,并協(xié)助完成二者之間數(shù)據(jù)傳送控制任務。一般的I/O接口電路有哪四種寄存器,它們各自的作用是什么?答:數(shù)據(jù)輸入寄存器,數(shù)據(jù)輸入寄存器,狀態(tài)寄存器和控制寄存器。數(shù)據(jù)端口能對傳送數(shù)據(jù)提供緩沖,隔離,寄存的作用;狀態(tài)寄存器用來保存外設或接口的狀態(tài);控制寄存器用來寄存CPU通過數(shù)據(jù)總線發(fā)來的命令。8086最多可有多少級中斷?按照產(chǎn)生中斷的方法分為哪兩大類?答:有8級;按照產(chǎn)生中斷的方法可分為硬件中斷和軟件中斷。什么是中斷?什么是中斷向量?中斷向量表的地址范圍?答:中斷就是CPU在執(zhí)行當前程序時由于內(nèi)外部事件引起CPU暫時停止當前正在執(zhí)行的程序而轉向執(zhí)行請求CPU暫時停止的內(nèi)外部事件的服務程序,該程序處理完后又返回繼續(xù)執(zhí)行被停止的程序;中斷向量是中斷處理子程序的入口地址;地址范圍是00000H-003FFH。中斷向量表的功能是什么?若中斷向量號分別為1AH和20H,則它們的中斷向量在中斷向量表的什么位置上?答:中斷向量表的功能是當中斷源發(fā)出中斷請求時,即可查找該表,找出其中斷向量,就可轉入相應的中斷服務子程序。1AH在中斷向量表的位置是1AH*4=68H在中斷向量表0000:0068處;20H在中斷向量表的位置是80H在中斷向量表0000:0080處。通常,解決中斷優(yōu)先級的方法有哪幾種?答:3種,軟件查詢確定優(yōu)先級,硬件優(yōu)先級排隊電路確定優(yōu)先級,具體中斷屏蔽的接口電路。8259A通過級聯(lián)的方式可以由幾片構成最多多少級優(yōu)先權的中斷源。答:8259A通過級聯(lián)的方式由9片構成最多64級優(yōu)先權的中斷源。簡述中斷控制器8259A的內(nèi)部結構和主要功能。答:8259A的內(nèi)部結構有數(shù)據(jù)總線緩沖器,讀寫邏輯電路,級聯(lián)緩沖比較器,中斷請求寄存器〔IRR,中斷屏蔽寄存器〔IMR,中斷服務寄存器〔ISR,優(yōu)先權判別器〔PR,控制邏輯。8259A的內(nèi)部寄存器中IRR、IMR、ISR三個寄存器的作用是什么?答:見課本153頁。8259A有哪些中斷結束方式,分別適用于哪些場合。答:8259A有2種中斷結束方式:中斷自動結束方式,中斷非自動結束方式〔一般中斷和特殊中斷;中斷自動結束方式只適合有一塊8259A,并且各中斷不發(fā)生嵌套的情況。中斷非自動結束方式只能適合與全嵌套方式下不能用與循環(huán)優(yōu)先級方式。8259A對優(yōu)先級的管理方式有哪幾種,各是什么含義?答:有4種,普通全嵌套方式,特殊全嵌套方式,自動循環(huán)方式,優(yōu)先級特殊循環(huán)方式〔詳細見課本P159和P1608259A的初始化命令字和操作命令字有哪些,其功能是什么;哪些應寫入奇地址,哪些應寫入偶地址。答:8259A的初始化命令字ICW1,ICW2,ICW3,ICW4;操作命令字OCW1,OCW2,OCW3?!惨娬n本P155到P158;ICW2,ICW3,ICW4,OCW1寫如奇地址,ICW1,OCW2,OCW3為偶地址。簡述8259A的初始化過程。答:8259A的初始化編程,需要CPU向它輸出一個2—4字節(jié)的初始化命令字,輸出初始化命令字的流程如圖所示,其中ICW1和ICW2是必須的,而ICW3和ICW4需根據(jù)具體的情況來加以選擇。各初始化命令字的安排與作用分敘如下:8253有幾個計數(shù)通道,每條計數(shù)通道有哪些信號線,其作用是什么?答:8253有三個計數(shù)通道,每個計數(shù)通道有3條信號線:CLK:計數(shù)輸入用于輸入定時基準脈沖或計數(shù)脈沖.OUT:輸出信號以相應的電平指示計數(shù)的完成或輸出脈沖的波型.GATA:選通輸入用于啟動或禁止計數(shù)器的操作,以使計數(shù)器和計數(shù)輸入信號同步。8253有幾種工作方式,其特點是什么?答:六種方式〔見課本P2248253的內(nèi)部寄存器及各位的意義是什么?答:8253的內(nèi)部寄存器有四個,8位的控制寄存器:初始化時,將控制字寫入該寄存器;16位的計數(shù)器初值寄存器,初始化是寫入該計數(shù)器的初始值,其最大初始值為0000H;16位的減一計數(shù)器,計數(shù)器的初值由計數(shù)初值寄存器送入減法計數(shù)器,當計數(shù)輸入端輸入一個計數(shù)脈沖時,減法計數(shù)器內(nèi)容減一;16位的輸出鎖存器用來鎖存計數(shù)脈沖時,減法計數(shù)器內(nèi)容減一。8255A的功能是什么,有哪幾個控制字,各位的意義是什么?答:8255A是一種通用的可編程程序并行I/O接口芯片.它有兩個控制字,一個是方式選擇控制字,它的作用是實現(xiàn)對8255A的各個端口的選擇。一個是對C口進行置位或復位控制字.它的作用是能實現(xiàn)對端口C的每一位進行控制。8255A的A口、B口、C口有哪幾種工作方式,其特點是什么?C口有哪些使用特點?答:8255A的A口可以工作在3種工作方式的任何一種,B口只能工作在方式0或方式1,C口則常常配合端口A和端口B工作,為這兩個端口的輸入/輸出傳輸提供控制信號和狀態(tài)信號。同步通信、異步通信的幀格式各是什么?什么是奇、偶校驗?答:異步通信的幀格式是用一個起始位表示傳送字符的開始,用1-2個停止位表示字符結束。起始位與停止位之間是數(shù)據(jù)位,數(shù)據(jù)位后是校驗位,數(shù)據(jù)的最底位緊跟起始位,其他各位順序傳送;同步通信的幀格式是在每組字符之前必須加上一個或多個同步字符做為一個信息幀的起始位。什么是波特率?若在串行通信中的波特率是1200b/s,8位數(shù)據(jù)位,1個停止位,無校驗位,傳輸1KB的文件需要多長時間?答:波特率是單位時間內(nèi)通信系統(tǒng)所傳送的信息量。需要多長時間=1024/〔1200/10=8.53s對8255A進行初始化,要求端口A工作于方式1,輸入;端口B工作于方式0,輸出;端口C的高4位配合端口A工作,低4位為輸入。設控制口的地址為006CH。答:由題知應為10111001H<B9H>MOVAL,B9HMOVDX,006CHOUTDX,AL設8255A的四個端口地址分別為00C0H、00C2H、00C4H和00C6H,要求用置0、置1的方法對PC6置1,對PC4置0。答:MOVDX,00C0H;端口地址MOVAL,00001101;對PC6置1OUTDX,ALMOVAL,00001000;對PC4置0OUTDX,AL試按照如下要求對8259A進行初始化:系統(tǒng)中只有一片8259A,中斷請求信號用電平觸發(fā)方式,下面要用ICW4,中斷類型碼為60H、61H、62H……67H,用全嵌套方式,不用緩沖方式,采用中斷自動結束方式。設8259A的端口地址為94H和95H。答:MOVDX,94H;偶地址MOVAL,00011011B;ICW1OUTDX,ALMOVAL,10011111B;ICW2,中斷源在IR7MOVDX,95H;奇地址OUTDX,ALMOVAL,00000011B;ICW4OUTDX,AL試編程對8253初始化啟動其工作。要求計數(shù)器0工作于模式1,初值為3000H;計數(shù)器1工作于模式3,初值為100H;計數(shù)器2工作于模式4,初值為4030H。設端口地址為40H、41H、42H和43H。答:MOVAL,00011110H;控制字OUT43H,ALMOVAL,3000H;計數(shù)初值OUT40H,ALMOVAL,01010110H;計數(shù)器1OUT43H,ALMOVAL,100HOUT41H,ALMOVAL,10011000H;計數(shù)器2OUT43H,ALMOVAL,4030HOUT42H,AL模擬試題一一、簡答題:1.簡述USB總線的特點。答:1>具備即插即用特性,為USB接口設計的驅動程序和應用程序可自動啟動、成本低,節(jié)省空間,為開放性的不具備專利版權的理想工業(yè)標準。:2>可動態(tài)連接和重新配置外設,支持熱插拔功能;3>允許多臺設備同時工作;4>可以向USB總線上的設備供電,總線上的設備可以自備電源;5>通訊協(xié)議支持等時數(shù)據(jù)傳輸和異步消息傳輸?shù)幕旌夏J剑?>支持實時語音、音頻、和視頻數(shù)據(jù)傳輸。2.什么是中斷類型碼?什么叫中斷向量?什么叫中斷向量表?它們之間有什么聯(lián)系答:8086/8088系統(tǒng)可以處理256種中斷,為了區(qū)別每一種中斷,為每個中斷安排一個號碼,稱為中斷類型碼。每一種中斷服務程序在內(nèi)存中的起始地址稱為中斷向量,以32位邏輯地址表示,即為CS:IP。把所有中斷向量存儲在內(nèi)存中的某一個連續(xù)區(qū)中,這個連續(xù)的存儲區(qū)稱為中斷向量表。中斷向量CS:IP在中斷向量表中的位置為:中斷向量表中偏移量為〔中斷類型碼×4的單元中存放IP的值,偏移量為〔中斷類型碼×4+2的單元中存放CS的值。3.簡述高速緩沖存儲器Cache為什么能夠實現(xiàn)高速的數(shù)據(jù)存???答:高速緩沖存儲器Cache是根據(jù)程序局部性原理來實現(xiàn)高速的數(shù)據(jù)存取。即在一個較小的時間間隔內(nèi),程序所要用到的指令或數(shù)據(jù)的地址往往集中在一個局部區(qū)域內(nèi),因而對局部范圍內(nèi)的存儲器地址頻繁訪問,而對范圍外的地址則范圍甚少的現(xiàn)象稱為程序訪問的局部性原理。如果把正在執(zhí)行的指令地址附近的一小部分指令或數(shù)據(jù),即當前最活躍的程序或數(shù)據(jù)從主存成批調(diào)入Cache,供CPU在一段時間內(nèi)隨時使用,就一定能大大減少CPU訪問主存的次數(shù),從而加速程序的運行。有一個由20個字組成的數(shù)據(jù)區(qū),其起始地址為3500H:0320H。試寫出數(shù)據(jù)區(qū)首末單元的實際地址。答:數(shù)據(jù)區(qū)首地址=3500H×10H+0320H=33320H數(shù)據(jù)區(qū)末地址=33320H+28H-1=33347H設有一個具有16位地址和8位數(shù)據(jù)的存儲器,問:<1>該存儲器能存書多少個字節(jié)的信息?<2>如果存儲器由8K×4位RAM芯片組成,需要多少片?<3>需要地址多少位做芯片選擇?答:〔1因為8位二進制數(shù)為1個字節(jié),所以16位地址能存儲216=64KB個字節(jié)的信息;〔2需要64K×8/8K×4=16片RAM〔3因為需要16片來構成存儲器,而16片需要4位地址線進行譯碼輸出,故需要4位做芯片選擇。定性分析微型計算機總線的性能指標。答:微型計算機總線的主要職能是負責計算機各模塊間的數(shù)據(jù)傳輸,對總線性能的衡量也是圍繞這一性能而進行的。性能中最重要的是數(shù)據(jù)傳輸率,另外,可操作性、兼容性和性能價格比也是很重要的技術特征。具體來說,總線的主要性能指標有以下幾項:<1>總線寬度:以位數(shù)表示。<2>標準傳輸率Mb/s:是總線工作頻率與總線寬度的字節(jié)數(shù)之積。<3>時鐘同步/異步:總線中與時鐘同步工作的稱為同步總線;與時鐘不同步工作的稱為異步總線。這取決于數(shù)據(jù)傳輸時源模塊與目標模塊間的協(xié)議約定。<4>信號線數(shù):這是地址總線、數(shù)據(jù)總線和控制總線線數(shù)的總和。信號線數(shù)和系統(tǒng)的復雜程度成正比關系。<5>負載能力:以系統(tǒng)中可以連接的擴展電路板數(shù)表示。<6>總線控制方法:包括突發(fā)傳輸、并發(fā)工作、自動配置、仲裁方式、邏輯方式、中斷方式等項內(nèi)容。<7>擴展板尺寸:這項指標對電路板生產(chǎn)廠家很重要。<8>其他指標:電源是5V還是3V,能否擴展64位寬度等。任何系統(tǒng)的研制和外圍模塊的開發(fā),都必須服從其采用的總線規(guī)范。虛擬存儲器的含義是什么?答:虛擬存儲器是以存儲器訪問的局部性為基礎,建立在主存-輔存物理體系結構上的存儲管理技術。在存儲系統(tǒng)中,由于主存容量不能滿足用戶的需要,因而引入輔存作為后援。即輔存做主存用,擴大編程者的使用空間。二、編程及綜合題1.已知8255A的地址為0060H~0063H,A組設置方式1,端口A作為輸入,PC6PC7作為輸出,B組設置方式1,端口B作為輸入,編制初始化程序.。答案:MOVDX,0063HMOVAL,00110111BOUTDX,AL2編寫8253初始化程序。如下圖所示〔注意端口地址,要求3個計數(shù)通道分別完成以下功能:<1>通道0工作于方式3,輸出頻率為2KHZ的方波;<2>通道1產(chǎn)生寬度為480us的單脈沖;<3>通道2用硬件方式觸發(fā),輸出負脈沖,時間常數(shù)為26。〔提示:8253的端口地址分別為:0310H、0312H、0314H、0316H答案:編寫8253的初始化程序1.確定端口地址:0310H、0312H、0314H、0316H2.確定工作方式:通道0,方式3通道1,方式1通道2,方式53.確定計數(shù)值:通道0:N0=1MHz/2KHz=500通道1:N1=480us/<1/1mhz>=480通道2:N2=264.確定控制字:通道0:00110111B通道1:01110011B通道2:10011011B對3個通道的初始化程序如下:;通道0初始化程序MOVDX,316HMOVAL,00110111BOUTDX,ALMOVDX,310HMOVAL,00HOUTDX,ALMOVAL,05HOUTDX,AL;通道1的初始化程序MOVDX,316HMOVAL,001110011BOUTDX,ALMOVDX,312HMOVAL,80HOUTDX,ALMOVAL,04HOUTDX,AL;通道2初始化程序MOVDX,316HMOVAL,10011011BOUTDX,ALMOVDX,314HMOVAL,26HOUTDX,AL模式試題二一、

填空:1、設字長為八位,有x=1,y=124,則有:[xy]補=01111011[xy]補=10000011;2、數(shù)制轉換:247.86=H=______________BCD;3、在8086CPU中,由于BIU和EU分開,所以_____和_____可以重疊操作,提高了CPU的利用率;4、8086的中斷向量表位于內(nèi)存的_______區(qū)域,它可以容納____個中斷向量,每一個向量占____個字節(jié);5、8086系統(tǒng)中,地址FFFF0H是___________________地址;6、8086CPU的MN/MX引腳的作用是____________________;7、8251芯片中設立了_____、_____和______三種出錯標志;8、8086CPU中典型總線周期由____個時鐘周期組成,其中T1期間,CPU輸出______信息;如有必要時,可以在__________兩個時鐘周期之間插入1個或多個TW等待周期。9、8259A共有___個可編程的寄存器,它們分別用于接受CPU送來的______命令字和________命令字。

二、簡答題:1、什么是信號的調(diào)制與解調(diào)?為什么要進行調(diào)制和解調(diào)?試舉出一種調(diào)制的方式。串行長距離通信時,需要利用模擬信道來傳輸數(shù)字信號,由于信道的頻帶窄,一般為300~3400HZ,而數(shù)字信號的頻帶相當寬,故傳輸時必須進行調(diào)制,以免發(fā)生畸變而導致傳輸出錯。<3分>調(diào)制是將數(shù)字信號模擬信號。而解調(diào)則是相反。例如FSK制<調(diào)頻制或稱數(shù)字調(diào)頻>可將數(shù)字"1"和"0"分別調(diào)制成2400HZ和1200HZ的正弦波信號。<2分>已有AX=E896H,BX=3976H,若執(zhí)行ADDBX,AX指令,則結果BX,AX,標志位CF,OF,ZF各為何值?BX=220CH<1分>AX=E896H<1分>CF=1<1分>OF=0<1分>ZF=0<1分>三、閱讀程序與接口芯片初始化:1、源程序如下:MOVCL,4 MOVAX,[2000H]

SHLAL,CL

SHRAX,CLMOV[2000H],AX試問:若程序執(zhí)行前,數(shù)據(jù)段內(nèi)<2000H>=09H,<2001H>=03H,則執(zhí)行后有<2000H>=_____,<2001H>=______。本程序段的功能_________________________。2、源程序如下:MOVAL,0B7H

ANDAL,0DDH

XORAL,81H

ORAL,33HJPLAB1JMPLAB2試問:執(zhí)行程序后AL=_______;程序將轉到哪一個地址執(zhí)行:__________。3、源程序如下:MOVCX,9MOVAL,01HMOVSI,1000HNEXT:MOV[SI],ALINCSISHLAL,1LOOPNEXT

試問:執(zhí)行本程序后有:AL=_____;SI=______;CX=______;本程序的功能是______________________________。4、某系統(tǒng)中8253占用地址為100H~103H。初始化程序如下:MOVDX,103HMOVAL,16HOUTDX,ALSUBDX,3OUTDX,AL試問:此段程序是給8253的哪一個計數(shù)器初始化?安排工作在哪種工作方式?__________________;若該計數(shù)器的輸入脈沖的頻率為1MHZ,則其輸出脈沖的頻率為:___________。5、已知某8255A在系統(tǒng)中占用88~8BH號端口地址,現(xiàn)欲安排其PA,PB,PC口全部為輸出,PA,PB口均工作于方式0模式,并將PC6置位,使PC3復位,試編寫出相應的初始化程序:模式試題二參考答案一、填空題2、F7DCH00100100011110000110BCD3、取指令執(zhí)行指令4、00000H~003FFH區(qū)256個4個5、CPU復位以后執(zhí)行第一條指令的地址6、決定CPU工作在什么模式<最小/最大>7、奇/偶錯幀格式錯溢出錯8、4個地址T3和T49、7個初始化操作三、閱讀程序與接口芯片初始化:1、<2000H>=39H<2001H>=00H將<2000H>,<2001H>兩相鄰單元中存放的未組合型BCD碼壓縮成組合型BCD碼,并存入<2000H>單元,0<2001H>2、37HLAB23、01009H0對數(shù)據(jù)段內(nèi)1000H~1008H單元置數(shù),依次送入1,2,4,8,16,32,64,128,0共九個4、計數(shù)器0工作于方式345.454KHZ5、MOVAL,80HOUT8BH,ALMOVAL,ODHOUT8BH,ALMOVAL,06HOUT8BH,AL模式試題三一、填空題1、將十進制數(shù)27985轉換成十六進制數(shù)、八進制數(shù)、二進制數(shù)及BCD碼數(shù)分別為:________H,________Q,_____B,BCD。2、字長為8位的二進制數(shù)10010100B,若它表示無符號數(shù),或原碼數(shù),或補碼數(shù),則該數(shù)的真值應分別為______D,______D或______D。3、已知BX=7830H,CF=1,執(zhí)行指令:ADCBX,87CFH之后,BX=____________,標志位的狀態(tài)分別為CF=_______,ZF=_______,OF=________,SF=__________。4、8086中,BIU部件完成______功能,EU部件完成_____功能。5、8086中引腳BH

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論