微机原理与接口技术(楼顺天编着)课后第八章习题答案

发布时间 : 星期日 文章微机原理与接口技术(楼顺天编着)课后第八章习题答案更新完毕开始阅读

50H(A0=0)和 51H(A1=1),第二个8259A从片的端口地址为0A0H(A0=0)和 0A1H(A1=1),初始化程序如下: 主片:

MOV AL,00010001B;ICW1:边沿触发,级联

OUT 20H,AL

MOV AL,00010000B;ICW2:中断类型号10H~17H OUT 21H,AL

MOV AL,01010000B;ICW3:IR4和IR6连有从片 OUT 21H,AL

MOV AL,00010001B;ICW4:特殊全嵌套,非缓冲,非自动中断结束 OUT 21H,AL 从片1:

MOV AL,00010001B;ICW1:边沿触发,级联

OUT 50H,AL

MOV AL,00100000B;ICW2:中断类型号20H~27H OUT 51H,AL

MOV AL,00000100B;ICW3:INT引脚连主片IR4 OUT 51H,AL

MOV AL,00000001B;ICW4:完全嵌套,非缓冲,非自动中断结束 OUT 51H,AL 从片二:

MOV AL,00010001B;ICW1:边沿触发,级联

OUT 0A0H,AL

MOV AL,00110000B;ICW2:中断类型号30H~37H OUT 0A1H,AL

MOV AL,00000110B;ICW3:INT引脚连主片IR6

OUT 0A1H,AL

MOV AL,00000001B;ICW4:完全嵌套,非缓冲,非自动中断结束 OUT 0A1H,AL

19. 设8259A的端口地址为50H (A0=0) 和51H (A1=1),请给下面的8259A初始化程序加上 注释,说明各命令字的含义。

MOV AL, 13H

OUT 50H, AL MOV AL, 08H OUT 51H, AL MOV AL, 0BH OUT 51H, AL 解:

MOV AL, 13H

OUT 50H, AL ;初始化ICW1,设臵为边沿触发,单片工作 MOV AL, 08H

OUT 51H, AL;ICW2 ;中断类型号的高5位为00001B,即中断类型号为08H~0FH MOV AL, 0BH

OUT 51H, AL ;初始化ICW4,一般全嵌套缓冲方式,中断非自动结束 20. 设8259A端口地址为20H和21H,怎样发送清除ISR3的命令? 答:8259A可通过设臵操作控制字位。

的值为23H,

发送中断结束命令(EOI命令),来清除ISR的指定

用低位端口地址(即A0=0)进行操作,因此可编程如下:

MOV AL,23H MOV 20H,AL

21. 根据中断过程的要求设计的一个中断系统,大致需要考虑哪些问题? 答:1)设计必要的中断源,确定它们提出的中断请求的方式。

2)编写初始化程序。根据急迫程度的不同,规定好中断源的优先级别,以确定当几个中断源同时请求时,处理机能有一个先后响应次序。

3)当处理机响应中断后,需要把被中断程序的现场、断点保护起来,以便中断处理结束后能返回原程序。 4)中断服务程序设计。 5)恢复现场,返回原程序。

22. 给定(SP)=0100H,(SS)=0300H,(PSW)=0240H,以及存储单元的内容(00020H)=0040H, (00022H)=0100H,在段地址为0900H及偏移地址为00A0H的单元中有一条中断指令INT 8,试问执行INT 8指令后,SP、SS、IP、PSW的内容是什么?栈顶的三个字是什么? 答:执行INT8之后,(SP)=00FAH,(SS)=0300H,(IP)=0040H,(PSW)=0040H。 由于INT8为双字节指令,所以栈顶的三个字从上到下分别是 00A2H,0900H,0240H。 23. 中断服务程序结束时,用RETF指令代替IRET指令能否返回主程序?这样做存在什么 问题?

答:可以。但这样做存在问题。IRET指令执行时将出栈IP,CS和PSW的值,而RETF指令只出栈IP,CS的值,因而若中断服务程序中改变了标志位,用RETF指令返回在主程序中将无法恢复标志位的值。尤其是在中断服务程序中关中断后(IF=0),用RETF指令将无法重新开中断,从而导致中断服务结束后CPU不能再响应其他可屏蔽中断。

联系合同范文客服:xxxxx#qq.com(#替换为@)