版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
李伯成《微機原理》習題第一章本章作業(yè)參考書目:①薛鈞義主編《微型計算機原理與應用——Intel80X86系列》機械工業(yè)出版社2002年2月第一版②陸一倩編《微型計算機原理及其應用〔十六位微型機〕》哈爾濱工業(yè)大學出版社1994年8月第四版③王永山等編《微型計算機原理與應用》西安電子科技大學出版社2000年9月1.1將以下二進制數(shù)轉(zhuǎn)換成十進制數(shù):X=10010110B=1*27+0*26+0*25+1*24+0*23+1*22+1*21+0*21=128D+0D+0D+16D+0D+0D+4D+2D=150DX=101101100B=1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20=256D+0D+64D+32D+0D+16D+4D+0D=364DX=1101101B=1*26+1*25+0*24+1*23+1*22+0*21+1*20=64D+32D+0D+8D+4D+0D+1D=109D1.2將以下二進制小數(shù)轉(zhuǎn)換成十進制數(shù):〔1〕X=0.00111B=0*2-1+0*2-2+1*2-3+1*2-4+1*2-5=0D+0D+0.125D+0.0625D+0.03125D=0.21875D(2)X=0.11011B=1*2-1+1*2-2+0*2-3+1*2-4+1*2-5=0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D(3) X=0.101101B=1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6=0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D1.3 將以下十進制整數(shù)轉(zhuǎn)換成二進制數(shù):〔1〕X=254D=11111110B〔3〕X=141D=10001101B1.4將以下十進制小數(shù)轉(zhuǎn)換成二進制數(shù):〔1〕X=0.75D=0.11B(2)X=0.102D=0.0001101B(3)X=0.6667D=0.101010101B1.5將以下十進制數(shù)轉(zhuǎn)換成二進制數(shù)(1)100.25D=01100100.01H(2)680.75D=001010101000.11B1.6將以下二進制數(shù)轉(zhuǎn)換成十進制數(shù)(1)X=1001101.1011B=77.6875D(2)X=111010.00101B=58.15625D1.7將以下二進制數(shù)轉(zhuǎn)換成八進制數(shù)〔1〕X=101011101B=101’011’1’101’(3)X=110B=6Q1.8將以下八進制數(shù)轉(zhuǎn)換成二進制數(shù):〔1〕X=760Q=111'110'000B〔2〕X=32415Q=11'010'100'001'101B1.9將以下二進制數(shù)轉(zhuǎn)換成十六進制數(shù):X=101010111101101B=55EDHX=1100110101'1001B=11001101011001B=3359HX=1000110001B=1000110001B=231H1.10將以下十六進制數(shù)轉(zhuǎn)換成二進制數(shù):X=ABCH=101010111100BX=3A6FX=F1C3.4B=1111000111000011.01001011B1.11將以下二進制數(shù)轉(zhuǎn)換成BCD碼:(1)X=1011011.101B=1'011'011.101B=91.625d=10010001.0110BCD(2)X=1010110.001B=1’010’110.001=126.11.12將以下十進制數(shù)轉(zhuǎn)換成BCD碼:〔1〕X=1024D=0001000000100100BCD〔2〕X=632=011000110010BCD〔3〕X=103=000100000011BCD1.13寫出以下字符的ASCII碼:A41H65D01000001B939H47D*2AH42D=3DH45D!21H33D1.14假設加上偶校驗碼,以下字符的ASCII碼是什么?字符原碼加上偶校驗碼之后 B42H,01000010B 42H,01000010B434H,00110100BB4H,10110100B737H,00110111BB7H,10110111B=3DH,00111101BBDH,10111101B!21H,00100001B21H,00100001B?3FH00111111B3FH,00111111B1.15加上奇校驗,上面的結(jié)果如何?字符原碼加上奇校驗碼之后 B42H,01000010B C2H,11000010B434H,00110100B34H,00110100B737H,00110111B37H,00110111B=3DH,00111101B3DH,00111101B!21H,00100001BA1H,10100001B?3FH00111111BBFH,10111111B1.16計算下式:〔1〕[‘B’/2+ABH-11011001B]*0.0101BCD=(42H/2+ABH-D9H)*0.21BCD==F3H*0.21BCD=(-DH)*0.21BCD=-2.73D(2)3CH–[(84D)/(16Q)+’8’/8D]=60D-[84D/14D+(56/8)]=60D-[13]D==47D1.17對以下十進制數(shù),用八位二進制數(shù)寫出其原碼、反碼和補碼:(正數(shù)的反碼與原碼相同,負數(shù)的反碼除符號位之外其余各位按位取反。正數(shù)的補碼與原碼相同;負數(shù)的補碼除符號位以外,其余各位按位取反之后再加一。)數(shù)據(jù)原碼反碼補碼+99011000110110001101100011-99111000111001110010011101+12701111111 0111111101111111-127111111111000000010000001+0000000000000000000000000-01000000011111111000000001.188位二進制數(shù)原碼可表示數(shù)的范圍是+127~-128;8位二進制數(shù)補碼可表示的數(shù)的范圍是+127~-127;8位二進制數(shù)反碼可表示的數(shù)的范圍是:+127~-128;16位二進制數(shù)的原碼、補碼、反碼可表示的數(shù)的范圍是多少?+32767~-32768、+32767~-32768、+32767~-32768;1.20至少寫出3種用二進制編碼狀態(tài)表示十進制數(shù)字的編碼方式。8421碼、5421碼2421碼余3碼0000000000000011 00001000100010100 10010 001010000101 20011 001110010110 30100 010010100111 40101 100010111000 50110 100111001001 6011110101101101071000101111101011810011100111111009李伯成《微機原理》習題第二章①薛鈞義主編《微型計算機原理與應用——Intel80X86系列》機械工業(yè)出版社2002年2月第一版②陸一倩編《微型計算機原理及其應用〔十六位微型機〕》哈爾濱工業(yè)大學出版社1994年8月第四版③王永山等編《微型計算機原理與應用》西安電子科技大學出版社2000年9月④洪志全等編《現(xiàn)代計算機接口技術》電子工業(yè)出版社2002年4月⑤仇玉章主編《32位微型計算機原理與接口技術》清華大學出版社2000年9月2.18086CPU的RESET引腳的功能是什么?答:RESET引腳稱為復位引腳,輸入、三態(tài)、高電平有效;RESET引腳將使CPU立即結(jié)束當前操作,處理器要求RESET信號至少要保持4個時鐘周期的高電平,才能結(jié)束它正在進行的操作。CPU復位以后,除了代碼段存放器CS的值為FFFFH外,其余所有存放器的值均為零,指令隊列為空。當RESET回到低電平時,CPU開始執(zhí)行“熱啟動”程序,由于此時CS的值為FFFFH,IP的值為0000H,所以CPU復位以后執(zhí)行的第一條指令的物理地址為FFFF0H,該單元通常放置一條段間直接轉(zhuǎn)移指令JMPSS:OO,SS:OO即為系統(tǒng)程序的實際起始地址。2.2在8086CPU工作在最小模式時,〔1〕當CPU訪問存儲器時,要利用哪些信號?當CPU訪問存儲器時,要利用AD0~AD15、WR*、RD*、IO/M*以及A16~A19;〔2〕當CPU訪問外設接口時,要利用哪些信號?當CPU訪問外設接口時,同樣要利用AD0---AD15、WR*、RD*以及IO/M*,但不使用高端地址線A16---A19;〔3〕當HOLD有效并得到響應時,CPU哪些引腳置高阻?當HOLD有效并得到響應時,CPU除HOLD、HOLDA引腳外其余所有的信號引腳均為高阻態(tài)。略說明8086CPUREADY信號的功能。見P232.58086CPU的NMI和INTR引腳的不同有幾點?兩點:〔1〕INTR是可以由用戶用指令禁止的,〔通過中斷允許標志IF的開---STI和關CLI進行〕;而NMI不能由用戶禁止;(2)INTR是可以區(qū)分優(yōu)先級別的,NMI是最高級的,沒有中斷優(yōu)先級的排隊。2.6說明8086CPU內(nèi)部標志存放器各位的含義。8086CPU的標志存放器〔PSW或FLAG〕共有9個標志位,分別是:CF〔CarryFlag〕---進位或借位標志;PF〔ParityFlag〕---奇偶標志;AF〔auxiliaryFlag〕----半進位標志;ZF〔ZeroFlag〕-----結(jié)果為零標志;SF(SignFlag)-----符號標志;OF〔OverflowFlag〕-----溢出標志;IF〔InterruptEnableFlag〕-----中斷允許標志;DF(DirectionFlag)----方向標志;TF(TrapFlag)-----陷阱標志。2.7說明8086CPU內(nèi)部14個存放器的作用。8086內(nèi)部的存放器可以分為3類:第一類:通用存放器:AX、BX、CX、DX、SI、DI、SP、BP,共8個可以存儲數(shù)據(jù)或者地址的低16位;AX、BX、CX和DX可以分成8個8位的存放器使用;SI、DI又稱變址存放器,用于存儲變址地址;SP和BP存放指針變量值。第二類:段存放器:CS、DS、SS、ES,共4個存放器,只能存放對應段的段地址;第三類為IP和FLAG,IP在通常情況下不允許用戶訪問,而FLAG是用以向用戶提供了解ALU工作狀態(tài)或者控制CPU工作方式的標志存放器。2.8試畫出8086CPU工作在最小模式時的總線形成示意圖。(注:BHE*引腳為34腳---即SS0,參見P25狀態(tài)編碼表)四點說明:A、MN/MX端接+5V,決定了8086工作在最小模式。B、有一片8234A,作為時鐘發(fā)生器。C、有三片8282或74LS373,用來作為地址鎖存器。D、當系統(tǒng)中所連接的存儲器和外設比擬多時,需要增加系統(tǒng)數(shù)據(jù)總線的驅(qū)動能力,這時,要用兩片8286/8287(74LS244或74LS245)作為總線收發(fā)器。2.98086/8088為什么采用地址/數(shù)據(jù)引線復用技術?答:考慮到芯片本錢,8086/8088采用40條引線的封裝結(jié)構(gòu)。40條引線引出8086/8088的所有信號是不夠用的,采用地址/數(shù)據(jù)線復用引線方法可以解決這一矛盾,從時序邏輯的角度,地址與數(shù)據(jù)信號不會同時出現(xiàn),二者可以分時復用同一組引線。2.10怎樣確定8086的最大或最小工作模式?最大、最小模式產(chǎn)生控制信號的方法有何不同?答:引線MN/MX*的邏輯狀態(tài)決定8086的工作模式,MN/MX*引線接高電平,8086被設定為最小模式;MN/MX*引線接低電平,8086被設定為最大模式。最小模式下所有的控制信號由CPU相關引線直接提供;最大模式下控制信號由8288專用芯片譯碼后提供,8288的輸入由8086的S2─S0三條狀態(tài)信號引線提供。李伯成《微機原理》習題第三章本章作業(yè)參考書目:1.周明德:微型計算機IBM-PC系統(tǒng)原理與應用清華大學出版社19912.王永山等:微型計算機原理與應用西安電子科大出版社19983.張懷蓮:IBMPC匯編語言程序設計電子工業(yè)出版社1990注:本習題解中的程序僅為代碼片段,可在Emu8086version2.57環(huán)境下仿真運行,如果在MASM下進行匯編,需添加段設置以及相應的偽指令。MOV AX,00H; 立即尋址SUB AX,AX; 存放器尋址MOV AX,[BX]; 存放器間接尋址MOV AX,TABLE; 直接尋址MOV AL,ARAY1[SI]; 存放器相對尋址 MOV AX,[BX+6]; 存放器相對尋址假設1KB的數(shù)據(jù)存放在TABLE以下,試編寫程序?qū)⒃摂?shù)據(jù)拌到NEXT之下。程序片段如下:ORG100h MOV CX,03FFH;數(shù)據(jù)個數(shù) LEA SI,TABLE;源區(qū)首地址 LEA DI,NEXT;目的區(qū)首地址AGAIN: MOV AL,[SI]; MOV [DI],AL;搬移 INC SI INC DI; 移動地址指針 DEC CX; 循環(huán)計數(shù)器遞減 JNZ AGAIN; 循環(huán)未結(jié)束轉(zhuǎn) HLT; 暫停 TABLEDB1024dup('A');源數(shù)據(jù)區(qū) NEXT DB1024dup(0); 目的數(shù)據(jù)區(qū)編寫10個字〔16位二進制數(shù)〕之和的程序ORG100h LEA SI,ADD1; LEA DI,ADD2; LEA BX,SUM; MOV CL,CONT; MOV CH,0;循環(huán)初始化 CLC; 進位清零MADD1: MOV AX,[SI]; 讀加數(shù)1 ADC AX,[DI] ADD SI,2; 移動源區(qū)地址指針 ADD DI,2; 移動目的區(qū)地址指針 MOV [BX],AX; 回存計算結(jié)果 ADD BX,2; 移動“和”存儲區(qū)地址指針 LOOP MADD1; 循環(huán)控制 HLT; 暫停ADD1 DB 0FEH,86H,7CH,44h,56H,1FH,24H,01H,02H,33H;加數(shù)1ADD2 DB 56H,49H,4EH,0FH,9CH,22H,45H,11H,45H,21H;加數(shù)2SUM DB 10DUP(0);和存儲單元CONT DB 5;循環(huán)次數(shù)3.4某16位二進制數(shù),放在DATA連續(xù)的兩個單元中,試編程求其平方根和余數(shù),將其分別存放在ANS和REMAIN中。ORG100h MOV BL,2; 除數(shù)初值 AGAIN: MOV CX,NUM; 預計最大循環(huán)次數(shù) MOV AL,BL; 0、1的平方鏟除外 MUL BL; 得到2的平方 CMP AX,CX; 大于原始數(shù)據(jù)么? JG EXIT; 假設原始數(shù)據(jù)小于4轉(zhuǎn)EXIT MOV AX,CX; 讀數(shù) DIV BL; 試除 INC BL; 除數(shù)遞增 JMP AGAIN; 繼續(xù)除 EXIT: DEC BL; 去除除數(shù)自加 MOV ANS,BL; 存商 MOV AL,BL; 恢復余數(shù) MUL BL; SUB CX,AX; MOV REMAIN,CL; HLT NUM DW 7; ANS DB ?; REMAIN DB ?;3.5在DATA1之下順序存放著以ASCII碼表示的千位數(shù),將其轉(zhuǎn)換成二進制數(shù)。MOV CL,4; 移位次數(shù) MOV CH,CL; 循環(huán)次數(shù) MOV SI,OFFSETASCBIN CLD XOR AX,AX XOR DX,DXASCB1: LODSB AND AL,7FH CMP AL,'0' ;不大于‘0’結(jié)束轉(zhuǎn)換 JL ERR CMP AL,'9' JG ASCB2 ;大于‘9’轉(zhuǎn)ASCB2 SUB AL,30H ;數(shù)字形式二進制數(shù)減30H JMP ASCB3ASCB2: CMP AL,'A' ;大于‘9’又小于‘A’結(jié)束轉(zhuǎn)換 JL ERR CMP AL,'F' JG ERR ;大于‘F’為不合理數(shù),結(jié)束轉(zhuǎn)換 SUB AL,37H ;字符形式ASCII數(shù)減37HASCB3: OR DL,AL ROL DX,CL DEC CH JNZ ASCB1 ROL DX,CL MOV BIN,DX;存儲轉(zhuǎn)換結(jié)果ERR: NOP HLTASCBIN DB'1','B,'4','3'BIN DW ?3.7編寫程序?qū)OLT中的一個8位數(shù)乘以20,乘積放在ANS中〔用3種方式〕。解:第一種方法:常規(guī)乘法運算 ORG100h MOV AL,MOLT MOV BL,20 MUL BL MOV ANS,AX HLT MOLT DB 2 ANS DW ?第二種方法,將MOLT連加20次ORG100h MOV CX,20 MOV BX,MOLT XOR AX,AX CLC ADD1:ADC AX,BX LOOP ADD1 MOV ANS,AX HLT MOLTDW 5 ANS DW ?第三種方法,將“20”連加MOLT次ORG100h MOV CX,MOLT MOV BX,20 XOR AX,AX CLC ADD1:ADC AX,BX LOOP ADD1 MOV ANS,AX HLT MOLTDW 5 ANS DW ?3.8 在DATA之下存放100個無符號的8位數(shù),找出其最大者并將其存放在KVFF單元。ORG100h XOR DL,DL LEA DI,KVFF; NEXT0: LEA SI,BUFFER; MOV CL,99; 比擬次數(shù)為N-1次 NEXT1: MOV AL,[SI]; INC SI; CMP DL,AL; JNC NEXT2; MOV DL,AL; DL中始終存目前最大值NEXT2: DEC CL; JNZ NEXT1; MOV [DI],DL;最大值存儲 HLT BUFFERDB;自行定義100個數(shù)據(jù) KVFFDB ?3.9假設將數(shù)據(jù)按大小順序排序,試編寫程序..解:此處采用“冒泡法”予以處理: ORG100h LEA DI,BUFFER; 數(shù)據(jù)區(qū) MOV BL,99; 外循環(huán)次數(shù) NEXT0: MOV SI,DI; MOV CL,BL; 內(nèi)循環(huán)次數(shù) NEXT3: MOV AL,[SI]; 讀數(shù) INC SI; 移動指針 CMP AL,[SI]; 比擬 JNC NEXT5; 大于轉(zhuǎn)NEXT5 MOV DL,[SI]; MOV [SI-1],DL; MOV [SI],AL; 不大于互換 NEXT5: DEC CL; 內(nèi)循環(huán)次數(shù)減一 JNZ NEXT3; DEC BL; 外循環(huán)次數(shù)減一 JNZ NEXT0 HLT BUFFERDB自行定義100個字節(jié)型數(shù)據(jù)3.10在BVFF單元中有一個BCD數(shù)A,試根據(jù)以下關系編寫程序,計算結(jié)果存在DES中.A<20,Y=3*A;A<60,Y=A-20;A>=60,Y=80. ORG100h MOV AL,BVFF CMP AL,20 JL EX1 CMP AL,60 JL EX2 MOV AL,80 JMP STOP EX1: MOV BL,3 MUL BL JMP STOP EX2: SUB AL,20 STOP: MOV DES,AL HLT BVFF DB8 DES DB?3.11址為DATAB開始的80個單元中,存放某班80個學生的某課程成績,要求:統(tǒng)計>=90分、80~89分、70~79分、60~69分、60分以下的人數(shù),結(jié)果存放在BTRX開始的5個單元中求平均成績,結(jié)果存放在LEVEL中。解:存放器使用分配:90分以上在DH,80分以上在DL,70分以上在BH,60分以上在BL,60分以下在AH,總分、均分都在[DI]。 ORG100h XOR AH,AH XOR DX,DX ;統(tǒng)計結(jié)果清零 XOR BX,BX ;統(tǒng)計結(jié)果清零 LEA SI,DATA LEA DI,LEVEL MOV CL,CONT;總?cè)藬?shù)送循環(huán)計數(shù)器CX goon: MOV AL,[SI] ;讀原始數(shù)據(jù) ADC [DI],AL; 累加總分 ADC [DI+1],0 ;計算進位 CMP AL,90 JLPP8 ;不高于90分者轉(zhuǎn)PP8 INC DH;90--100分的人數(shù)加一 JMP STOR PP8: CMP AL,80 JL PP7 ;不高于80分轉(zhuǎn)PP7 INC DL ;80----89分的人數(shù)加一 JMP STOR PP7: CMP AL,70 JL PP6 ;不高于70分者轉(zhuǎn)PP6 INCBH ;70---79分的人數(shù)加一 JMP STOR PP6: CMP AL,60 JL PP5 ;不高于60分者轉(zhuǎn)PP5 INCBL ;60---69分的人數(shù)加一 JMP STOR PP5: INC AH ;低于60分的人數(shù)加一 STOR:INC SI ;讀下一個分數(shù) LOOP GOON ;CX=CX-1,CX不為零轉(zhuǎn)GOON,繼續(xù)統(tǒng)計 LEA SI,BUFFER ;回存統(tǒng)計結(jié)果 MOV [SI],DH INC SI MOV [SI],DL INC SI MOV [SI],BH INC SI MOV [SI],BL INC SI MOV [SI],AH MOV AX,WORDPTR[DI] ;計算平均成績 MOV CL,CONT DIV CL MOV LEVEL,AL ;回存平均成績 HLTCONT DB10DATA DB30,65,99,80,75,89,100,45,60,70BUFFERDB?,?,?,?,?LEVEL DB?,?求兩個有符號數(shù)(DATA1,DATA2)差的絕對值,結(jié)果存入DATA3. ORG 100h MOV AL,DATA1;讀入被減數(shù) SUB AL,DATA2;減去減數(shù) JC CHANGE; JMP STORCHANGE: NEG ALSTOR: MOV DATA3,AL HLT DATA1 DB 3 DATA2 DB 5 DATA3 DB ?3.13存從40000H到4BFFH的個單元均寫入55H,并再逐個讀出,驗證是否一致,假設一致,置AL為7EH,否那么置AL為81H. ORG100h MOV AX,4000H; MOV DS,AX; MOV SI,0 START: MOV CX,0BFFFH BEGIN: MOV [SI],55H MOV AL,[SI] INC SI CMP AL,55H JNZ ERR LOOP BEGIN MOV AL,7EH JMP STOP ERR: MOV AL,81H STOP: HLT 3.14~3.15端口03FBH的BIT5為狀態(tài)標志,當該位為1時,表示外設忙,不能接收數(shù)據(jù);當為0時,表示外設閑,可以接收數(shù)據(jù);當CPU向端口03F8H寫入一個字節(jié)的數(shù)據(jù)時,03FBH的BIT5置1,當它變?yōu)?狀態(tài)時,又可以寫入下一個數(shù)據(jù)。據(jù)此編寫將起始地址為SEDAT的50個數(shù)據(jù)輸出到03F8H端口的程序。 WAIT: MOV DX,03FBH IN AL,DX TEST AL,00100000B;〔20H〕 JZ SEND JMP WAIT SEND:MOV DX,3F8H MOV AL,[SI]; CMP AL,0AH;輸出字串結(jié)束標志符 JZ STOP OUT DX,AL JMP WAIT STOP:HLT口02E0H的BIT2和BIT5同時為1,表示端口02E7H有一個字節(jié)型數(shù)據(jù)準備好可以用以輸入,當CPU從該端口讀入數(shù)據(jù)后,02E0端口的BIT2和BIT5就不再同時為1;只有當02E7H端口的數(shù)據(jù)再次準備好時,它們才會再次同時為1,據(jù)此編寫從02E7H端口輸入32個數(shù)據(jù)然后存入A1000H單元開始的區(qū)域。 MOV AX,0A000H MOV DS,AX MOV SI,1000H; 設置存儲區(qū)地址 MOV CL,20H; 輸入數(shù)據(jù)個數(shù)BEGIN:MOV DX,0E20H IN AL,DX TEST AL,00100100B; 測試狀態(tài)位BIT5、BIT2 JZ BEGIN; 不同時為1繼續(xù)測試 MOV DX,02E7H IN AL,DX; 輸入數(shù)據(jù) MOV [SI],AL; 存到指定區(qū)域 INC SI; 移動地址指針 LOOP BEGIN; 循環(huán) HLT3.17在內(nèi)存40000H開始的16K的單元中存放著一組數(shù)據(jù),將其順序搬移到起始地址為A0000H的區(qū)域。解:利用字符串操作指令MOVSB,16K即16*1024=3FFFH。 MOV AX,4000H MOV DS,AX MOV AX,A000H MOV ES,AX MOV SI,0 MOV DI,0 MOV CX,3FFFH CLD REP MOVSBHLT上題的根底上,將兩個區(qū)域的數(shù)據(jù)逐個進行比擬,假設有錯將BL置0,全對將BL置FFH。 MOV AX,4000H MOV DS,AX MOV AX,A000H MOV ES,AX MOV SI,0 MOV DI,0 MOV CX,03FFH CLDAAB: CMPSB JNZ STOP LOOP AABMOV BL,0FFH JMP EX1 STOP: MOV BL,0; EX1:NOP HLT3.19統(tǒng)計由40000H單元開始的16K個單元中所存字符‘A’的個數(shù),統(tǒng)計結(jié)果存放在DX存放器中。 MOV AX,4000H MOV DS,AX MOV SI,0; MOV CX,3FFFH; 數(shù)據(jù)個數(shù) MOV DX,0;統(tǒng)計結(jié)果存放器清零XORDX,DX CLDAAB: LODSB CMP AL,‘A’; 比擬 JZ AAC;字符為‘A’轉(zhuǎn)計數(shù) LOOP AAB; 循環(huán) JMP STOP; 處理完畢轉(zhuǎn)結(jié)束 AAC: INC DX; 統(tǒng)計結(jié)果加1 DEC CX; 循環(huán)次數(shù)減1 JCXNZ AAB; CX<>0繼續(xù) STOP: HLT3.20編寫對AL中的數(shù)據(jù)進行“偶校驗”的一個過程,并將校驗結(jié)果放入AL存放器。 PJY PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AL,DAT AND AL,AL JNP PJY1 MOV AL,00H; 表示為偶 JMP EXIT PJY1: MOV AL,F(xiàn)FH; 表示為奇 EXIT: POP DX POP CX POP BX POP AX RET PJY ENDP DAT DB?3.21 對80000H開始的256個單元的數(shù)據(jù)加上偶校驗。 ORG100h MOV AX,8000H MOV DS,AX MOV SI,0 MOV CX,100H CLD PAR0: LODSB;〔MOV AL,[SI];INC SI〕 TEST AL,AL JNP PAR1 LOOP PAR0 JMP STOP PAR1: OR AL,80H; MOV [SI-1],AL DEC CX JNZ PAR0 STOP: HLT某以8088為CPU的微型計算機內(nèi)存RAM區(qū)為00000H~3FFFFH,假設采用6264、62256、2164或21256各需要多片芯片?解答:8088內(nèi)存單元為8bit,所以,從00000H到3FFFFH,共需要214個byte,共214*8bit,也就是共占用16Kbyte空間。由于各種芯片的數(shù)據(jù)總線根數(shù)不同,所以在連接時要特別注意芯片的位數(shù);對于如下芯片:6264有8根數(shù)據(jù)線,13根地址線,故其容量為213*8bit,即8Kbyte,所以需要2片;62256有8根數(shù)據(jù)線,15根地址線,故其容量為215*8bit,即32Kbyte,所以僅需要1片;盡管題目要求只需要16K的空間,但在使用62256時不得不使用1片。2164有8根數(shù)據(jù)線,12根地址線,故其容量為212*8bit,即4Kbyte,所以需要4片;21256有1根數(shù)據(jù)線,10根地址線〔實際為20根,分兩組〕,但由于僅有一根數(shù)據(jù)線,要構(gòu)成八位的存儲器至少需要8片,但總?cè)萘繛?*256Bit,遠遠超過題目的要求。利用全地址譯碼將6264接在8088的系統(tǒng)總線上,其所占的地址范圍為BE000H~BFFFFH,試畫出連接圖。解答:6264有13根地址線,連接時接到系統(tǒng)總線的低13位,即A0~A12,其他7根地址線A19~A13的地址譯碼輸入應該為:1011111B,故而有如下的連接:試利用6264芯片,在8088系統(tǒng)總線上實現(xiàn)0000H~03FFFH的內(nèi)存區(qū)域,試畫出電路連接圖。解答:0000H~03FFFH的地址范圍為214=16K,,而6264芯片的容量為8*8K,所以需要連接2片,其中,第一片的地址為00000H~01FFFH,第二片的地址為02000H~03FFFH,這里用74LS138的Y0、Y1作為兩個芯片的片選。表達EPROM的編程過程,說明EEPROM的編程過程。EPROM編程通常采用兩種模式:標準編程和快速編程:標準編程是在VCC、VPP、CE、OE、地址信號、數(shù)據(jù)信號有效并穩(wěn)定后參加50毫秒的PGM編程負脈沖,可以在寫入一個數(shù)據(jù)后使OE變高而立即校驗,也可以在所有數(shù)據(jù)寫入后逐一校驗。標準編程有兩大缺陷:一是時間過長,比方2764全片編程約需7分鐘,時間過長;再是編程脈沖寬度稍大容易造成芯片因功耗過大而燒毀。快速編程將PGM的寬度減小到100微妙左右,顯然速度加快了500倍左右。能否使用快速編程取決于芯片的型號。EEPROM由于可以在線擦除信息,所以可以單字節(jié)編程或自動按頁編程。在單字節(jié)寫入時,CE為低,OE為高,在WE參加100納秒的負脈沖,寫入時間包括擦除原有內(nèi)容和寫入新內(nèi)容的時間,一般為10毫秒以內(nèi),可以通過查詢READY/BUSY的狀態(tài)判定。自動按頁編程用高位線決定頁地址,低位線決定頁容量,然后一次寫入一頁內(nèi)容,寫完后查詢READY/BUSY狀態(tài),此一過程耗時在300微秒左右,所以速度較快。4.5已有兩片6116,現(xiàn)欲將其接到8088系統(tǒng)中去,其地址范圍為40000H~40FFFH,試畫出電路連接圖;寫入某數(shù)據(jù)并讀出與之比擬,假設有錯,那么在DL中寫入01H,假設全對,在DL中寫入EEH,試編寫此檢測程序。解答:電路連接如圖示:檢測程序定義為一個過程,編程如下:CHKRAM PROCFARPUSH SI;PUSH DL;PUSH CX;PUSH AX; MOV CX,10000H; 待檢驗的單元個數(shù) MOV SI,4000H;存儲體段地址 MOV DS,SI; MOV SI,0000H; 存儲體首地址CHK: MOV AL,0FFH; MOV [SI],AL; 寫入檢驗數(shù)據(jù)FFH MOV AL,[SI]; 讀出 ADD AL,01H JNZ RAMERR MOVAL,0; MOV [SI],AL; 寫入另一格檢驗數(shù)據(jù) MOV AL,[SI]; 讀出 AND AL,AL JNZ RAMERR MOVDL,0EEH; 所有單元全對 JMP RAMCHKOUTRAMERR: MOV DL,01H; 發(fā)現(xiàn)錯誤單元RAMCHKOUT: POP AX; POP CX; POPDL; POPSI;RETENDPCHKRAM4.6利用全地址譯碼將EPROM27128接到首地址為A0000H的內(nèi)存區(qū),試畫出電路圖。解答:EPROM27128的容量為8*16K,所以有14根地址線,那么如果將其接到首地址為A0000H內(nèi)存區(qū),高6位地址線的排列應該為:101000B,所以有如下的連接:內(nèi)存地址從40000H到BBFFFH共有多少K?解答:從40000H到BBFFFH的地址空間應該為BBFFFH-40000H=7BFFFH每K為210,即3FFH,7BFFFH/3FFH=1F0H=496D所以,該地址空間的范圍應該為496KByte。試判斷8088系統(tǒng)中存儲器譯碼器74LS138的輸出Y0、Y4、Y6和Y7所決定的內(nèi)存地址范圍,電路連接見附圖。解答:根據(jù)示意圖,A19、A18、A17、A16的電平值為1X00B,由于采用的是局部譯碼〔A18未使用〕,所以每個地址譯碼輸出對應的兩個地址范圍。Y0對應A15、A14、A13均為0,所以其地址范圍應該為:當A18=0時,地址范圍為:1000000000000000~10000001111111111111B即80000H~81FFFH當A18=1時,地址范圍為:1100000000000000~11000001111111111111B即C0000H~C1FFFFHY4對應的A15、A14、A13為100,所以其地址范圍應該為:當A18=0時,地址范圍為:10001000000000000000B~10001001111111111111B即88000H~89FFFH當A18=1時,地址范圍為:11001000000000000000~11001001111111111111B即C8000H~C9FFFHY6對應的A15、A14、A13為110,所以其地址范圍為:當A18=0時,地址范圍為:10001100000000000000B~10001101111111111111B即8C000H~8DFFFH當A18=1時,地址范圍為:11001100000000000000B~11001101111111111111B即CC000H~CDFFFHY7對應的A15、A14、A14為111,所以其地址范圍為:當A18=0時,地址范圍為:10001110000000000000B~10001111111111111111B即8E000H~8FFFFH當A18=1時,地址范圍為:11001110000000000000B~11001111111111111111B即CE000H~CFFFFH。李伯成《微機原理》習題第五章本章作業(yè)參考書目:1.王永山等:微型計算機原理與應用西安電子科大出版社19983.洪志全等編《現(xiàn)代計算機接口技術》電子工業(yè)出版社2002年4月滿足那些條件8086CPU才能響應中斷源的中斷請求?參考答案:8088/8086的中斷成認需要滿足4個條件:〔1〕一條指令執(zhí)行之后---因為8088/8086CPU只在指令周期的最后一個時鐘周期檢測INTR信號;〔2〕中斷允許標志IF=1;〔3〕沒有發(fā)生NMI、HOLD和RESET;〔4〕指令STI、IREI指令執(zhí)行之后須再執(zhí)行一條其他指令,但一些指令組合〔如REP〕要視為一個指令總體。5-2說明8088/8086軟件中斷指令INTn的執(zhí)行過程。由指令INTn引起的中斷也稱為“異?!?,即軟件中斷或內(nèi)部中斷。這里,INT為指令操作碼,n是中斷類型號〔中斷向量碼〕;當該指令執(zhí)行時,CPU根據(jù)中斷向量碼的數(shù)值在中斷向量表〔IDT---InterruptDirectionTable〕找到相應的中斷效勞程序入口地址,在對CS、IP和FLAG進行入棧保護之后,進而轉(zhuǎn)向指定程序的運行。用三態(tài)門74LS244作為輸入接口,接口地址規(guī)定為04E5H,試畫出其與8088的總線連接圖。解:根據(jù)題意,當?shù)刂肪€上的電平為0000010011100101且IOR信號為低〔IOR低電平有效〕時,74LS244的門控信號E1、E2應該為低,據(jù)此畫出以下電路:利用具有三態(tài)輸出的鎖存器74LS374作為輸出接口,就接口地址為0E504H,試畫出連接圖。假設5-3題中的輸入接口的BIT3、BIT4、BIT7同時為1時,將DATA為首地址的10個內(nèi)存數(shù)據(jù)連續(xù)由輸出接口輸出。假設不滿足那么等待,試編寫程序。解:根據(jù)題意,當?shù)刂肪€上的電平為1110010100000100且IOW信號為低〔IOW低電平有效〕時,74LS374的時鐘端CP應該為低,而74LS374的OE始終為低,據(jù)此畫出以下電路:根據(jù)題5-3和題5-4電路,如果題5-3電路中的BIT3、BIT4和BIT7同時為1,那么將以DATA為首地址的10個數(shù)據(jù)連續(xù)由0E504H輸出口輸出,不滿足條件等待,對應的程序段如下: OUTWAIT: MOV DX,04E5H IN AL,DX TEST AL,98H; 10011000B JZ OUTWAIT; MOV SI,OFFSET DATA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專用電力廠排水管道年度銷售協(xié)議2024一
- 專賣店人員勞務合作協(xié)議版B版
- 二零二四全新企業(yè)培訓場地租賃合作協(xié)議3篇
- 智駕未來路演模板
- 運動防護教學
- 閱讀節(jié)啟動儀式
- 優(yōu)化福利提升滿意度
- 2025年度廠房租賃合同范本:高科技產(chǎn)業(yè)園區(qū)4篇
- 2025年高科技研發(fā)中心廠房土地轉(zhuǎn)讓與租約管理合同4篇
- 二零二四五人合伙設立藝術品交易平臺協(xié)議3篇
- 2025年工程合作協(xié)議書
- 2025年山東省東營市東營區(qū)融媒體中心招聘全媒體采編播專業(yè)技術人員10人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年宜賓人才限公司招聘高頻重點提升(共500題)附帶答案詳解
- KAT1-2023井下探放水技術規(guī)范
- 垃圾處理廠工程施工組織設計
- 駕駛證學法減分(學法免分)題庫及答案200題完整版
- 2024年四川省瀘州市中考英語試題含解析
- 2025屆河南省九師聯(lián)盟商開大聯(lián)考高一數(shù)學第一學期期末學業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 撫養(yǎng)權(quán)起訴狀(31篇)
- 煙花爆竹零售應急預案
- 新加坡SM1向性測試模擬試卷
評論
0/150
提交評論