解 根据各命令字的格式可以分析如下。 主片初始化程序:
;设主片的端口地址为140H,141H MOV AL,11H MOV DX,140H
OUT DX,AL ;设置ICW1,中断请求信号边沿触发,级联方式, ;须设ICW4 MOV AL,08H INC DX
OUT DX,AL ;设置ICW2,中断类型码为08H~0FH MOV AL,04H
OUT DX,AL ;设置ICW3,IR2与从片的INT相连 MOV AL,01H
OUT DX,AL ;设置ICW4,完全嵌套方式,非缓冲,正常中断 ;结束
从片初始化程序:
;设从片的端口地址为190H,191H MOV DX,190H MOV AL,11H
OUT DX,AL ;同主片ICW1
MOV AL,70H INC DX OUT DX,AL ;设置ICW2,中断类型码为70H~77H MOV AL,02H
OUT DX,AL ;设置ICW3,从片INT与主片的IR2相连
MOV AL,OUT DX,
01H
AL ;同主片ICW4 例7.7若8259A以三片级联方式管理22级中断,A从片的INT接到主片的IR2上,B从片的INT接到主片的IR6上,主、从片的中断请求采用边沿触发方式,选用全嵌套、自动结束、非缓冲方式,主片中断类型码为60H~67H,A片的中断类型码为70H~77H,B片的中断类型码为80H~87H,各8259A的A0均接到CPU的A0,口地址可合理假设,试对该中断管理系统进行初始化编程。
解 主片初始化(设主片地址位80H,81H) MOV AL,11H
OUT 80H,AL ;设置ICW1 MOV AL,60H
OUT 81H,AL ;设置ICW2 MOV AL,01000100B
OUT 81H,AL ;设置ICW3 MOV AL,00000011B
OUT 81H,AL ;设置ICW4
;从片A初始化(设从片A地址为82H,83H) MOV AL,11H
OUT 82H,AL ;ICW1 MOV AL,70H
OUT 83H,AL ;ICW2 MOV AL,02H
OUT 83H,AL ;ICW3 MOV AL,03H
OUT 83H,AL ;ICW4
;从片B初始化(设从片B地址为84H,85H) MOV AL,11H
OUT 84H,AL ;ICW1 MOV AL,80H
OUT 85H,AL ;ICW2 MOV AL,06H
OUT 85H,AL ;ICW3 MOV AL,03H
OUT 85H,AL ;ICW4