微机作业【10】
w88 石光 981239
1.试述CPU与外设交换数据的方式及其特点答:
程序传送方式:
1.无条件传送:不查询外设状态,认为外设已经准备就绪,直接与外设传送数据
2.程序查询传送(条件传送):在执行输入输出前,要先查询接口中状态寄存器的状态。
中断传送方式:当外设作好传送准备后,主动向CPU请求中断,CPU响应中断后在中断处理程序中与外设交换数据。若外设未准备好,CPU可以执行其他程序,提高了CPU的利用率每条指令完成后,CPU均可响应中断,因此当设备准备好时,可及时与CPU交换数据,提高了实时性
DMA传送方式:DMA方式是一种由专门的硬件电路执行I/O的数据传送方式,它可以让外设接口直接与内存进行高速的数据传送,而不必经过CPU。这种专门的硬件电路称为DMA控制器,简称DMAC
2.设8253三个计数器的CR/OL端口地址为70H、71H、72H,控制寄存器端口地址73H。编写程序片段,使:
计数器0,工作模式1,使用16位,初值为1234,BCD计数计数器1,工作模式4,使用低8位,初值为100,二进制计数计数器2,工作模式2,使用16位,初值为65536,二进制计数
答:
mov al,33h
out 73h,al
mov ax,1234
out 70h,al
mov al,ah
out 70h,al
mov al,58h
mov 73h,al
mov al,100
out 71h,al
mov al,B4h
mov ax,0
out 72h,al
mov al,ah
out 72h,ah
3.设8253的端口地址同2,编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX.
mov al,84h
mov 73h,al
in al,72h
mov bl,al
in al,72h
mov bh,al
mov ax,bx
4.设计数器的时钟输入频率为1.91MHz,为产生25KHZ的 方波输出信号,应向计数器装入的计数初值为多少?
1.91M/25K=77
5.音符1、2、3、4、5、6、7的频率分别为350、393、441、467、525、589、661,编写一个程序,使用户按下1~7键时扬声器发出相应的音符,按下其他键退出程序。
CODE SEGMENT
ASSUME CS:CODE

START,
INPUT,MOV AH,01H
INT 21H
CMP AL,'1'
JE ONE
CMP AL,'2'
JE TWO
CMP AL,'3'
JE THREE
CMP AL,'4'
JE FOUR
CMP AL,'5'
JE FIVE
CMP AL,'6'
JE SIX
CMP AL,'7'
JE SEVEN
JMP DONE
ONE: IN AL,61H
OR AL,03H
OUT 61H,AL
MOV AX,3400
OUT 42H,AL
MOV AL,AH
OUT 42,AL
JMP INPUT
TWO: IN AL,61H
OR AL,03H
OUT 61H,AL
MOV AX,3028
OUT 42H,AL
MOV AL,AH
OUT 42,AL
JMP INPUT
THREE: IN AL,61H
OR AL,03H
OUT 61H,AL
MOV AX,2698
OUT 42H,AL
MOV AL,AH
OUT 42,AL
JMP INPUT
FOUR: IN AL,61H
OR AL,03H
OUT 61H,AL
MOV AX,2548
OUT 42H,AL
MOV AL,AH
OUT 42,AL
JMP INPUT
FIVE: IN AL,61H
OR AL,03H
OUT 61H,AL
MOV AX,2267
OUT 42H,AL
MOV AL,AH
OUT 42,AL
JMP INPUT
SIX: IN AL,61H
OR AL,03H
OUT 61H,AL
MOV AX,2020
OUT 42H,AL
MOV AL,AH
OUT 42,AL
JMP INPUT
SEVEN: IN AL,61H
OR AL,03H
OUT 61H,AL
MOV AX,1800
OUT 42H,AL
MOV AL,AH
OUT 42,AL
JMP INPUT
DONE: IN Al,61H
AND AL,0FCH
OUT 61H,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START