微机作业
w88 石光 981239
1,使用8250作串行接口时,若要求以1200bps的波特率发送一个字符,字符格式为7个数据位,一个停止位,一个奇校验位,试编写初始化程序。
mov dx,3fbh
mov al,80h
out dx,al
mov dx,3f8h
mov al,96
out dx,al
inc dx
mov al,0
out dx,al
mov al,0ah
mov dx,3fbh
out dx,al
2,设8255的端口A、B、C和控制寄存器的地址为F4H、F5H、F6H、F7H,要使A口工作于方式0输出,B口工作于方式1输入,C口上半部输入,下半部输出,且要求初始化时PC6=0,试编写初始化程序
mov al,8Eh
out f7h,al
mov dx,f7h
mov al,0ch
out dx,al
3,试述8237的DMA请求/响应握手过程当外设要求以DMA方式为它服务时,发DMA请求信号DREQ到3237,8237检查该信号是否被屏蔽及其优先权,如确认该信号有效则向CPU发送总线请求信号HRQ(连到CPU的HOLD).每个总线周期结束时CPU检测HOLD,如为高电平,则响应HOLD请求进入保持态,使三态总线CPU侧呈高阻状态,并以总线保持响应信号HLDA通知8237,8237接管总线,并以DACK信号通知外设,使之成为DMA传送时被选中的设备,同时8237给出内存地址以及I/O读写和存储器读写控制信号,在外设和存储器之间完成数据传送,传送完成后,8237放弃总线,撤消总线请求(HRQ为低),CPU检测到HRQ(HOLD)为低后,撤消HLDA,CPU重新获得总线控制权.
4,使用8237的通道3,实现从内存到I/O设备的传送,其中传送的数据所在的内存单元为20000H~20FFFH
MOV AL,0;清除先/后触发器
OUT 0DH,AL;写地址
OUT 06,AL
OUT 06,AL
MOV AL,2
OUT 81H,AL;传送的字节数
MOV AX,200H
DEC AX
MOV 07,AL
MOV AL,AH
OUT 07,AL;写模式寄存器
MOV AL,4bH
OUT 0BH,AL;清除通道3屏蔽
MOV AL,3
OUT 0AH,AL;读通道3状态
WAIT: IN 08
AND AL,04
JZ WAIT;完成后屏蔽通道3
MOV AL,7
OUT 0AH,AL
w88 石光 981239
1,使用8250作串行接口时,若要求以1200bps的波特率发送一个字符,字符格式为7个数据位,一个停止位,一个奇校验位,试编写初始化程序。
mov dx,3fbh
mov al,80h
out dx,al
mov dx,3f8h
mov al,96
out dx,al
inc dx
mov al,0
out dx,al
mov al,0ah
mov dx,3fbh
out dx,al
2,设8255的端口A、B、C和控制寄存器的地址为F4H、F5H、F6H、F7H,要使A口工作于方式0输出,B口工作于方式1输入,C口上半部输入,下半部输出,且要求初始化时PC6=0,试编写初始化程序
mov al,8Eh
out f7h,al
mov dx,f7h
mov al,0ch
out dx,al
3,试述8237的DMA请求/响应握手过程当外设要求以DMA方式为它服务时,发DMA请求信号DREQ到3237,8237检查该信号是否被屏蔽及其优先权,如确认该信号有效则向CPU发送总线请求信号HRQ(连到CPU的HOLD).每个总线周期结束时CPU检测HOLD,如为高电平,则响应HOLD请求进入保持态,使三态总线CPU侧呈高阻状态,并以总线保持响应信号HLDA通知8237,8237接管总线,并以DACK信号通知外设,使之成为DMA传送时被选中的设备,同时8237给出内存地址以及I/O读写和存储器读写控制信号,在外设和存储器之间完成数据传送,传送完成后,8237放弃总线,撤消总线请求(HRQ为低),CPU检测到HRQ(HOLD)为低后,撤消HLDA,CPU重新获得总线控制权.
4,使用8237的通道3,实现从内存到I/O设备的传送,其中传送的数据所在的内存单元为20000H~20FFFH
MOV AL,0;清除先/后触发器
OUT 0DH,AL;写地址
OUT 06,AL
OUT 06,AL
MOV AL,2
OUT 81H,AL;传送的字节数
MOV AX,200H
DEC AX
MOV 07,AL
MOV AL,AH
OUT 07,AL;写模式寄存器
MOV AL,4bH
OUT 0BH,AL;清除通道3屏蔽
MOV AL,3
OUT 0AH,AL;读通道3状态
WAIT: IN 08
AND AL,04
JZ WAIT;完成后屏蔽通道3
MOV AL,7
OUT 0AH,AL