微機原理課后習題參考答案_第1頁
微機原理課后習題參考答案_第2頁
微機原理課后習題參考答案_第3頁
微機原理課后習題參考答案_第4頁
微機原理課后習題參考答案_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章2、完成下列數(shù)制之間的轉換。(1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H3、組合型BCD碼和非組合型BCD碼有什么區(qū)別?寫出十進制數(shù)254的組合型BCD數(shù)和非組合型數(shù)。答:組合型BCD碼用高四位和低四位分別對應十進制數(shù)的個位和十位,其表示范圍是099;非組合型BCD碼用一個字節(jié)的低四位表示十進制數(shù),高四位則任意取值,表示范圍為09。 組合型:254=(001001010100)BCD非組合型:254=(00000010 00000101 00000100)BCD7、計算機為什么采用補碼形式存儲數(shù)據(jù)?當計算機的字長n=16

2、,補碼的數(shù)據(jù)表示范圍是多少?答: 在補碼運算過程中,符號位參加運算,簡化了加減法規(guī)則,且能使減法運算轉化為加法運算,可以簡化機器的運算器電路。+32767 -32768。9、設計算機字長n=8,求下列各式的X+Y補和X-Y補 ,并驗證計算結果是否正確。 (1)X=18,Y=89 X+Y補=00010010+01011001=01101011B=107D 正確 X-Y補=10111001B=00010010+10100111=(-71D)補 正確(2)X=-23,Y=-11 X+Y補=11101001+11110101=11011110B=(-34D)補 正確 X-Y補=11101001+000

3、01011=11110100B=(-12D)補 正確(3)X=18,Y=-15 X+Y補=00010010+11110001=00000011B=(3D)補 正確 X-Y補=00010010+00001111=00100001B=(33D)補 正確(4)X=-18,Y=120 X+Y補=11101110+01111000=01100110B=(102D)補 正確 X-Y補=11101110+10001000=01110110B=(123D)補 由于X-Y=-138 超出了機器數(shù)范圍,因此出錯了。13、微型計算機的主要性能指標有哪些?答:CPU字長、存儲器容量、運算速度、CPU內核和IO工作電壓

4、、制造工藝、擴展能力、軟件配置。第二章2、8086標志寄存器包含哪些標志位?試說明各標志位的作用。答:進位標志:CF;奇偶校驗:PF;輔助進位:AF;零標志:ZF;符號標志:SF;溢出標志:OF。5、邏輯地址與物理地址有什么區(qū)別?如何將邏輯地址轉換為物理地址?答:物理地址是訪問存儲器的實際地址,一個存儲單元對應唯一的一個物理地址。邏輯地址是對應邏輯段內的一種地址表示形式,它由段基址和段內偏移地址兩部分組成,通常表示為段基址:偏移地址。 物理地址=段基址*10H+偏移地址。6、寫出下列邏輯地址的段基址、偏移地址和物理地址。(1)2314H:0035H (2)1FD0H:000AH答:(1)段基址

5、:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。8、設(CS)=2025H,(IP)=0100H,則當前將要執(zhí)行指令的物理地址是多少?答:物理地址=(CS)*10H+(IP)=20350H9、設一個16字的數(shù)據(jù)區(qū),它的起始地址為70A0H:DDF6H(段基址:偏移地址),求這個數(shù)據(jù)區(qū)的首字單元和末字單元的物理地址。答:首字:70A0*10H+DDF6H=7E7F6H末字單元地址=起始地址+(字數(shù)-1)*2=7E7F6H+(16-1)*2=7E814H。13、80486CPU內部由哪些主要部件構成?有哪幾種工作

6、模式?答:(1)總線接口單元、指令預取單元、指令譯碼單元、控制單元,整數(shù)運算單元,浮點運算單元,段預存儲器管理單元,高速緩沖單元。(2)實地址模式、保護虛擬地址模擬、虛擬8086模式14、80486CPU存儲器最大可尋址空間是多少?虛擬存儲空間是多少?兩者有何區(qū)別?答:最大可尋址空間是4GB,虛擬存儲空間是64TB。前者為實地址,虛擬存儲空間為外部存儲管理器。第三章4、指出下列指令中的源操作數(shù)和目標操作數(shù)的尋址方式。(1)MOV BX,1000H 源操作數(shù):立即尋址 ;目標操作數(shù):寄存器尋址(2)MOV AL,BX 源操作數(shù):寄存器間接尋址; 目標操作數(shù):寄存器尋址(5)MOV DI+1000

7、H,BX 源操作數(shù):寄存器尋址;目標操作數(shù):寄存器相對尋址(6)MOV 1000H,CX 源操作數(shù):寄存器尋址 ;目標操作數(shù):直接尋址5、設(DS)=2000H、(ES)=2100H、(SS)=1500H、(BX)=0100H、(BP)=0040、(SI)=00A0H、(DI)=0120H,在指令MOV AX,src中,求用下列表示源操作數(shù)src的有效地址EA和物理地址PA各是多少?(1)100HBX EA=(100H+0100H)=0200H ; PA=2000*10H+0200H=20200H(2)ES:BX+DI EA=0100H+0120H=0220H ;PA=2100*10H+022

8、0H=21220H(3)BP EA=0040H ; PA=1500*10H+0040H=15040h(4)ES:BX+10H EA=0100H+0010H=0110H ;PA=21000H+0110H=21110H6、指出下列指令中的錯誤,并改正。(1)MOV BL,30A0H 操作數(shù)不匹配 改:MOV BX,30A0H(2)MOV 0010H,AL 立即數(shù)不可以作為目標操作數(shù) 改:MOV AX,0010H(3)XCHG AL,BX 操作數(shù)類型不匹配 改:XCHG AX,BX(4)MOV AX,3456H 立即數(shù)送入存儲器需要說明 改:MOV WORDPTR AX,3456H(5)PUSH A

9、L 堆棧以字為操作單元 改:PUSH AX(6)POP CS POP不可以用CS為目標操作數(shù) 改:POP AX(7)MOV DS,1000H 立即數(shù)不能直接送入段寄存器 改:MOV AX,1000H MOV DS,AX(8)MOV BX,1000H 存儲器不可以相互傳送 改:MOV AX,1000H MOV BX,AX(9)LDS (BX),1000H LDS使用時期目標為16位通用寄存器 改:LDS BX,1000H(10)LEA BX,CX LEA源操作數(shù)為存儲器 改:LEA BX,CX7、已知(AX)=4A0BH,1020H單元中的內容為260FH,寫出下列每條指令單獨執(zhí)行后的結果。(1

10、)MOV AX,1020H ;(AX)=1020H(2)XCHG AX, 1020H ;(AX)=260FH(3)MOV AX,1020H ;(AX)=260FH(4)LEA AX,1020H ;(AX)=1020H10、設一個堆棧段共有100H個字節(jié)單元,堆棧的起始地址為1250H:0000H,若在堆棧中存有5個字數(shù)據(jù),問:(1)棧頂?shù)奈锢淼刂范嗌???)棧底的物理地址是多少?(3)當前SS和SP的內容是多少?(4)若彈出兩個數(shù)據(jù),SP的內容是多少?答: 棧底:12600H 棧頂:12600-A=125F6H SS:1250H:0000H SP: 1250H:00F6H (4)彈出兩個數(shù)據(jù)后

