




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
微機原理與接口技術知識點總結含重點習題庫答案第一章概述一、計算機中的數制1、無符號數的表示方法:(1)十進制計數的表示法特點:以十為底,逢十進一;共有0-9十個數字符號。(2)二進制計數表示方法:特點:以2為底,逢2進位;只有0和1兩個符號。(3)十六進制數的表示法:特點:以16為底,逢16進位;有0--9及A—F(表示10~15)共16個數字符號。2、各種數制之間的轉換(1)非十進制數到十進制數的轉換按相應進位計數制的權表達式展開,再按十進制求和。(見書本1.2.3,1.2.4)(2)十進制數制轉換為二進制數制l十進制→二進制的轉換:整數部分:除2取余;小數部分:乘2取整。l十進制→十六進制的轉換:整數部分:除16取余;小數部分:乘16取整。以小數點為起點求得整數和小數的各個位。(3)二進制與十六進制數之間的轉換用4位二進制數表示1位十六進制數3、無符號數二進制的運算(見教材P5)4、二進制數的邏輯運算特點:按位運算,無進借位(1)與運算只有A、B變量皆為1時,與運算的結果就是1(2)或運算A、B變量中,只要有一個為1,或運算的結果就是1(3)非運算(4)異或運算A、B兩個變量只要不同,異或運算的結果就是1二、計算機中的碼制(重點%)1、對于符號數,機器數常用的表示方法有原碼、反碼和補碼三種。數X的原碼記作[X]原,反碼記作[X]反,補碼記作[X]補。1、注意:對正數,三種表示法均相同。它們的差別在于對負數的表示。(1)原碼定義:符號位:0表示正,1表示負;數值位:真值的絕對值。注意:數0的原碼不唯一(2)反碼定義:若X>0,則[X]反=[X]原若X<0,則[X]反=對應原碼的符號位不變,數值部分按位求反注意:數0的反碼也不唯一(3)補碼定義:若X>0,則[X]補=[X]反=[X]原若X<0,則[X]補=[X]反+1注意:機器字長為8時,數0的補碼唯一,同為000000002、8位二進制的表示范圍:原碼:-127~+127反碼:-127~+127補碼:-128~+1273、特殊數10000000l該數在原碼中定義為:-0l在反碼中定義為:-127l在補碼中定義為:-128l對無符號數:(10000000)2=128三、信息的編碼1、十進制數的二進制數編碼用4位二進制數表示一位十進制數。有兩種表示法:壓縮BCD碼和非壓縮BCD碼。(1)壓縮BCD碼的每一位用4位二進制表示,0000~1001表示0~9,一個字節表示兩位十進制數。(2)非壓縮BCD碼用一個字節表示一位十進制數,高4位總是0000,低4位的0000~1001表示0~92、字符的編碼計算機采用7位二進制代碼對字符進行編碼(1)數字0~9的編碼是0110000~0111001,它們的高3位均是011,后4位正好與其對應的二進制代碼(BCD碼)相符。(2)英文字母A~Z的ASCII碼從1000001(41H)開始順序遞增,字母a~z的ASCII碼從1100001(61H)開始順序遞增,這樣的排列對信息檢索十分有利。第二章微機組成原理第一節、微機的結構1、計算機的經典結構——馮.諾依曼結構(1)計算機由運算器、控制器、輸入設備和輸出設備五大部分組成(運算器和控制器又稱為CPU)(2)數據和程序以二進制代碼形式不加區分地存放在存儲器總,存放位置由地址指定,數制為二進制。(3)控制器是根據存放在存儲器中的指令序列來操作的,并由一個程序計數器控制指令的執行。3、系統總線的分類(1)數據總線(DataBus),它決定了處理器的字長。(2)地址總線(AddressBus),它決定系統所能直接訪問的存儲器空間的容量。(3)控制總線(ControlBus)第二節、8086微處理器1、8086是一種單片微處理芯片,其內部數據總線的寬度是16位,外部數據總線寬度也是16位,片內包含有控制計算機所有功能的各種電路。8086地址總線的寬度為20位,有1MB(220)尋址空間。2、8086CPU由總線接口部件BIU和執行部件EU組成。BIU和EU的操作是異步的,為8086取指令和執行指令的并行操作體統硬件支持。3、8086處理器的啟動4、寄存器結構(重點%)8086微處理器包含有13個16位的寄存器和9位標志位。4個通用寄存器(AX,BX,CX,DX)4個段寄存器(CS,DS,SS,ES)4個指針和變址寄存器(SP,BP,SI,DI)指令指針(IP)1)、通用寄存器(1)8086含4個16位數據寄存器,它們又可分為8個8位寄存器,即:lAXèAH,ALlBXèBH,BLlCXèCH,CLlDXèDH,DL常用來存放參與運算的操作數或運算結果(2)數據寄存器特有的習慣用法lAX:累加器。多用于存放中間運算結果。所有I/O指令必須都通過AX與接口傳送信息;lBX:基址寄存器。在間接尋址中用于存放基地址;lCX:計數寄存器。用于在循環或串操作指令中存放循環次數或重復次數;lDX:數據寄存器。在32位乘除法運算時,存放高16位數;在間接尋址的I/O指令中存放I/O端口地址。2)、指針和變址寄存器lSP:堆棧指針寄存器,其內容為棧頂的偏移地址;lBP:基址指針寄存器,常用于在訪問內存時存放內存單元的偏移地址。lSI:源變址寄存器lDI:目標變址寄存器變址寄存器常用于指令的間接尋址或變址尋址。3)、段寄存器CS:代碼段寄存器,代碼段用于存放指令代碼DS:數據段寄存器ES:附加段寄存器,數據段和附加段用來存放操作數SS:堆棧段寄存器,堆棧段用于存放返回地址,保存寄存器內容,傳遞參數4)、指令指針(IP)16位指令指針寄存器,其內容為下一條要執行的指令的偏移地址。5)、標志寄存器(1)狀態標志:l進位標志位(CF):運算結果的最高位有進位或有借位,則CF=1l輔助進位標志位(AF):運算結果的低四位有進位或借位,則AF=1l溢出標志位(OF):運算結果有溢出,則OF=1l零標志位(ZF):反映指令的執行是否產生一個為零的結果l符號標志位(SF):指出該指令的執行是否產生一個負的結果l奇偶標志位(PF):表示指令運算結果的低8位“1”個數是否為偶數(2)控制標志位l中斷允許標志位(IF):表示CPU是否能夠響應外部可屏蔽中斷請求l跟蹤標志(TF):CPU單步執行5、8086的引腳及其功能(重點掌握以下引腳)lAD15~AD0:雙向三態的地址總線,輸入/輸出信號lINTR:可屏蔽中斷請求輸入信號,高電平有效。可通過設置IF的值來控制。lNMI:非屏蔽中斷輸入信號。不能用軟件進行屏蔽。lRESET:復位輸入信號,高電平有效。復位的初始狀態見P21lMN/MX:最小最大模式輸入控制信號。第三章8086指令系統說明:8086指令系統這章為重點章節,對下面列出的指令都要求掌握。第一節8086尋址方式一、數據尋址方式(重點%)1、立即尋址操作數(為一常數)直接由指令給出(此操作數稱為立即數)立即尋址只能用于源操作數例:MOVAX,1C8FHMOVBYTEPTR[2A00H],8FH錯誤例:×MOV2A00H,AX;錯誤!指令操作例:MOVAX,3102H;AXè3102H執行后,(AH)=31H,(AL)=02H2、寄存器尋址(1)操作數放在某個寄存器中(2)源操作數與目的操作數字長要相同(3)寄存器尋址與段地址無關例:MOVAX,BXMOV[3F00H],AXMOVCL,AL錯誤例:×MOVAX,BL;字長不同×MOVES:AX,DX;寄存器與段無關3、直接尋址(1)指令中直接給出操作數的16位偏移地址偏移地址也稱為有效地址(EA,EffectiveAddress)(2)默認的段寄存器為DS,但也可以顯式地指定其他段寄存器——稱為段超越前綴(3)偏移地址也可用符號地址來表示,如ADDR、VAR例:MOVAX,[2A00H]MOVDX,ES:[2A00H]MOVSI,TABLE_PTR4、間接尋址l操作數的偏移地址(有效地址EA)放在寄存器中l只有SI、DI、BX和BP可作間址寄存器l例:MOVAX,[BX]MOVCL,CS:[DI]錯誤例:×MOVAX,[DX]×MOVCL,[AX]5、寄存器相對尋址lEA=間址寄存器的內容加上一個8/16位的位移量l例:MOVAX,[BX+8]MOVCX,TABLE[SI]MOVAX,[BP];默認段寄存器為SSl指令操作例:MOVAX,DATA[BX]若(DS)=6000H,(BX)=1000H,DATA=2A00H,(63A00H)=66H,(63A01H)=55H則物理地址=60000H+1000H+2A00H=63A00H指令執行后:(AX)=5566H6、基址變址尋址l若操作數的偏移地址:由基址寄存器(BX或BP)給出——基址尋址方式由變址寄存器(SI或DI)給出——變址尋址方式由一個基址寄存器的內容和一個變址寄存器的內容相加而形成操作數的偏移地址,稱為基址-變址尋址。EA=(BX)+(SI)或(DI);EA=(BP)+(SI)或(DI)同一組內的寄存器不能同時出現。注意:除了有段跨越前綴的情況外,當基址寄存器為BX時,操作數應該存放在數據段DS中,當基址寄存器為BP時,操作數應放在堆棧段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指令執行后:(AL)=[83000H](AH)=[83001H]7、相對基址變址尋址l在基址-變址尋址的基礎上再加上一個相對位移量EA=(BX)+(SI)或(DI)+8位或16位位移量;EA=(BP)+(SI)或(DI)+8位或16位位移量指令操作例:MOVAX,DATA[DI][BX]若(DS)=8000H,(BX)=2000H,(DI)=1000H,DATA=200H則指令執行后(AH)=[83021H],(AL)=[83020H]寄存器間接、寄存器相對、基址變址、相對基址變址四種尋址方式的比較:尋址方式指令操作數形式n寄存器間接只有一個寄存器(BX/BP/SI/DI之一)n寄存器相對一個寄存器加上位移量n基址—變址兩個不同類別的寄存器n相對基址-變址兩個不同類別的寄存器加上位移量二、地址尋址方式(了解有4類,能判斷)簡要判斷依據(指令中間的單詞):段內直接short,near段內間接word段間直接far段間間接dword第二節8086指令系統一、數據傳送指令(重點%)1、通用傳送指令(1)MOVdest,src;dest←src傳送的是字節還是字取決于指令中涉及的寄存器是8位還是16位。具體來說可實現:①MOVmem/reg1,mem/reg2指令中兩操作數中至少有一個為寄存器②MOVreg,data;立即數送寄存器③MOVmem,data;立即數送存儲單元④MOVacc,mem;存儲單元送累加器⑤MOVmem,acc;累加器送存儲單元⑥MOVsegreg,mem/reg;存儲單元/寄存器送段寄存器⑦MOVmem/reg,segreg;段寄存器送存儲單元/寄存器MOV指令的使用規則①IP不能作目的寄存器②不允許mem←mem③不允許segreg←segreg④立即數不允許作為目的操作數⑤不允許segreg←立即數⑥源操作數與目的操作數類型要一致⑦當源操作數為單字節的立即數,而目的操作數為間址、變址、基址+變址的內存數時,必須用PTR說明數據類型。如:MOV[BX],12H是錯誤的。(2)、堆棧指令什么是堆棧?按“后進先出(LIFO)”方式工作的存儲區域。堆棧以字為單位進行壓入彈出操作。規定由SS指示堆棧段的段基址,堆棧指針SP始終指向堆棧的頂部,SP的初值規定了所用堆棧區的大小。堆棧的最高地址叫棧底。①壓棧指令PUSHPUSHsrc;src為16位操作數例:PUSHAX;將AX內容壓棧執行操作:(SP)-1←高字節AH(SP)-2←低字節AL(SP)←(SP)-2注意進棧方向是高地址向低地址發展。`②彈出指令POPPOPdest例:POPBX;將棧頂內容彈至BX執行操作:(BL)←(SP)(BH)←(SP)+1(SP)←(SP)+2堆棧指令在使用時需注意的幾點:①堆棧操作總是按字進行②不能從棧頂彈出一個字給CS③堆棧指針為SS:SP,SP永遠指向棧頂④SP自動進行增減量(-2,+2)(3)、交換指令XCHG格式:XCHGreg,mem/reg功能:交換兩操作數的內容。要求:兩操作數中必須有一個在寄存器中;操作數不能為段寄存器和立即數;源和目地操作數類型要一致。舉例:XCHGAX,BXXCHG[2000],CL(4)查表指令XLAT執行的操作:AL←[(BX)+(AL)]又叫查表轉換指令,它可根據表項序號查出表中對應代碼的內容。執行時先將表的首地址(偏移地址)送到BX中,表項序號存于AL中。2、輸入輸出指令只限于用累加器AL或AX來傳送信息。功能:(累加器)←→I/O端口(1)輸入指令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)←(AX)OUTDX,AL;((DX))←(AL)在使用間接尋址的IN/OUT指令時,要事先用傳送指令把I/O端口號設置到DX寄存器如:MOVDX,220HINAL,DX;將220H端口內容讀入AL3、目標地址傳送指令(1)LEA傳送偏移地址格式:LEAreg,mem;將指定內存單元的偏移地址送到指定寄存器要求:1)源操作數必須是一個存儲器操作數;2)目的操作數必須是一個16位的通用寄存器。例:LEABX,[SI+10H]設:(SI)=1000H則執行該指令后,(BX)=1010Hl注意以下二條指令差別:LEABX,BUFFERMOVBX,BUFFER前者表示將符號地址為BUFFER的存儲單元的偏移地址取到BX中;后者表示將BUFFER存儲單元中的內容取到BX中。下面兩條指令等效:LEABX,BUFFERMOVBX,OFFSETBUFFER其中OFFSETBUFFER表示存儲器單元BUFFER的偏移地址。二者都可用于取存儲器單元的偏移地址,但LEA指令可以取動態的地址,OFFSET只能取靜態的地址。二、算術運算指令1、加法指令(1)不帶進位的加法指令ADD格式:ADDacc,dataADDmem/reg,dataADDmem/reg1,mem/reg2實例:ADDAL,30HADDSI,[BX+20H]ADDCX,SIADD[DI],200H?ADD指令對6個狀態標志均產生影響。例:已知(BX)=D75FH指令
ADDBX,8046H
執行后,狀態標志各是多少?D75FH=11100111010111118046H=10000000010001101111110110011110100101結果:C=1,Z=0,P=0,A=1,O=1,S=0判斷溢出與進位(重點%)從硬件的角度:默認參與運算的操作數都是有符號數,當兩數的符號位相同,而和的結果相異時有溢出,則OF=1,否則OF=0(2)帶進位的加法ADCADC指令在形式上和功能上與ADD類似,只是相加時還要包括進位標志CF的內容,例如: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語言中的++操作:對指定的操作數加1例:INCALINCSIINCBYTEPTR[BX+4]注:本指令不影響CF標志。(4)非壓縮BCD碼加法調整指令AAAAAA指令的操作:如果AL的低4位>9或AF=1,則:①AL←(AL)+6,(AH)←(AH)+1,AF←1②AL高4位清零③CF←AF否則AL高4位清零(5)壓縮BCD碼加法調整指令DAAl兩個壓縮BCD碼相加結果在AL中,通過DAA調整得到一個正確的壓縮BCD碼.l指令操作(調整方法):若AL的低4位>9或AF=1則(AL)←(AL)+6,AF←1若AL的高4位>9或CF=1則(AL)←(AL)+60H,CF←1l除OF外,DAA指令影響所有其它標志。lDAA指令應緊跟在ADD或ADC指令之后。2、減法指令(1)不考慮借位的減法指令SUB格式:SUBdest,src操作:dest←(dest)-(src)注:1.源和目的操作數不能同時為存儲器操作數2.立即數不能作為目的操作數指令例子:SUBAL,60HSUB[BX+20H],DXSUBAX,CX(2)考慮借位的減法指令SBBSBB指令主要用于多字節的減法。格式: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)對一個操作數取補碼相當于用0減去此操作數,故利用NEG指令可得到負數的絕對值。例:若(AL)=0FCH,則執行NEGAL后,(AL)=04H,CF=1(5)比較指令CMP格式:CMPdest,src操作:(dest)-(src)CMP也是執行兩個操作數相減,但結果不送目標操作數,其結果只反映在標志位上。指令例子:CMPAL,0AHCMPCX,SICMPDI,[BX+03](6)非壓縮BCD碼減法調整指令AAS對AL中由兩個非壓縮的BCD碼相減的結果進行調整。調整操作為:若AL的低4位>9或AF=1,則:①AL←(AL)-6,AH←(AH)-1,AF←1②AL的高4位清零③CF←AF否則:AL的高4位清零(7)壓縮BCD碼減法調整指令DAS對AL中由兩個壓縮BCD碼相減的結果進行調整。調整操作為:若AL的低4位>9或AF=1,則:AL←(AL)-6,且AF←1若AL的高4位>9或CF=1,則:AL←(AL)-60H,且CF←1DAS對OF無定義,但影響其余標志位。DAS指令要求跟在減法指令之后。3、乘法指令進行乘法時:8位*8位→16位乘積16位*16位→32位乘積(1)無符號數的乘法指令MUL(MEM/REG)格式:MULsrc操作:字節操作數(AX)←(AL)×(src)字操作數(DX,AX)←(AX)×(src)指令例子:MULBL;(AL)×(BL),乘積在AX中MULCX;(AX)×(CX),乘積在DX,AX中MULBYTEPTR[BX](2)有符號數乘法指令IMUL格式與MUL指令類似,只是要求兩操作數均為有符號數。指令例子:IMULBL;(AX)←(AL)×(BL)IMULWORDPTR[SI];(DX,AX)←(AX)×([SI+1][SI])注意:MUL/IMUL指令中●AL(AX)為隱含的乘數寄存器;●AX(DX,AX)為隱含的乘積寄存器;●SRC不能為立即數;●除CF和OF外,對其它標志位無定義。4、除法指令進行除法時:16位/8位→8位商32位/16位→16位商對被除數、商及余數存放有如下規定:被除數商余數字節除法AXALAH字除法DX:AXAXDX(1)無符號數除法指令DIV格式:DIVsrc操作:字節操作(AL)←(AX)/(SRC)的商(AH)←(AX)/(SRC)的余數字操作(AX)←(DX,AX)/(SRC)的商(DX)←(DX,AX)/(SRC)的余數指令例子:DIVCLDIVWORDPTR[BX](2)有符號數除法指令IDIV格式:IDIVsrc操作與DIV類似。商及余數均為有符號數,且余數符號總是與被除數符號相同。注意:對于DIV/IDIV指令AX(DX,AX)為隱含的被除數寄存器。AL(AX)為隱含的商寄存器。AH(DX)為隱含的余數寄存器。src不能為立即數。對所有條件標志位均無定關于除法操作中的字長擴展問題?除法運算要求被除數字長是除數字長的兩倍,若不滿足則需對被除數進行擴展,否則產生錯誤。?對于無符號數除法擴展,只需將AH或DX清零即可。?對有符號數而言,則是符號位的擴展。可使用前面介紹過的符號擴展指令CBW和CWD三、邏輯運算和移位指令1、邏輯運算指令(1)邏輯與AND對兩個操作數進行按位邏輯“與”操作。格式:ANDdest,src用途:保留操作數的某幾位,清零其他位。例1:保留AL中低4位,高4位清0。ANDAL,0FH(2)邏輯或OR對兩個操作數進行按位邏輯”或”操作。格式:ORdest,src用途:對操作數的某幾位置1;對兩操作數進行組合。例1:把AL中的非壓縮BCD碼變成相應十進制數的ASCII碼。ORAL,30H(3)邏輯非NOT對操作數進行按位邏輯”非”操作。格式:NOTmem/reg例:NOTCXNOTBYTEPTR[DI](4)邏輯異或XOR對兩個操作數按位進行”異或”操作。格式:XORdest,src用途:對reg清零(自身異或)把reg/mem的某幾位變反(與’1’異或)例1:把AX寄存器清零。①MOVAX,0②XORAX,AX③ANDAX,0④SUBAX,AX(5)測試指令TEST操作與AND指令類似,但不將”與”的結果送回,只影響標志位。TEST指令常用于位測試,與條件轉移指令一起用。例:測試AL的內容是否為負數。TESTAL,80H;檢查AL中D7=1?JNZMINUS;是1(負數),轉MINUS……;否則為正數2、移位指令(1)非循環移位指令(重點%)算術左移指令
SAL(ShiftArithmeticLeft)算術右移指令
SAR(ShiftArithmeticRight)邏輯左移指令
SHL(ShiftLeft)邏輯右移指令
SHR(ShiftRight)這4條指令的格式相同,以SAL為例:CL;移位位數大于1時SALmem/reg1;移位位數等于1時?算術移位——把操作數看做有符號數;邏輯移位——把操作數看做無符號數。?移位位數放在CL寄存器中,如果只移1位,也可以直接寫在指令中。例如:MOVCL,4SHRAL,CL;AL中的內容右移4位?影響C,P,S,Z,O標志。?結果未溢出時:左移1位≡操作數*2右移1位≡操作數/2例:把AL中的數x乘10因為10=8+2=23+21,所以可用移位實現乘10操作。程序如下:MOVCL,3SALAL,1;2xMOVAH,ALSALAL,1;4xSALAL,1;8xADDAL,AH;8x+2x
=10x四、控制轉移指令1、轉移指令(1)無條件轉移指令JMP格式:JMPlabel本指令無條件轉移到指定的目標地址,以執行從該地址開始的程序段。(2)條件轉移指令(補充內容)(重點%)①根據單個標志位設置的條件轉移指令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,則轉移②根據組合條件設置的條件轉移指令這類指令主要用來判斷兩個數的大小。★判斷無符號數的大小lJA高于則轉移條件為:CF=0∧ZF=0,即A>BlJNA/JBE低于或等于則轉移條件為:CF=1∨ZF=1,即A≤BlJBA<B則轉移lJNBA≥B則轉移★判斷有符號數的大小lJG;大于則轉移(A>B)條件為:(SF⊕OF=0)∧ZF=0lJGE;大于或等于則轉移(A≥B)條件為:(SF⊕OF=0)∨ZF=1lJLE;小于或等于則轉移(A≤B)條件為:(SF⊕OF=1)∨ZF=1lJL;小于則轉移(A<B=條件為:(SF⊕OF=1)∧ZF=02、循環控制指令l用在循環程序中以確定是否要繼續循環。l循環次數通常置于CX中。l轉移的目標應在距離本指令-128~+127的范圍之內。l循環控制指令不影響標志位。(1)LOOP格式:LOOPlabel操作:(CX)-1→CX;若(CX)≠0,則轉至label處執行;否則退出循環,執行LOOP后面的指令。LOOP指令與下面的指令段等價:DECCXJNZlabel3、過程調用指令(1)調用指令CALL一般格式:CALL
sub
;sub為子程序的入口4、中斷指令(1)INTn執行類型n的中斷服務程序,N=0~255五、處理器控制指令1、標志位操作(1)CF設置指令CLC
0→CFSTC
1→CFCMC
CF變反(2)DF設置指令CLD
0→DF(串操作的指針移動方向從低到高)STD
1→DF(串操作的指針移動方向從高到低)(3)IF設置指令CLI0→IF(禁止INTR中斷)STI1→IF(開放INTR中斷)2、HLT(halt)執行HLT指令后,CPU進入暫停狀態。第四章8086匯編語言程序設計第一節偽指令(重點%)CPU指令與偽指令之間的區別:(1)CPU指令是給CPU的命令,在運行時由CPU執行,每條指令對應CPU的一種特定的操作。而偽指令是給匯編程序的命令,在匯編過程中由匯編程序進行處理。(2)匯編以后,每條CPU指令產生一一對應的目標代碼;而偽指令則不產生與之相應的目標代碼。1、數據定義偽指令(1)數據定義偽指令的一般格式為:l[變量名]偽指令操作數[,操作數…]DB用來定義字節(BYTE)DW用來定義字(WORD)DD用來定義雙字(DWORD)(2)操作數的類型可以是:①常數或常數表達式l例如:DATA_BYTEDB10,5,10HDATA_WORDDW100H,100,-4DATA_DWDD2*30,0FFFBH②可以為字符串(定義字符串最好使用DB)l例如:char1DB‘AB’③可以為變量④可以為?號操作符例如:XDB5,?,6?號只是為了給變量保留相應的存儲單元,而不賦予變量某個確定的初值。⑤重復次數:NDUP(初值[,初值…])l例如:ZERODB2DUP(3,5)XYZDB2DUP(0,2DUP(1,3),5)⑥在偽操作的操作數字段中若使用$,則表示的是地址計數器的當前值。2、補充內容:(1)類型PTR地址表達式例如:MOVBYTEPTR[BX],12HINCBYTEPTR[BX]注意:單操作數指令,當操作數為基址、變址、基+變的時候必須定義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這兩個偽指令總是成對出現,二者前面的段名一致。二者之間的刪節部分,對數據段、附加段及堆棧段,一般是符號、變量定義等偽指令。對于代碼段則是指令及偽指令。此外,還必須明確段和段寄存器的關系,這可由ASSUME語句來實現。(2)ASSUME格式:ASSUME段寄存器名:段名[,段寄存器名:段名[,…]]ASSUME偽指令告訴匯編程序,將某一個段寄存器設置為某一個邏輯段址,即明確指出源程序中邏輯段與物理段之間的關系。(3)ORG偽指令ORG規定了段內的起始地址或偏移地址,其格式為:ORG<表達式>表達式的值即為段內的起始地址或偏移地址,從此地址起連續存放程序或數據。5、匯編程序的一般結構(重點%)(記住)DATASEGMENT…DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATABGN:MOVAX,DATAMOVDS,AX….MOVAH,4CHINT21HCODEENDSENDBGN第三節程序設計1、順序程序的設計(略)2、分支程序的設計典型例題:1X>0Y=0X=0-1X<0l程序為:MOVAL,XCMPAL,0JGEBIGMOVY,-1JMPEXITBIG:JEEQULMOVY,1JMPEXITEQUL:MOVY,0EXIT:….3、循環程序見講義。l用計數控制循環第一章計算機基礎知識本章的主要內容為不同進位計數制計數方法、不同進位制數之間相互轉換的方法、數和字符在計算機中的表示方法、簡單的算術運算以及計算機系統的組成。下邊將本章的知識點作了歸類,圖1為本章的知識要點圖,圖1.2為計算機系統組成的示意圖。第二章8086微處理器本章要從應用角度上理解8086CPU的內部組成、編程結構、引腳信號功能、最小工作模式的系統配置、8086的存儲器組織、基本時序等概念。下面這一章知識的結構圖。第三章8086的指令系統本章重點是8086CPU指令的尋址方式,每條指令的格式、功能及標志的影響;同時還涉及到存儲器單元的物理地址計算、標志位填寫和堆棧操作。下圖為本章知識結構圖。第四章匯編語言程序設計本章主要內容是匯編語言類別、偽指令語句格式和作用、基本程序結構、調用程序和被調用程序之間數據傳遞途徑以及匯編源程序上機調試過程。本章重點是閱讀程序和編寫程序。下邊是本章的知識結構圖。第五章半導體存儲器半導體存儲器是用半導體器件作為存儲介質的存儲器。本章討論半導體存儲器芯片的類型、存儲原理、引腳功能、如何與CPU(或系統總線)連接等問題。本章知識結構圖如下。`第六章輸入輸出接口本章討論輸入/輸出接口的基本概念,包括輸入/輸出接口的作用、內部結構、傳送信息的分析、IO端口編址以及主機通過接口與外設之間數據傳送的方式。下邊是本章的知識結構圖。第七章中斷與中斷控制器本章主要內容:中斷的基本概念、CPU響應中斷的條件、中斷響應過程、中斷服務程序的執行;8086/8088中斷系統;可編程中斷控制器8259A的引腳功能、編程結構以及工作工程。第八章定時器/計數器8253及應用本章主要內容是定時器/計算器的應用場合;如何實現定時/計數;可編程計數器/定時器8253芯片的內部結構、引腳功能、計數原理、6種工作方式下的工作條件和輸出波形特征。下邊是知識要點圖。第九章A/D和D/A轉換本章重點是A/D轉換的任務和轉換原理,D/A轉換的任務和轉換原理,常用A/D轉換器(ADC)集成芯片和D/A轉換器(DAC)集成芯片的外部引腳功能、內部結構、工作過程、性能指標以及實際應用。如下圖所示,以8088微處理器為核心的IBMPC/XT機與DAC0832連接,實現波形發生器。IBMPC/XT機使用10根地址線A0~A9尋址I/O端口,AEN為地址允許信號,低電平時選中端口。DAC0832的參考電壓VREF=-5V,VREF的范圍為0~5V,計算式為,其中,N是由DAC0832轉換的數字量對應的十進制值。Vout的輸出范圍是-5V~5V。(1)根據下圖一所示的DAC0832的硬件連接,說明其工作方式。(2)假如DAC0832端口地址為140H,請在下圖一中畫出相應的譯碼電路。(3)現有1ms的延時子程序DELAY,請編寫程序片段實現輸出右圖二的所示波形。第一章計算機基礎知識本章的主要內容為不同進位計數制計數方法、不同進位制數之間相互轉換的方法、數和字符在計算機中的表示方法、簡單的算術運算以及計算機系統的組成。下邊將本章的知識點作了歸類,圖1為本章的知識要點圖,圖1.2為計算機系統組成的示意圖。第二章8086微處理器本章要從應用角度上理解8086CPU的內部組成、編程結構、引腳信號功能、最小工作模式的系統配置、8086的存儲器組織、基本時序等概念。下面這一章知識的結構圖。第三章8086的指令系統本章重點是8086CPU指令的尋址方式,每條指令的格式、功能及標志的影響;同時還涉及到存儲器單元的物理地址計算、標志位填寫和堆棧操作。下圖為本章知識結構圖。第四章匯編語言程序設計本章主要內容是匯編語言類別、偽指令語句格式和作用、基本程序結構、調用程序和被調用程序之間數據傳遞途徑以及匯編源程序上機調試過程。本章重點是閱讀程序和編寫程序。下邊是本章的知識結構圖。第五章半導體存儲器半導體存儲器是用半導體器件作為存儲介質的存儲器。本章討論半導體存儲器芯片的類型、存儲原理、引腳功能、如何與CPU(或系統總線)連接等問題。本章知識結構圖如下。`第六章輸入輸出接口本章討論輸入/輸出接口的基本概念,包括輸入/輸出接口的作用、內部結構、傳送信息的分析、IO端口編址以及主機通過接口與外設之間數據傳送的方式。下邊是本章的知識結構圖。第七章中斷與中斷控制器本章主要內容:中斷的基本概念、CPU響應中斷的條件、中斷響應過程、中斷服務程序的執行;8086/8088中斷系統;可編程中斷控制器8259A的引腳功能、編程結構以及工作工程。第八章定時器/計數器8253及應用本章主要內容是定時器/計算器的應用場合;如何實現定時/計數;可編程計數器/定時器8253芯片的內部結構、引腳功能、計數原理、6種工作方式下的工作條件和輸出波形特征。下邊是知識要點圖。第九章A/D和D/A轉換本章重點是A/D轉換的任務和轉換原理,D/A轉換的任務和轉換原理,常用A/D轉換器(ADC)集成芯片和D/A轉換器(DAC)集成芯片的外部引腳功能、內部結構、工作過程、性能指標以及實際應用。如下圖所示,以8088微處理器為核心的IBMPC/XT機與DAC0832連接,實現波形發生器。IBMPC/XT機使用10根地址線A0~A9尋址I/O端口,AEN為地址允許信號,低電平時選中端口。DAC0832的參考電壓VREF=-5V,VREF的范圍為0~5V,計算式為,其中,N是由DAC0832轉換的數字量對應的十進制值。Vout的輸出范圍是-5V~5V。(1)根據下圖一所示的DAC0832的硬件連接,說明其工作方式。(2)假如DAC0832端口地址為140H,請在下圖一中畫出相應的譯碼電路。(3)現有1ms的延時子程序DELAY,請編寫程序片段實現輸出右圖二的所示波形。1.什么是中斷?什么是中斷向量?中斷向量表的地址范圍?答:中斷就是CPU在執行當前程序時由于內外部事件引起CPU暫時停止當前正在執行的程序而轉向執行請求CPU暫時停止的內外部事件的服務程序,該程序處理完后又返回繼續執行被停止的程序;中斷向量是中斷處理子程序的入口地址;地址范圍是00000H-003FFH。2.3.
微機系統的硬件由哪幾部分組成?答:微型計算機(微處理器,存儲器,I/0接口,系統總線),外圍設備,電源。4.什么是微機的總線,分為哪三組?答:是傳遞信息的一組公用導線。分三組:地址總線,數據總線,控制總線。5.8086/8088CPU的內部結構分為哪兩大模塊,各自的主要功能是什么?答:總線接口部件(BIU)功能:根據執行單元EU的請求完成CPU與存儲器或IO設備之間的數據傳送。執行部件(EU),作用:從指令對列中取出指令,對指令進行譯碼,發出相應的傳送數據或算術的控制信號接受由總線接口部件傳送來的數據或把數據傳送到總線接口部件進行算術運算。6.8086指令隊列的作用是什么?答:作用是:在執行指令的同時從內存中取了一條指令或下幾條指令,取來的指令放在指令隊列中這樣它就不需要象以往的計算機那樣讓CPU輪番進行取指和執行的工作,從而提高CPU的利用率。7.8086的存儲器空間最大可以為多少?怎樣用16位寄存器實現對20位地址的尋址?完成邏輯地址到物理地址轉換的部件是什么?答:8086的存儲器空間最大可以為2^20(1MB);8086計算機引入了分段管理機制,當CPU尋址某個存儲單元時,先將段寄存器內的內容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。8.段寄存器CS=1200H,指令指針寄存器IP=FF00H,此時,指令的物理地址為多少?指向這一物理地址的CS值和IP值是唯一的嗎?答:指令的物理地址為21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。9.設存儲器的段地址是4ABFH,物理地址為50000H,其偏移地址為多少?答:偏移地址為54100H。(物理地址=段地址*16+偏移地址)10.8086/8088CPU有哪幾個狀態標志位,有哪幾個控制標志位?其意義各是什么?答:狀態標志位有6個:ZF,SF,CF,OF,AF,PF。其意思是用來反映指令執行的特征,通常是由CPU根據指令執行結果自動設置的;控制標志位有3個:DF,IF,TF。它是由程序通過執行特定的指令來設置的,以控制指令的操作方式。11.8086CPU的AD0~AD15是什么引腳?答:數據與地址引腳12.INTR、INTA、NMI、ALE、HOLD、HLDA引腳的名稱各是什么?答:INTR是可屏蔽請求信號,INTA中斷響應信號,NMI是不可屏蔽中斷請求信號,ALE是地址鎖存允許信號,HOLD總線請求信號,HLDA總線請求響應信號。13.虛擬存儲器有哪兩部分組成?答:有主存儲器和輔助存儲器。14.在80x86中,什么是邏輯地址、線性地址、物理地址?答:線性地址是連續的不分段的地址;邏輯地址是由程序提供的地址;物理地址是內存單元的實際地址。15.段描述符分為哪幾種?答:分為三大類,程序段描述符,系統段描述符,門描述符。16.RAM有幾種,各有什么特點?ROM有幾種,各有什么特點?答:RAM有兩種,SRAM(靜態RAM),它采用觸發器電路構成一個二進制位信息的存儲單元,這種觸發器一般由6個晶體管組成,它讀出采用單邊讀出的原理,寫入采用雙邊寫入原理;DRAM(動態RAM),它集成度高,內部存儲單元按矩陣形式排列成存儲體,通常采用行,列地址復合選擇尋址法。ROM有5種,固定掩摸編程ROM,可編程PROM,紫外光檫除可編程EPROM,電可檫除的可編程EPROM,閃速存儲器。17.若用4K*1位的RAM芯片組成8K*8為的存儲器,需要多少芯片?A19—A0地址線中哪些參與片內尋址,哪些用做芯片組的片選信號?答:需要16片芯片;其中A11-A0參與片內尋址;A12做芯片組的片選信號。18.若系統分別使用512K*8、1K*4、16K*8、64K*1的RAM,各需要多少條地址線進行尋址,各需要多少條數據線?答:512K*8需要19條地址線,8條數據線。1K*4需要10條地址線,4條數據線。16K*8需要14條地址線,8條數據線。64K*1需要14條地址線,1條數據線。19.某微機系統的RAM容量為8K*8,若首地址為4800H,則最后一個單元的地址是多少?答:最后一個單元的地址是:4800H+2^13-120.什么是總線,微機中的總線通常分為哪幾類?答:是一組信號線的集合,是一種在各模塊間傳送信息的公共通路;有四類,片內總線,微處理器總線,系統總線,外總線。21.微處理器為什么需要用接口和外設相連接?答:因為許多接口設備中,在工作原理,驅動方式,信息格式以及工作速度方面彼此相差很大,因此為了進行速度和工作方式的匹配,并協助完成二者之間數據傳送控制任務。22.一般的I/O接口電路有哪四種寄存器,它們各自的作用是什么?答:數據輸入寄存器,數據輸入寄存器,狀態寄存器和控制寄存器。數據端口能對傳送數據提供緩沖,隔離,寄存的作用;狀態寄存器用來保存外設或接口的狀態;控制寄存器用來寄存CPU通過數據總線發來的命令。23.8086最多可有多少級中斷?按照產生中斷的方法分為哪兩大類?答:有8級;按照產生中斷的方法可分為硬件中斷和軟件中斷。24.什么是中斷?什么是中斷向量?中斷向量表的地址范圍?答:中斷就是CPU在執行當前程序時由于內外部事件引起CPU暫時停止當前正在執行的程序而轉向執行請求CPU暫時停止的內外部事件的服務程序,該程序處理完后又返回繼續執行被停止的程序;中斷向量是中斷處理子程序的入口地址;地址范圍是00000H-003FFH。25.中斷向量表的功能是什么?若中斷向量號分別為1AH和20H,則它們的中斷向量在中斷向量表的什么位置上?答:中斷向量表的功能是當中斷源發出中斷請求時,即可查找該表,找出其中斷向量,就可轉入相應的中斷服務子程序。1AH在中斷向量表的位置是1AH*4=68H在中斷向量表0000:0068處;20H在中斷向量表的位置是80H在中斷向量表0000:0080處。26.通常,解決中斷優先級的方法有哪幾種?答:3種,軟件查詢確定優先級,硬件優先級排隊電路確定優先級,具體中斷屏蔽的接口電路。27.8259A通過級聯的方式可以由幾片構成最多多少級優先權的中斷源。答:8259A通過級聯的方式由9片構成最多64級優先權的中斷源。28.簡述中斷控制器8259A的內部結構和主要功能。答:8259A的內部結構有數據總線緩沖器,讀寫邏輯電路,級聯緩沖比較器,中斷請求寄存器(IRR),中斷屏蔽寄存器(IMR),中斷服務寄存器(ISR),優先權判別器(PR),控制邏輯。29.8259A的內部寄存器中IRR、IMR、ISR三個寄存器的作用是什么?答:見課本153頁。30.8259A有哪些中斷結束方式,分別適用于哪些場合。答:8259A有2種中斷結束方式:中斷自動結束方式,中斷非自動結束方式(一般中斷和特殊中斷);中斷自動結束方式只適合有一塊8259A,并且各中斷不發生嵌套的情況。中斷非自動結束方式只能適合與全嵌套方式下不能用與循環優先級方式。31.8259A對優先級的管理方式有哪幾種,各是什么含義?答:有4種,普通全嵌套方式,特殊全嵌套方式,自動循環方式,優先級特殊循環方式(詳細見課本P159和P160)32.8259A的初始化命令字和操作命令字有哪些,其功能是什么;哪些應寫入奇地址,哪些應寫入偶地址。答:8259A的初始化命令字ICW1,ICW2,ICW3,ICW4;操作命令字OCW1,OCW2,OCW3。(見課本P155到P158);ICW2,ICW3,ICW4,OCW1寫如奇地址,ICW1,OCW2,OCW3為偶地址。33.簡述8259A的初始化過程。答:8259A的初始化編程,需要CPU向它輸出一個2—4字節的初始化命令字,輸出初始化命令字的流程如圖所示,其中ICW1和ICW2是必須的,而ICW3和ICW4需根據具體的情況來加以選擇。各初始化命令字的安排與作用分敘如下:34.8253有幾個計數通道,每條計數通道有哪些信號線,其作用是什么?答:8253有三個計數通道,每個計數通道有3條信號線:CLK:計數輸入用于輸入定時基準脈沖或計數脈沖.OUT:輸出信號以相應的電平指示計數的完成或輸出脈沖的波型.GATA:選通輸入用于啟動或禁止計數器的操作,以使計數器和計數輸入信號同步。35.8253有幾種工作方式,其特點是什么?答:六種方式(見課本P224)36.8253的內部寄存器及各位的意義是什么?答:8253的內部寄存器有四個,8位的控制寄存器:初始化時,將控制字寫入該寄存器;16位的計數器初值寄存器,初始化是寫入該計數器的初始值,其最大初始值為0000H;16位的減一計數器,計數器的初值由計數初值寄存器送入減法計數器,當計數輸入端輸入一個計數脈沖時,減法計數器內容減一;16位的輸出鎖存器用來鎖存計數脈沖時,減法計數器內容減一。37.8255A的功能是什么,有哪幾個控制字,各位的意義是什么?答:8255A是一種通用的可編程程序并行I/O接口芯片.它有兩個控制字,一個是方式選擇控制字,它的作用是實現對8255A的各個端口的選擇。一個是對C口進行置位或復位控制字.它的作用是能實現對端口C的每一位進行控制。38.8255A的A口、B口、C口有哪幾種工作方式,其特點是什么?C口有哪些使用特點?答:8255A的A口可以工作在3種工作方式的任何一種,B口只能工作在方式0或方式1,C口則常常配合端口A和端口B工作,為這兩個端口的輸入/輸出傳輸提供控制信號和狀態信號。39.同步通信、異步通信的幀格式各是什么?什么是奇、偶校驗?答:異步通信的幀格式是用一個起始位表示傳送字符的開始,用1-2個停止位表示字符結束。起始位與停止位之間是數據位,數據位后是校驗位,數據的最底位緊跟起始位,其他各位順序傳送;同步通信的幀格式是在每組字符之前必須加上一個或多個同步字符做為一個信息幀的起始位。40.什么是波特率?若在串行通信中的波特率是1200b/s,8位數據位,1個停止位,無校驗位,傳輸1KB的文件需要多長時間?答:波特率是單位時間內通信系統所傳送的信息量。需要多長時間=1024/(1200/10)=8.53s41.對8255A進行初始化,要求端口A工作于方式1,輸入;端口B工作于方式0,輸出;端口C的高4位配合端口A工作,低4位為輸入。設控制口的地址為006CH。答:由題知應為10111001H(B9H)MOVAL,B9HMOVDX,006CHOUTDX,AL42.設8255A的四個端口地址分別為00C0H、00C2H、00C4H和00C6H,要求用置0、置1的方法對PC6置1,對PC4置0。答:MOVDX,00C0H;端口地址MOVAL,00001101;對PC6置1OUTDX,ALMOVAL,00001000;對PC4置0OUTDX,AL43.試按照如下要求對8259A進行初始化:系統中只有一片8259A,中斷請求信號用電平觸發方式,下面要用ICW4,中斷類型碼為60H、61H、62H……67H,用全嵌套方式,不用緩沖方式,采用中斷自動結束方式。設8259A的端口地址為94H和95H。答:MOVDX,94H;偶地址MOVAL,00011011B;ICW1OUTDX,ALMOVAL,10011111B;ICW2,中斷源在IR7MOVDX,95H;奇地址OUTDX,ALMOVAL,00000011B;ICW4OUTDX,AL44.試編程對8253初始化啟動其工作。要求計數器0工作于模式1,初值為3000H;計數器1工作于模式3,初值為100H;計數器2工作于模式4,初值為4030H。設端口地址為40H、41H、42H和43H。答:MOVAL,00011110H;控制字OUT43H,ALMOVAL,3000H;計數初值OUT40H,ALMOVAL,01010110H;計數器1OUT43H,ALMOVAL,100HOUT41H,ALMOVAL,10011000H;計數器2OUT43H,ALMOVAL,4030HOUT42H,AL模擬試題一一、簡答題:1.簡述USB總線的特點。答:1)具備即插即用特性,為USB接口設計的驅動程序和應用程序可自動啟動、成本低,節省空間,為開放性的不具備專利版權的理想工業標準。:2)可動態連接和重新配置外設,支持熱插拔功能;3)允許多臺設備同時工作;4)可以向USB總線上的設備供電,總線上的設備可以自備電源;5)通訊協議支持等時數據傳輸和異步消息傳輸的混合模式;6)支持實時語音、音頻、和視頻數據傳輸。2.什么是中斷類型碼?什么叫中斷向量?什么叫中斷向量表?它們之間有什么聯系答:8086/8088系統可以處理256種中斷,為了區別每一種中斷,為每個中斷安排一個號碼,稱為中斷類型碼。每一種中斷服務程序在內存中的起始地址稱為中斷向量,以32位邏輯地址表示,即為CS:IP。把所有中斷向量存儲在內存中的某一個連續區中,這個連續的存儲區稱為中斷向量表。中斷向量CS:IP在中斷向量表中的位置為:中斷向量表中偏移量為(中斷類型碼×4)的單元中存放IP的值,偏移量為(中斷類型碼×4+2)的單元中存放CS的值。3.簡述高速緩沖存儲器Cache為什么能夠實現高速的數據存取?答:高速緩沖存儲器Cache是根據程序局部性原理來實現高速的數據存取。即在一個較小的時間間隔內,程序所要用到的指令或數據的地址往往集中在一個局部區域內,因而對局部范圍內的存儲器地址頻繁訪問,而對范圍外的地址則范圍甚少的現象稱為程序訪問的局部性原理。如果把正在執行的指令地址附近的一小部分指令或數據,即當前最活躍的程序或數據從主存成批調入Cache,供CPU在一段時間內隨時使用,就一定能大大減少CPU訪問主存的次數,從而加速程序的運行。4.有一個由20個字組成的數據區,其起始地址為3500H:0320H。試寫出數據區首末單元的實際地址。答:數據區首地址=3500H×10H+0320H=33320H數據區末地址=33320H+28H-1=33347H5.設有一個具有16位地址和8位數據的存儲器,問:(1)該存儲器能存書多少個字節的信息?(2)如果存儲器由8K×4位RAM芯片組成,需要多少片?(3)需要地址多少位做芯片選擇?答:(1)因為8位二進制數為1個字節,所以16位地址能存儲216=64KB個字節的信息;(2)需要64K×8/8K×4=16片RAM(3)因為需要16片來構成存儲器,而16片需要4位地址線進行譯碼輸出,故需要4位做芯片選擇。6.定性分析微型計算機總線的性能指標。答:微型計算機總線的主要職能是負責計算機各模塊間的數據傳輸,對總線性能的衡量也是圍繞這一性能而進行的。性能中最重要的是數據傳輸率,另外,可操作性、兼容性和性能價格比也是很重要的技術特征。具體來說,總線的主要性能指標有以下幾項:(1)總線寬度:以位數表示。(2)標準傳輸率Mb/s:是總線工作頻率與總線寬度的字節數之積。(3)時鐘同步/異步:總線中與時鐘同步工作的稱為同步總線;與時鐘不同步工作的稱為異步總線。這取決于數據傳輸時源模塊與目標模塊間的協議約定。(4)信號線數:這是地址總線、數據總線和控制總線線數的總和。信號線數和系統的復雜程度成正比關系。(5)負載能力:以系統中可以連接的擴展電路板數表示。(6)總線控制方法:包括突發傳輸、并發工作、自動配置、仲裁方式、邏輯方式、中斷方式等項內容。(7)擴展板尺寸:這項指標對電路板生產廠家很重要。(8)其他指標:電源是5V還是3V,能否擴展64位寬度等。任何系統的研制和外圍模塊的開發,都必須服從其采用的總線規范。7.虛擬存儲器的含義是什么?答:虛擬存儲器是以存儲器訪問的局部性為基礎,建立在主存-輔存物理體系結構上的存儲管理技術。在存儲系統中,由于主存容量不能滿足用戶的需要,因而引入輔存作為后援。即輔存做主存用,擴大編程者的使用空間。二、編程及綜合題1.已知8255A的地址為0060H~0063H,A組設置方式1,端口A作為輸入,PC6PC7作為輸出,B組設置方式1,端口B作為輸入,編制初始化程序.。答案:MOVDX,0063HMOVAL,00110111BOUTDX,AL2編寫8253初始化程序。如下圖所示(注意端口地址),要求3個計數通道分別完成以下功能:(1)通道0工作于方式3,輸出頻率為2KHZ的方波;(2)通道1產生寬度為480us的單脈沖;(3)通道2用硬件方式觸發,輸出負脈沖,時間常數為26。(提示:8253的端口地址分別為:0310H、0312H、0314H、0316H)答案:編寫8253的初始化程序1.確定端口地址:0310H、0312H、0314H、0316H2.確定工作方式:通道0,方式3通道1,方式1通道2,方式53.確定計數值:通道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,則有:[x+y]補=
01111011
[x-y]補=
10000011;2、數制轉換:247.86=H=______________BCD;3、在8086CPU中,由于BIU和EU分開,所以_____和_____可以重疊操作,提高了CPU的利用率;4、8086的中斷向量表位于內存的_______區域,它可以容納____個中斷向量,每一個向量占____個字節;5、8086系統中,地址FFFF0H是___________________地址;6、8086CPU的MN/MX引腳的作用是____________________;7、8251芯片中設立了_____、_____和______三種出錯標志;8、8086CPU中典型總線周期由____個時鐘周期組成,其中T1期間,CPU輸出______信息;如有必要時,可以在__________兩個時鐘周期之間插入1個或多個TW等待周期。9、8259A共有___個可編程的寄存器,它們分別用于接受CPU送來的______命令字和________命令字。二、簡答題:1、什么是信號的調制與解調?為什么要進行調制和解調?試舉出一種調制的方式。串行長距離通信時,需要利用模擬信道來傳輸數字信號,由于信道的頻帶窄,一般為300~3400HZ,而數字信號的頻帶相當寬,故傳輸時必須進行調制,以免發生畸變而導致傳輸出錯。(3分)調制是將數字信號?模擬信號。而解調則是相反。例如FSK制(調頻制或稱數字調頻)可將數字“1”和“0”分別調制成2400HZ和1200HZ的正弦波信號。(2分)2、已有AX=E896H,BX=3976H,若執行ADDBX,AX指令,則結果BX,AX,標志位CF,OF,ZF各為何值?BX=220CH(1分)AX=E896H(1分)CF=1(1分)OF=0(1分)ZF=0(1分)三、閱讀程序與接口芯片初始化:1、源程序如下:MOVCL,4MOVAX,[2000H]
SHLAL,CL
SHRAX,CLMOV[2000H],AX試問:j若程序執行前,數據段內(2000H)=09H,(2001H)=03H,則執行后有(2000H)=_____,(2001H)=______。k本程序段的功能_________________________。2、源程序如下:MOVAL,0B7H
ANDAL,0DDHXORAL,81HORAL,33HJPLAB1JMPLAB2試問:j執行程序后AL=_______;k程序將轉到哪一個地址執行:__________。3、源程序如下:MOVCX,9MOVAL,01HMOVSI,1000HNEXT:MOV[SI],ALINCSISHLAL,1LOOPNEXT試問:j執行本程序后有:AL=_____;SI=______;CX=______;k本程序的功能是
______________________________。4、某系統中8253占用地址為100H~103H。初始化程序如下:MOVDX,103HMOVAL,16HOUTDX,ALSUBDX,3OUTDX,AL試問:j此段程序是給8253的哪一個計數器初始化?安排工作在哪種工作方式?__________________;k若該計數器的輸入脈沖的頻率為1MHZ,則其輸出脈沖的頻率為:___________。5、已知某8255A在系統中占用88~8BH號端口地址,現欲安排其PA,PB,PC口全部為輸出,PA,PB口均工作于方式0模式,并將PC6置位,使PC3復位,試編寫出相應的初始化程序:模式試題二參考答案一、填空題2、F7.DCH001001000111.10000110BCD3、取指令執行指令4、00000H~003FFH區256個4個5、CPU復位以后執行第一條指令的地址6、決定CPU工作在什么模式(最小/最大)7、奇/偶錯幀格式錯溢出錯8、4個地址T3和T49、7個初始化操作三、閱讀程序與接口芯片初始化:1、(2000H)=39H(2001H)=00H將(2000H),(2001H)兩相鄰單元中存放的未組合型BCD碼壓縮成組合型BCD碼,并存入(2000H)單元,0?(2001H)2、37HLAB23、01009H0對數據段內1000H~1008H單元置數,依次送入1,2,4,8,16,32,64,128,0共九個4、計數器0工作于方式345.454KHZ5、MOVAL,80HOUT8BH,ALMOVAL,ODHOUT8BH,ALMOVAL,06HOUT8BH,AL模式試題三一、填空題1、將十進制數279.85轉換成十六進制數、八進制數、二進制數及BCD碼數分別為:________H,________Q,_____B,
BCD。2、字長為8位的二進制數10010100B,若它表示無符號數,或原碼數,或補碼數,則該數的真值應分別為______D,______D或______D。3、已知BX=7830H,CF=1,執行指令:ADCBX,87CFH之后,BX=____________,標志位的狀態分別為CF=_______,ZF=_______,OF=________,SF=__________。4、8086中,BIU部件完成______功能,EU部件完成_____功能。5、8086中引腳BHE信號有效的含義表示________________。6、8086正常的存儲器讀/寫總線周期由________個T狀態組成,ALE信號在__________狀態內有效,其作用是______________。7、設8086系統中采用單片8259A,其8259A的ICW2=32H,則對應IR5的中斷類型號為___________H,它的中斷入口地址在中斷向量表中的地址為______________H。二、簡答及判斷題1、某指令對應當前段寄存器CS=FFFFH,指令指針寄存器IP=FF00H,此時,該指令的物理地址為多少?指向這一物理地址的CS值和IP值是唯一的嗎?試舉例說明2、8086CPU的FLAG寄存器中,狀態標志和控制標志有何不同?程序中是怎樣利用這兩類標志的?3、設采用16550進行串行異步傳輸,每幀信息對應1個起始位,7個數據位,1個奇/偶校驗位,1個停止位,波特率為4800,則每分鐘能傳輸的最大字符數為多少個?三、讀圖和作圖題1、8086系統中接口連接關系如下圖所示。要求回答以下問題:(1)試分別確定8255,8253,8259及8251的端口地址;(2)設8255的PA口為輸出,PB口為輸入,試寫出對PA口和PB口執行輸入/輸出操作的指令。8255的端口地址為:
___________________________________;8253的端口地址為:___________________________________;8259的端口地址為:___________________________________;8251的端口地址為:___________________________________;對PA口操作的I/O指令為_______________________________;對PB口操作的I/O指令為______________________________。2、作圖題。系統采用4個接口芯片:8253,8251,8259及8255。要求8253的通道0用作實時時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在線測量儀器儀表企業縣域市場拓展與下沉戰略研究報告
- 印片機企業ESG實踐與創新戰略研究報告
- 等離子噴涂與熱噴鍍粉及絲材企業ESG實踐與創新戰略研究報告
- 空調設備企業數字化轉型與智慧升級戰略研究報告
- 地平線開鑿機系統企業縣域市場拓展與下沉戰略研究報告
- 中國水產飼料行業前景展望與未來趨勢預測分析研究報告
- 中國室內健身器材行業運營機制風險及營銷模式探討研究報告
- 2025至2030內燃發動機全產業全景深度調研及投資規劃建議研究報告
- 2025至2030中國高爐煤氣發電行業可持續發展與重點競爭力策略研究報告
- 2025至2030中國鎂橄欖石行業發展現狀與投資機遇創新性報告版
- 《小兒神經系統查體》課件
- 中石油職稱英語教材課文詳解
- 全國城市一覽表-excel
- 綠色施工實施細則及評價標準
- CFG樁施工工藝及質量控制
- 2023年數學周報杯初中數學競賽試題及答案
- 中考歷史-二輪專題復習
- A4版2023陜西省中考英語答題卡word版可以編輯
- 廣東省五年一貫制考試英語真題
- 無人機日常使用記錄表
- GB/T 27689-2011無動力類游樂設施兒童滑梯
評論
0/150
提交評論