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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、H,BX 源操作數(shù):寄存器尋址;目標(biāo)操作數(shù):寄存器相對尋址(6)MOV 1000H,CX 源操作數(shù):寄存器尋址 ;目標(biāo)操作數(shù):直接尋址5、設(shè)(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、指出下列指令中的錯(cuò)誤,并改正。(1)MOV BL,30A0H 操作數(shù)不匹配 改:MOV BX,30A0H(2)MOV 0010H,AL 立即數(shù)不可以作為目標(biāo)操作數(shù) 改:MOV AX,0010H(3)XCHG AL,BX 操作數(shù)類型不匹配 改:XCHG AX,BX(4)MOV AX,3456H 立即數(shù)送入存儲(chǔ)器需要說明 改:MOV WORDPTR AX,3456H(5)PUSH A

9、L 堆棧以字為操作單元 改:PUSH AX(6)POP CS POP不可以用CS為目標(biāo)操作數(shù) 改:POP AX(7)MOV DS,1000H 立即數(shù)不能直接送入段寄存器 改:MOV AX,1000H MOV DS,AX(8)MOV BX,1000H 存儲(chǔ)器不可以相互傳送 改:MOV AX,1000H MOV BX,AX(9)LDS (BX),1000H LDS使用時(shí)期目標(biāo)為16位通用寄存器 改:LDS BX,1000H(10)LEA BX,CX LEA源操作數(shù)為存儲(chǔ)器 改:LEA BX,CX7、已知(AX)=4A0BH,1020H單元中的內(nèi)容為260FH,寫出下列每條指令單獨(dú)執(zhí)行后的結(jié)果。(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、設(shè)一個(gè)堆棧段共有100H個(gè)字節(jié)單元,堆棧的起始地址為1250H:0000H,若在堆棧中存有5個(gè)字?jǐn)?shù)據(jù),問:(1)棧頂?shù)奈锢淼刂范嗌伲浚?)棧底的物理地址是多少?(3)當(dāng)前SS和SP的內(nèi)容是多少?(4)若彈出兩個(gè)數(shù)據(jù),SP的內(nèi)容是多少?答: 棧底:12600H 棧頂:12600-A=125F6H SS:1250H:0000H SP: 1250H:00F6H (4)彈出兩個(gè)數(shù)據(jù)后

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

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

13、現(xiàn)下列判斷(1)AX和CX中的內(nèi)容為無符號數(shù):若(AX)(CX)則轉(zhuǎn)至BIGGER符號執(zhí)行;若(AX)(DX)則轉(zhuǎn)至BIGGER符號執(zhí)行;若(BX)(DX)則轉(zhuǎn)至LESS符號執(zhí)行。答:(1)CMP AX,CX JA BIGGER JB LESS(2)CMP BX,DX JG BIGGER JL LESS第四章8、按下列的要求寫出段定義格式。(1)數(shù)據(jù)段的位置從0E000H開始,在該段中定義的5個(gè)字節(jié)數(shù)據(jù),3個(gè)字?jǐn)?shù)據(jù),2雙字?jǐn)?shù)據(jù),要求字節(jié)數(shù)據(jù)從偏移地址0000H開始,字?jǐn)?shù)據(jù)從偏移地址0010H開始,雙字?jǐn)?shù)據(jù)從偏移地址0020H開始。(2)堆棧段定義100個(gè)字節(jié)(3)代碼段的開始位置給有關(guān)段寄存器

14、賦值,在程序結(jié)束時(shí)能夠返回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ù)段,畫出數(shù)據(jù)存儲(chǔ)示意圖,并說明該數(shù)據(jù)段共有多少個(gè)字節(jié)單元。DATA SEGMENT D1 DB 12,0,A,-6

15、 D2 DW 1234H,65H D3 DB 3 DUP(3,0,5)DATA ENDS共有17個(gè)存儲(chǔ)單元如下圖:0CH00H41HFAH34H12H65H00H03H00H05H03H00H05H03H00H05H 12、定義數(shù)據(jù)段如下,畫出數(shù)據(jù)存儲(chǔ)示意圖,并說明變量X1和X2所對應(yīng)的邏輯地址各是多少?DATA SEGMENT AT 10A0H ORG 0010HX1 DB 22,33, ORG $ + 0020HX2 DB AB12CD . . .16H21H41H42H31H32H43H44HDATA ENDS10A00H 10A10H 10A32H X1邏輯地址:10A0H:0010H