11、,SP內容,00F6+4=00FAH 則,SP:1250H:00FAH 11、編程完成下列程序段,根據(jù)運算結果置標志位OF、SF、ZF、AF、PF、CF,并分析程序執(zhí)行結果是否正確?為什么?(n=8)(2)122-64 (4)-68+(-72)答:(2)程序:MOV AL,120 MOV BL,64 SUB AL,BL 計算結果:00111010 OF=0 SF=0 ZF=0 AF=0 PF=1 CF=0(4)程序: MOV AL,-68 MOV BL,-72 ADD AL,BL計算結果:01110100 有溢出 OF=1 SF=0 ZF=0 AF=1 PF=1 CF=117、判斷下列指令格式

12、的對與錯,并解釋錯在哪里。(1)ADD 25H,AX 錯;目標操作數(shù)不可以為立即數(shù)(2)INC BX,1 錯;INC只有目標操作數(shù)(3)MUL AL,BL 錯;乘法指令目標操作數(shù)是隱含的(4)SUBB AL,3 錯;減法指令是SUB(5)DAA AL 錯;DAA后無操作數(shù)(6)NEG CX,0 錯;NEG后只有目標操作數(shù)(7)CMP BX,1000HBX+SI 對22、寫出下列程序段執(zhí)行后的結果。MOV CL,4MOV AL,87MOV DL,ALAND AL,0FHOR AL,30HSHR DL,CLOR DL,30H(AL)= 37H ,(DL)=35H27、試用CMP指令和條件轉移指令實

