* * 习题(13) 8253初始化:计数器0定时0.125s,输出频率=8Hz 计数初值N=40kHz/8Hz = 5000 MOV AL,34H ;0011 0101,计数器0方式2,BCD计数,先低字 ;节,后高字节 OUT 43H,AL ;写入控制器端口,完成初始化 MOV AX,00H ;送BCD码低字节至AL OUT 40H,AL ;写入计数器0 MOV AL,50H ;送BCD码高字节至AL OUT 40H,AL ;写入计数器0 ,完成计数初值的设置 MOV BL,01H STI ;设IF=1,允许CPU响应可屏蔽中断,即开中断 NEXT:NOP ;空操作 JMP NEXT ;返回NEXT,即等待新的中断请求 * * 习题(14) IR4中断服务程序 INTER4:PUSH AX STI ;设IF=1,允许CPU响应可屏蔽中断 MOV AL,BL ;第一次中断响应,BL=01送AL OUT 60H,AL;送8255A的A口 ROL BL,1 ;BL循环左移1位 MOV AL,20H;OCW2=0010 0000,中断结束命令 OUT 20H,AL;写入低地址 CLI ;设IF=0,禁止CPU响应可屏蔽中断 POP AX RETI ;中断返回 注:当没有新的中断请求以前,第一次中断
原创力文档

文档评论(0)