16、 X2的邏輯地址:10A0H:0032H13、定義數(shù)據(jù)段如下,寫出執(zhí)行以下指令后的結(jié)果。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 DA3;(AL)=10(6)MOV AL,SIZE DA3;(AL)=1014、程序中數(shù)據(jù)段定義的數(shù)據(jù)如下:D

17、ATA SEGMENTNAMES DBGOOD MORNING! DW 2050H,78H,3080HDATA ENDS請指出下列指令序列執(zhí)行后累加器中的結(jié)果是多少?(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對應(yīng)的是 “D” 因此結(jié)果是 44H(2)78H(3)LEA 將源操作數(shù)的邏輯地址送到目標(biāo)操作數(shù),因此 0FH18、編寫程序,將MBUF為起始單元的5個(gè)數(shù)按相反次序傳送到NBUF開始的存儲(chǔ)

18、單元中。答: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 DEC CX JNZ LOP1 MOV BX,OFFSET NBUF MOV CX,5LOP2:POP BX I

19、NC BX DEC CX JNZ LOP2 MOV AX,4CH INT 21HCODE ENDS END START20、編寫程序,將內(nèi)存中某數(shù)據(jù)塊中的正數(shù)和負(fù)數(shù)分開,并分別將這些正數(shù)和負(fù)數(shù)送同一數(shù)據(jù)段的兩個(gè)緩沖區(qū)中,并在屏幕上顯示正數(shù)和負(fù)數(shù)的個(gè)數(shù)(數(shù)據(jù)自定)。答:DATA SEGMENT SHU DB 2,4,-9,-10,5,-2,-2,4,5,7;源數(shù)據(jù)塊,共有十個(gè)數(shù),六個(gè)正數(shù),四個(gè)負(fù)數(shù) COUNT EQU $-SHU ZS DB 10 DUP(?);給正數(shù)預(yù)留10個(gè)字節(jié)的空間 ORG 0020H ;調(diào)整數(shù)據(jù)位置 FS DB 10 DUP(?) XZ DB NUMBER OF XZ:,

20、$ ;顯示在屏幕上的字符串 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 SI,OFFSET FS MOV CX,COUNTLOP1: MOV AL,BX CMP AL,0 JG SZ ;大于0跳轉(zhuǎn)到SZ中 MOV SI,AL INC SI ;負(fù)數(shù)送到緩沖區(qū)FS

21、中 JMP C1SZ: MOV DI,AL ;正數(shù)送到緩沖區(qū)ZS中 INC DIC1: INC BX DEC CX JZ SHUCHU ;ZF標(biāo)志位為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ù)的個(gè)數(shù) ADD DI,30H MOV DX,DI MOV AH,02H INT 21H ;轉(zhuǎn)為ASCII碼輸出 MOV DX,OFFSET XF MOV AH,09H INT 21H SUB SI,OFFSET FS ;負(fù)數(shù)的個(gè)數(shù)

22、ADD SI,30H MOV DX,SI MOV AH,02H INT 21H ;轉(zhuǎn)為ASCII碼輸出 MOV AH,4CH INT 21H ;返回DOSCODE ENDS END START21、編寫程序,從內(nèi)存BLOCK開始,存放著10個(gè)字節(jié)的有符號數(shù),從這些數(shù)種找出絕對值最大的數(shù),存在MAX中。答:DATA SEGMENT BLOCK DB 2,8,9,18,-14,-12,5,12;源數(shù)據(jù) 共有8個(gè)數(shù),絕對值最大數(shù)為18 COUNT EQU $-BLOCK ;數(shù)據(jù)長度 ORG 0020H MAX DB ? ;最大數(shù)據(jù)DATA ENDSSTACK SEGMENT STACK DB 100

23、 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 ;調(diào)用比較子程序 INC BX ;遞推 DEC CX JNZ LOP1 ;循環(huán) LEA BX, MAX ;取最大值存儲(chǔ)區(qū)地址 MOV BX, AL ;移入最大值 MOV AH, 4CH INT 21H ;返回DOS CP PROC ;比較AL和DL,將