13、現(xiàn)下列判斷(1)AX和CX中的內容為無符號數(shù):若(AX)>(CX)則轉至BIGGER符號執(zhí)行;若(AX)<(CX)則轉至LESS符號執(zhí)行。(2)BX和DX中的內容為無符號數(shù):若(BX)>(DX)則轉至BIGGER符號執(zhí)行;若(BX)<(DX)則轉至LESS符號執(zhí)行。答:(1)CMP AX,CX JA BIGGER JB LESS(2)CMP BX,DX JG BIGGER JL LESS第四章8、按下列的要求寫出段定義格式。(1)數(shù)據(jù)段的位置從0E000H開始,在該段中定義的5個字節(jié)數(shù)據(jù),3個字數(shù)據(jù),2雙字數(shù)據(jù),要求字節(jié)數(shù)據(jù)從偏移地址0000H開始,字數(shù)據(jù)從偏移地址00

14、10H開始,雙字數(shù)據(jù)從偏移地址0020H開始。(2)堆棧段定義100個字節(jié)(3)代碼段的開始位置給有關段寄存器賦值,在程序結束時能夠返回DOS。答:DATA SEGMENTORG 0000HD1 DB 00H,01H,02H,03H,04HORG 0010H D2 DW 0000H,0010H,0020HORG 0020HD3 DD 3 DUP()DATA ENDSSTACK SEGMENT STACk DB 100 DUPSTACK ENDSCODE SEGMENT CODEASSUME CS:CODE,DS:DATASTART :CODE ENDS ENDS START10、 定義數(shù)據(jù)段,

15、畫出數(shù)據(jù)存儲示意圖,并說明該數(shù)據(jù)段共有多少個字節(jié)單元。DATA SEGMENT D1 DB 12,0,A,-6 D2 DW 1234H,65H D3 DB 3 DUP(3,0,5)DATA ENDS共有17個存儲單元如下圖:0CH00H41HFAH34H12H65H00H03H00H05H03H00H05H03H00H05H 12、定義數(shù)據(jù)段如下,畫出數(shù)據(jù)存儲示意圖,并說明變量X1和X2所對應的邏輯地址各是多少?DATA SEGMENT AT 10A0H ORG 0010HX1 DB 22,33, ORG $ + 0020HX2 DB AB12CD . . .16H21H41H42H31H32

16、H43H44HDATA ENDS10A00H 10A10H 10A32H X1邏輯地址:10A0H:0010H X2的邏輯地址:10A0H:0032H13、定義數(shù)據(jù)段如下,寫出執(zhí)行以下指令后的結果。DATA SEGMENT DA1 DW 2437H ,14A2H DA2 DB ABCD DA3 DD 10 DUP (?)DATA ENDS(1)MOV BX,DA1 ;(BX)=2437H(2)MOV SI,OFFSET DA1 ;(SI)=0000H(3)MOV AL, TYPE DA1 ;(AL)=2(4)MOV AL,DA2+02H ;(AL)=C=43H(5)MOV AL,LENGTH

17、DA3;(AL)=10(6)MOV AL,SIZE DA3;(AL)=1014、程序中數(shù)據(jù)段定義的數(shù)據(jù)如下:DATA SEGMENTNAMES DBGOOD MORNING! DW 2050H,78H,3080HDATA ENDS請指出下列指令序列執(zhí)行后累加器中的結果是多少?(1) MOV BX,OFFSET NAMESMOV AL,BX+03H(2) MOV BX,12MOV SI,3MOV AX,NAMESBX+SI(3) MOV BX,12MOV SI,3LEA AX,NAMESBX+SI答:(1)BX+03H對應的是 “D” 因此結果是 44H(2)78H(3)LEA 將源操作數(shù)的邏輯

18、地址送到目標操作數(shù),因此 0FH18、編寫程序,將MBUF為起始單元的5個數(shù)按相反次序傳送到NBUF開始的存儲單元中。答:DATA SEGMENTMBUF DB 1,2,3,4,5COUNT EQU $-MBUFNBUF DB 5 DUP(?)DATA ENDSSTACK SEGMENT PARA STACKDB 20H DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACK,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV BX,OFFSET MBUF MOV CX,5LOP1: PUSH BX INC BX D

19、EC CX JNZ LOP1 MOV BX,OFFSET NBUF MOV CX,5LOP2:POP BX INC BX DEC CX JNZ LOP2 MOV AX,4CH INT 21HCODE ENDS END START20、編寫程序,將內存中某數(shù)據(jù)塊中的正數(shù)和負數(shù)分開,并分別將這些正數(shù)和負數(shù)送同一數(shù)據(jù)段的兩個緩沖區(qū)中,并在屏幕上顯示正數(shù)和負數(shù)的個數(shù)(數(shù)據(jù)自定)。答:DATA SEGMENT SHU DB 2,4,-9,-10,5,-2,-2,4,5,7;源數(shù)據(jù)塊,共有十個數(shù),六個正數(shù),四個負數(shù) COUNT EQU $-SHU ZS DB 10 DUP(?);給正數(shù)預留10個字節(jié)的空間

20、 ORG 0020H ;調整數(shù)據(jù)位置 FS DB 10 DUP(?) XZ DB 'NUMBER OF XZ:','$' ;顯示在屏幕上的字符串 XF DB 'NUMBER OF XF:','$'DATA ENDSSTACK SEGMENT STACK DW 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX ;數(shù)據(jù)段裝入 MOV BX,OFFSET SHU MOV DI,OFFSET ZS MOV

21、 SI,OFFSET FS MOV CX,COUNTLOP1: MOV AL,BX CMP AL,0 JG SZ ;大于0跳轉到SZ中 MOV SI,AL INC SI ;負數(shù)送到緩沖區(qū)FS中 JMP C1SZ: MOV DI,AL ;正數(shù)送到緩沖區(qū)ZS中 INC DIC1: INC BX DEC CX JZ SHUCHU ;ZF標志位為1,cx為0 ,跳到SHUCHU執(zhí)行 JMP LOP1 ;cx不為0,循環(huán) SHUCHU: MOV DX,OFFSET XZ MOV AH,09H INT 21H ;輸出字符串 SUB DI,OFFSET ZS ;正數(shù)的個數(shù) ADD DI,30H MOV DX

22、,DI MOV AH,02H INT 21H ;轉為ASCII碼輸出 MOV DX,OFFSET XF MOV AH,09H INT 21H SUB SI,OFFSET FS ;負數(shù)的個數(shù) ADD SI,30H MOV DX,SI MOV AH,02H INT 21H ;轉為ASCII碼輸出 MOV AH,4CH INT 21H ;返回DOSCODE ENDS END START21、編寫程序,從內存BLOCK開始,存放著10個字節(jié)的有符號數(shù),從這些數(shù)種找出絕對值最大的數(shù),存在MAX中。答:DATA SEGMENT BLOCK DB 2,8,9,18,-14,-12,5,12;源數(shù)據(jù) 共有8個

23、數(shù),絕對值最大數(shù)為18 COUNT EQU $-BLOCK ;數(shù)據(jù)長度 ORG 0020H MAX DB ? ;最大數(shù)據(jù)DATA ENDSSTACK SEGMENT STACK DB 100 DUP (?)STACK ENDSCODE SEGMENT ASSUME CS: CODE, DS: DATA,SS:STACKSTART: MOV AX, DATA MOV DS, AX ;裝入數(shù)據(jù)段基址 MOV AL, 0H ;初始AX LEA BX, BLOCK MOV CX, COUNTLOP1: MOV DL, BX CALL CP ;調用比較子程序 INC BX ;遞推 DEC CX JNZ

24、LOP1 ;循環(huán) LEA BX, MAX ;取最大值存儲區(qū)地址 MOV BX, AL ;移入最大值 MOV AH, 4CH INT 21H ;返回DOS CP PROC ;比較AL和DL,將較大的數(shù)存入AL.入口參數(shù): AL, DL出口參數(shù): AL CMP DL, 0 JG POSITIVE ;DL為正數(shù) NEG DL ;求相反數(shù) POSITIVE: CMP AL, DL ;比較AL和BX中的大小 JG EXIT ;AL大于DL則跳轉 MOV AL, DL ;將DL移入ALEXIT: RET ;退出CP ENDPCODE ENDSEND START26、DATA SEGMENT D1 DB 3