24、較大的數(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則跳轉(zhuǎn) MOV AL, DL ;將DL移入ALEXIT: RET ;退出CP ENDPCODE ENDSEND START26、DATA SEGMENT D1 DB 3,4,2,7,8,12,10 COUNT EQU $-D1 D2 DB 10 DUP(?)DATA ENDS STACK1 SEGMENT STACK DB 100 DUP(?) STACK

25、1 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的第一個(gè)數(shù)與第二個(gè)數(shù)的大小 JAE LOP3 XCHG AL,BX+1 ;交換兩個(gè)數(shù) MOV BX,AL LOP3: INC BX DEC CX JNZ LOP2 MOV CX,SI DEC CX JNZ LOP1 LIST: MOV AH,4

26、CH INT 21H ;返回DOSCODE ENDS END START第五章5-7 若用1024*1b的RAM芯片組成16K*8b的存儲(chǔ)器,,需要多少芯片?在地址線中有多少位參與片內(nèi)尋址?多少位用做芯片組選擇信號? 解: 先進(jìn)行位擴(kuò)展,一組芯片需要8片 再進(jìn)行字?jǐn)U展,需要16組芯片. 所以共需要16*8=128片 1024=1K,需要10位參與片內(nèi)尋址 16=24,需要4位做選擇信號.5-8 試用4K*8b的EPROM2732和8K*8b的SRAM6264,以及74LS138譯碼器,構(gòu)成一個(gè)8KB的ROM,32KB的RAM存儲(chǔ)系統(tǒng),要求設(shè)計(jì)存儲(chǔ)器擴(kuò)展電路,并指出每片存儲(chǔ)芯片的地址范圍.解:5

27、-9 用EPROM2764(8K*8b)和SRAM6264(8k*8b)各一片組成存儲(chǔ)器,其地址范圍為FC000FFFFFH,試畫出存儲(chǔ)器與CPU的連接圖和片選信號譯碼電路(CPU地址線20位,數(shù)據(jù)線8位)。1111 1100 0000 0000 00001111 1101 1111 1111 11111111 1110 0000 0000 00001111 1111 1111 1111 11115-10 現(xiàn)有存儲(chǔ)芯片:2K*1b的ROM和4K*1bde RAM,若用它們組成容量為16KB的存儲(chǔ)器,前4KB為ROM,后12KB為RAM,問各種存儲(chǔ)芯片分別用多少片?解:4KB=4K*8b 需要2

28、*8=16片12KB=12K*8b 需要3*8=24片第六章6-3 CPU響應(yīng)中斷時(shí)的處理過程是什么?在各個(gè)處理環(huán)節(jié)主要完成哪些操作?解:中斷處理過程通常由中斷請求、中斷響應(yīng)、中斷處理和中斷返回四個(gè)環(huán)節(jié)完成。(1)中斷請求:中斷源需要進(jìn)行中斷服務(wù)時(shí),由硬件產(chǎn)生一個(gè)中斷信號INTR發(fā)給CPU且保持到CPU響應(yīng)。(2)中斷響應(yīng):CPU在當(dāng)前指令執(zhí)行結(jié)束后采樣查詢INTR,若中斷請求信號有效且允許響應(yīng)INTR中斷(IF=1),則向請求設(shè)備送回低電平有效的中斷響應(yīng)信號,自此系統(tǒng)自動(dòng)進(jìn)入中斷響應(yīng)周期,并由硬件自動(dòng)完成內(nèi)容入棧,清除TF和IF標(biāo)志、斷點(diǎn)(中斷返回之后將要執(zhí)行的指令地址)入棧,取中斷服務(wù)程序

29、的入口地址等一系列操作,繼而轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。(3)中斷處理:執(zhí)行中斷的主體部分。不同的中斷請求源,其中斷處理的內(nèi)容是不同的。需要根據(jù)中斷請求源所要完成的功能,編寫相應(yīng)的中斷服務(wù)程序存入內(nèi)存。等待中斷響應(yīng)后調(diào)用執(zhí)行。(4)中斷返回:又中斷服務(wù)程序中的中斷返回指令I(lǐng)RET完成。執(zhí)行該指令時(shí),將壓入對戰(zhàn)的斷點(diǎn)和標(biāo)志位彈出,使CPU轉(zhuǎn)向被中斷的現(xiàn)行程序中繼續(xù)執(zhí)行。6-10 中斷向量表用來存放什么內(nèi)容?它占用多大的存儲(chǔ)空間?存放在內(nèi)存的哪個(gè)區(qū)域?可以用什么方法寫入或者讀取中斷向量表的內(nèi)容?答:中斷向量表用來存放中斷服務(wù)程序的偏移地址和段基址。占用1KB內(nèi)存。最低端的1KB RAM區(qū),地址范圍是00