25、,4,2,7,8,12,10 COUNT EQU $-D1 D2 DB 10 DUP(?)DATA ENDS STACK1 SEGMENT STACK DB 100 DUP(?) STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK1 START: MOV AX,DATA MOV DS,AX ;數(shù)據(jù)段裝入 MOV CX,COUNT DEC CX ;外層循環(huán)CX-1次 LOP1: MOV SI,CX LEA BX,D1 LOP2: MOV AL,BX CMP AL,BX+1 ;比較D1的第一個數(shù)與第二個數(shù)的大小 JAE LOP3 XCHG

26、 AL,BX+1 ;交換兩個數(shù) MOV BX,AL LOP3: INC BX DEC CX JNZ LOP2 MOV CX,SI DEC CX JNZ LOP1 LIST: MOV AH,4CH INT 21H ;返回DOSCODE ENDS END START第五章5-7 若用1024*1b的RAM芯片組成16K*8b的存儲器,,需要多少芯片?在地址線中有多少位參與片內尋址?多少位用做芯片組選擇信號? 解: 先進行位擴展,一組芯片需要8片 再進行字擴展,需要16組芯片. 所以共需要16*8=128片 1024=1K,需要10位參與片內尋址 16=24,需要4位做選擇信號.5-8 試用4K*8

27、b的EPROM2732和8K*8b的SRAM6264,以及74LS138譯碼器,構成一個8KB的ROM,32KB的RAM存儲系統(tǒng),要求設計存儲器擴展電路,并指出每片存儲芯片的地址范圍.解:5-9 用EPROM2764(8K*8b)和SRAM6264(8k*8b)各一片組成存儲器,其地址范圍為FC000FFFFFH,試畫出存儲器與CPU的連接圖和片選信號譯碼電路(CPU地址線20位,數(shù)據(jù)線8位)。1111 1100 0000 0000 00001111 1101 1111 1111 11111111 1110 0000 0000 00001111 1111 1111 1111 11115-10

28、現(xiàn)有存儲芯片:2K*1b的ROM和4K*1bde RAM,若用它們組成容量為16KB的存儲器,前4KB為ROM,后12KB為RAM,問各種存儲芯片分別用多少片?解:4KB=4K*8b 需要2*8=16片12KB=12K*8b 需要3*8=24片第六章6-3 CPU響應中斷時的處理過程是什么?在各個處理環(huán)節(jié)主要完成哪些操作?解:中斷處理過程通常由中斷請求、中斷響應、中斷處理和中斷返回四個環(huán)節(jié)完成。(1)中斷請求:中斷源需要進行中斷服務時,由硬件產生一個中斷信號INTR發(fā)給CPU且保持到CPU響應。(2)中斷響應:CPU在當前指令執(zhí)行結束后采樣查詢INTR,若中斷請求信號有效且允許響應INTR中斷

29、(IF=1),則向請求設備送回低電平有效的中斷響應信號,自此系統(tǒng)自動進入中斷響應周期,并由硬件自動完成內容入棧,清除TF和IF標志、斷點(中斷返回之后將要執(zhí)行的指令地址)入棧,取中斷服務程序的入口地址等一系列操作,繼而轉去執(zhí)行中斷服務程序。(3)中斷處理:執(zhí)行中斷的主體部分。不同的中斷請求源,其中斷處理的內容是不同的。需要根據(jù)中斷請求源所要完成的功能,編寫相應的中斷服務程序存入內存。等待中斷響應后調用執(zhí)行。(4)中斷返回:又中斷服務程序中的中斷返回指令IRET完成。執(zhí)行該指令時,將壓入對戰(zhàn)的斷點和標志位彈出,使CPU轉向被中斷的現(xiàn)行程序中繼續(xù)執(zhí)行。6-10 中斷向量表用來存放什么內容?它占用多

30、大的存儲空間?存放在內存的哪個區(qū)域?可以用什么方法寫入或者讀取中斷向量表的內容?答:中斷向量表用來存放中斷服務程序的偏移地址和段基址。占用1KB內存。最低端的1KB RAM區(qū),地址范圍是000H3FFH。寫入方法:1、 用傳送指令直接裝入。 2、 DOS功能調用: INT 21H (AH)=25H (AL)=中斷類型號 (DS:DX)=中斷服務程序的入口地址讀出方法:1、 用傳送指令直接讀。 2、 DOS功能調用:INT 21H (AH)=35H (AL)=中斷類型號 出口參數(shù): (ES:BX)=中斷服務程序的入口地址6-19 某系統(tǒng)使用兩片8259A管理中斷,從片的INT連接到主片的IR2請

31、求輸入端。設主片工作于邊沿觸發(fā)、特殊完全嵌套、非自動結束和非緩沖方式,中斷類型號為70H,端口地址為80H和81H;從片工作與邊沿觸發(fā)、完全嵌套、非自動結束和非緩沖方式,中斷類型號為40H,端口地址為20H和21H。要求:(1)畫出主、從片級聯(lián)圖(2)編寫主、從片初始化程序解:電路圖參見教材P179圖6-21,主片由A19-A1=0000 0000 0000 1000 000和M/給出低電平,從片由A19-A1=0000 0000 0000 0010 000和M/給出低電平。主片8259AMOV AL,11H(00010001B)OUT 80H, AL ;定義ICW1MOV AL, 70H(0

32、1110000B)OUT 81H, AL ;定義ICW2MOV AL, 04H(00000100B)OUT 81H, AL ;定義ICW3MOV AL, 11H(00010001B)OUT 81H, AL ;定義ICW4MOV AL, FBH(11111011B)OUT 81H, AL ;定義OCW1(開放從片IR2的請求)IN AL, 81HAND AL, 11111011OUT 81H, AL從片8259AMOV AL,11H(00010001B)OUT 20H, AL ;定義ICW1MOV AL, 40H(01000000B)OUT 21H, AL ;定義ICW2MOV AL, 02H(

33、00000010B)OUT 21H, AL ;定義ICW3MOV AL, 01H(00000001B)OUT 21H, AL ;定義ICW46-20 某系統(tǒng)由8259A的IR2引入外設中斷請求(跳變信號有效),要求當CPU響應IR2請求時,輸出顯示字符串“*”,并中斷10次退出,試編寫主程序和中斷服務程序。解:設8259A的I/O地址為20H,21H,中斷類型號0AH,從IR2引入DATA SEGMENT MESS DB '*',OAH,ODH,'$'INTA00 EQU 0020H INTA01 EQU 0021HDATA ENDSSTACK SEGMENT