30、0H3FFH。寫入方法:1、 用傳送指令直接裝入。 2、 DOS功能調(diào)用: INT 21H (AH)=25H (AL)=中斷類型號 (DS:DX)=中斷服務(wù)程序的入口地址讀出方法:1、 用傳送指令直接讀。 2、 DOS功能調(diào)用:INT 21H (AH)=35H (AL)=中斷類型號 出口參數(shù): (ES:BX)=中斷服務(wù)程序的入口地址6-19 某系統(tǒng)使用兩片8259A管理中斷,從片的INT連接到主片的IR2請求輸入端。設(shè)主片工作于邊沿觸發(fā)、特殊完全嵌套、非自動(dòng)結(jié)束和非緩沖方式,中斷類型號為70H,端口地址為80H和81H;從片工作與邊沿觸發(fā)、完全嵌套、非自動(dòng)結(jié)束和非緩沖方式,中斷類型號為40H,

31、端口地址為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(01110000B)OUT 81H, AL ;定義ICW2MOV AL, 04H(00000100B)OUT 81H, AL ;定義ICW3MOV AL, 11H(00010001B)OUT

32、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(00000010B)OUT 21H, AL ;定義ICW3MOV AL, 01H(00000001B)OUT 21H, AL ;定義ICW46-20 某系統(tǒng)由8259A的IR2引入外設(shè)中斷請

33、求(跳變信號有效),要求當(dāng)CPU響應(yīng)IR2請求時(shí),輸出顯示字符串“*”,并中斷10次退出,試編寫主程序和中斷服務(wù)程序。解:設(shè)8259A的I/O地址為20H,21H,中斷類型號0AH,從IR2引入DATA SEGMENT MESS DB *,OAH,ODH,$INTA00 EQU 0020H INTA01 EQU 0021HDATA ENDSSTACK SEGMENT STACK DB 100H DUP (?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK MAIN:MOV AX,DATA MOV DS,AX MOV DX,INTA0

34、0 ;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 ;設(shè)置中斷矢量 MOV DS,AX MOV DX,OFFSET INT-P MOV AL,0AH MOV AH,25H INT 21H POP DS MOV AL,0FBH ;寫中斷屏蔽字OCW1 OUT DX,AL MOV DX,INTA00 MOV AL,20H ;寫中斷結(jié)束方式OCW2 OUT DX,AL MOV BX,1

35、0WAIT1: STI ;開中斷 JMP WAIT1 ;等待中斷INT-P:MOV AX,DATA ;中斷服務(wù)程序入口 MOV DS,AX MOV DX,OFFSET MESS ;輸出指定字符串 MOV AH,09H INT 21H MOV DX,INTA00 ;寫OCW2,送中斷結(jié)束命令EOI MOV AL,20H OUT DX,AL DEC BX ;控制10次循環(huán) JNZ NEXT MOV DX,INTA01 ;讀屏蔽寄存器IMR IN AL,DX OR AL,04H ;屏蔽IR2請求 OUT DX,AL STI ;開中斷 MOV AX,4C00H ;返回操作系統(tǒng) INT 21HNEXT:

36、 IRET ;中斷返回CODE: ENDS END MAIN第七章3、CPU與IO接口設(shè)備數(shù)據(jù)傳送的控制方式有哪幾種?它們各有何特點(diǎn)?答:(1)查詢方式:不需要額外的硬件支持,但由于CPU與外設(shè)工作的不同步,致使CPU利用率低,適用于工作不太繁忙的系統(tǒng)中。(2)中斷方式:CPU與外部設(shè)備并行工作(3)DMA方式:數(shù)據(jù)傳送過程中,由DMA控制器參與工作,不需要CPU的干預(yù),對批量數(shù)據(jù)傳送效率高。6、設(shè)8255A的A口工作于方式1輸出,B口工作于方式0輸入,試編寫初始化程序(設(shè)端口地址為40H43H)答:MOV DX ,43HMOV AL ,10100010OUT DX,AL7.使用8255A作為

37、開關(guān)和LED指示燈電路的接口.要求8255A的A口連接8個(gè)開關(guān),B口連接8個(gè)LED指示燈,將A口的開關(guān)狀態(tài)讀入,然后送至B口控制指示燈亮、滅。試畫出接口電路設(shè)計(jì)圖,并編寫程序?qū)崿F(xiàn)。程序?qū)崿F(xiàn):設(shè)8255的地址:0FFE0H0FFE3HDATA SEGMENTDB 100H DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE ,DS DATASTART: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口開