34、STACK DB 100H DUP (?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK MAIN:MOV AX,DATA MOV DS,AX MOV DX,INTA00 ;8259A初始化 MOV AL,13H ;寫ICW1 OUT DX,AL MOV DX,INTA01 MOV AL,08H ;寫ICW2 OUT DX,AL MOV AL,01H ;寫ICW4 OUT DX,AL PUSH DS MOV AX,SEG INT-P ;設置中斷矢量 MOV DS,AX MOV DX,OFFSET INT-P MOV AL,0AH M

35、OV AH,25H INT 21H POP DS MOV AL,0FBH ;寫中斷屏蔽字OCW1 OUT DX,AL MOV DX,INTA00 MOV AL,20H ;寫中斷結束方式OCW2 OUT DX,AL MOV BX,10WAIT1: STI ;開中斷 JMP WAIT1 ;等待中斷INT-P:MOV AX,DATA ;中斷服務程序入口 MOV DS,AX MOV DX,OFFSET MESS ;輸出指定字符串 MOV AH,09H INT 21H MOV DX,INTA00 ;寫OCW2,送中斷結束命令EOI MOV AL,20H OUT DX,AL DEC BX ;控制10次循環(huán)

36、 JNZ NEXT MOV DX,INTA01 ;讀屏蔽寄存器IMR IN AL,DX OR AL,04H ;屏蔽IR2請求 OUT DX,AL STI ;開中斷 MOV AX,4C00H ;返回操作系統(tǒng) INT 21HNEXT: IRET ;中斷返回CODE: ENDS END MAIN第七章3、CPU與IO接口設備數(shù)據(jù)傳送的控制方式有哪幾種?它們各有何特點?答:(1)查詢方式:不需要額外的硬件支持,但由于CPU與外設工作的不同步,致使CPU利用率低,適用于工作不太繁忙的系統(tǒng)中。(2)中斷方式:CPU與外部設備并行工作(3)DMA方式:數(shù)據(jù)傳送過程中,由DMA控制器參與工作,不需要CPU的干

37、預,對批量數(shù)據(jù)傳送效率高。6、設8255A的A口工作于方式1輸出,B口工作于方式0輸入,試編寫初始化程序(設端口地址為40H43H)答:MOV DX ,43HMOV AL ,10100010OUT DX,AL7.使用8255A作為開關和LED指示燈電路的接口.要求8255A的A口連接8個開關,B口連接8個LED指示燈,將A口的開關狀態(tài)讀入,然后送至B口控制指示燈亮、滅。試畫出接口電路設計圖,并編寫程序實現(xiàn)。程序實現(xiàn):設8255的地址:0FFE0H0FFE3HDATA SEGMENTDB 100H DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE ,DS DA

38、TASTART:MOV AX,DATA MOV DS,AX MOV AL,10010000 ; A口方式0輸入B口方式0輸出 MOV DX,0FFE3H OUT DX,AL MOVDX, 0FFE0H IN AL,DX;讀取A口開關狀態(tài) INC DX NOTAL OUTDX,AL ;輸出B口驅動LED,開關閉合則LED亮RETCODE ENDS END START10、利用8254的通道1,產生500Hz的方波信號。設輸入時鐘頻率CKL1=2.5MHz,端口地址為FFA0HFFA3H,試編寫初始化程序。答:端口地址:FFA0H-FFA3H計數(shù)器1的控制字:01110110B=76H 計數(shù)常數(shù)=

39、2.5M/500=5000初始化程序:MOV AL,76HMOV DX,0FFA3HOUTDX,ALMOV AX,5000MOV DX,0FFA1HOUTDX,AL;寫入計數(shù)器1的低字節(jié) MOV AL,AHOUTDX,AL;寫入計數(shù)器1的高字節(jié)11、某系統(tǒng)使用8254的通道0作為計數(shù)器,記滿1000,向CPU發(fā)中斷請求,試編寫初始化程序(端口地址自設)。答:設8254端口地址:40H-43H計數(shù)器0的控制字:00110000B=30H 計數(shù)常數(shù)=1000初始化程序:MOV AL,30HOUT43H,ALMOV AX,1000OUT40H,AL;寫入計數(shù)器0的低字節(jié) MOV AL,AHOUT40

40、H,AL;寫入計數(shù)器0的高字節(jié)12、采用8254的通道0產生周期為10ms的方波信號,設輸入時鐘頻率為100kHz,8254的端口地址為38H-3BH,試編寫初始化程序。答:8254端口地址:38H-3BH計數(shù)器0的控制字:00110110B=36H 計數(shù)常數(shù)=100K*10ms=1000初始化程序:MOV AL,36HOUT3BH,ALMOV AX,1000OUT38H,AL;寫入計數(shù)器0的低字節(jié) MOV AL,AHOUT38H,AL;寫入計數(shù)器0的高字節(jié)15、什么是波特率?假設異步傳輸?shù)囊粠畔⒂?為起始位,7位數(shù)據(jù)位、1為校驗位和1位停止位構成,傳送的波特率為9600,則每秒鐘能傳輸字符

41、的個數(shù)是多少?答:波特率是指數(shù)據(jù)傳送的速率,含義是指每秒鐘傳二進制數(shù)的位數(shù),單位用bps或波特表示每秒可傳送的字符個數(shù)。 9600/(1+7+1+1)=96016、一個異步串行發(fā)送器,發(fā)送的字符格式為:1位起始位、7位數(shù)據(jù)位、1位奇偶校驗位和2位停止位,若每秒傳送100個字符,則其波特率為多少?答:100*(1+7+1+2)=1100bps19、設某系統(tǒng)使用一片8250進行串行通信,要求波特率為2400,8位數(shù)據(jù)位,2位停止位,偶校驗,對接收緩沖器滿開中斷,試編寫初始化程序。答:設8250端口地址:3F8H-3FEH XTAL1=1.8432MHz,BAUD=2400 除數(shù)寄存器:1.8432M/(2400*16)=48=30H 3F8H線路控制寄存器:10011111B=1FH

溫馨提示

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

評論

0/150

提交評論