38、關(guān)狀態(tài) INC DX NOTAL OUTDX,AL ;輸出B口驅(qū)動(dòng)LED,開關(guān)閉合則LED亮RETCODE ENDS END START10、利用8254的通道1,產(chǎn)生500Hz的方波信號。設(shè)輸入時(shí)鐘頻率CKL1=2.5MHz,端口地址為FFA0HFFA3H,試編寫初始化程序。答:端口地址:FFA0H-FFA3H計(jì)數(shù)器1的控制字:01110110B=76H 計(jì)數(shù)常數(shù)=2.5M/500=5000初始化程序:MOV AL,76HMOV DX,0FFA3HOUTDX,ALMOV AX,5000MOV DX,0FFA1HOUTDX,AL;寫入計(jì)數(shù)器1的低字節(jié) MOV AL,AHOUTDX,AL;寫入計(jì)

39、數(shù)器1的高字節(jié)11、某系統(tǒng)使用8254的通道0作為計(jì)數(shù)器,記滿1000,向CPU發(fā)中斷請求,試編寫初始化程序(端口地址自設(shè))。答:設(shè)8254端口地址:40H-43H計(jì)數(shù)器0的控制字:00110000B=30H 計(jì)數(shù)常數(shù)=1000初始化程序:MOV AL,30HOUT43H,ALMOV AX,1000OUT40H,AL;寫入計(jì)數(shù)器0的低字節(jié) MOV AL,AHOUT40H,AL;寫入計(jì)數(shù)器0的高字節(jié)12、采用8254的通道0產(chǎn)生周期為10ms的方波信號,設(shè)輸入時(shí)鐘頻率為100kHz,8254的端口地址為38H-3BH,試編寫初始化程序。答:8254端口地址:38H-3BH計(jì)數(shù)器0的控制字:001

40、10110B=36H 計(jì)數(shù)常數(shù)=100K*10ms=1000初始化程序:MOV AL,36HOUT3BH,ALMOV AX,1000OUT38H,AL;寫入計(jì)數(shù)器0的低字節(jié) MOV AL,AHOUT38H,AL;寫入計(jì)數(shù)器0的高字節(jié)15、什么是波特率?假設(shè)異步傳輸?shù)囊粠畔⒂?為起始位,7位數(shù)據(jù)位、1為校驗(yàn)位和1位停止位構(gòu)成,傳送的波特率為9600,則每秒鐘能傳輸字符的個(gè)數(shù)是多少?答:波特率是指數(shù)據(jù)傳送的速率,含義是指每秒鐘傳二進(jìn)制數(shù)的位數(shù),單位用bps或波特表示每秒可傳送的字符個(gè)數(shù)。 9600/(1+7+1+1)=96016、一個(gè)異步串行發(fā)送器,發(fā)送的字符格式為:1位起始位、7位數(shù)據(jù)位、1位奇偶校驗(yàn)位和2位停止位,若每秒傳送100個(gè)字符,則其波特率為多少?答:100*(1+7+1+2)=1100bps19、設(shè)某系統(tǒng)使用一片8250進(jìn)行串行通信,要求波特率為2400,8位數(shù)據(jù)位,2位停止位,偶校驗(yàn),對接收緩沖器滿開中斷,試編寫初始化程序。答:設(shè)8250端口地址:3F8H-3FEH XTAL1=1.8432MHz,BAUD=2400 除數(shù)寄存器:1.8432M/(2400*16)=48=30H 3F8H線路控制寄存器:10011111B=1FH 3FBH中斷允許寄存器

溫馨提示

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

評論

0/150

提交評論