第十、十一章作业答案.doc_第1页
第十、十一章作业答案.doc_第2页
第十、十一章作业答案.doc_第3页
第十、十一章作业答案.doc_第4页
第十、十一章作业答案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十、十一章作业答案1. 某系统中使用3片8259A级联,一片为主8259A,两片为从8259A。从8259A分别接入主8259A的IR2和IR7端。若已知当前主8259A和从8259A三片的IR3上各接有一个外部中断源,它们三片的中断类型码分别为A0H、B0H和C0H,中断入口均在同一段中,其段基址为2050H, 偏移地址分别为11A0H、22B0H和33C0H,所有中断都采用电平触发方式、完全嵌套、自动EOI方式(原题出错),除了题中接了中断源的引脚外其余IRi均屏蔽。主8259A的端口地址为1000H和1001H,从片1的端口地址为2000H和2001H,从片2的端口地址为3000H和3001H。(1)画出它们的硬件连接图;(2)编写全部初始化程序和中断服务程序入口地址的装入程序,要求注释程序。(1)(2)主片初始化程序段: MOV DX,1000HMOV AL, 19H ; ICW1OUT DX, AL MOV DX,1001HMOV AL, 0A0H ;ICW2 :中断类型码为A0HA7HOUT DX, ALMOV AL, 84H ; ICW3: IR7,IR2上连接从片OUT DX, AL MOV AL, 3 ; ICW4OUT DX, AL MOV AL, 73H ; OCW1OUT DX, AL从片1初始化程序段: MOV DX,2000HMOV AL, 19H ; ICW1 OUT DX, AL MOV DX,2001H MOV AL, 0B0H ; ICW2: 中断类型码为B0HB7H OUT DX, AL MOV AL, 2 ;ICW3:从片的识别地址,即主片的IR2 OUT DX, AL MOV AL, 3 ; ICW4 OUT DX, AL MOV AL, 0F7H ; OCW1OUT DX, AL从片2初始化程序段: MOV DX,3000HMOV AL, 19H ; ICW1 OUT DX, AL MOV DX,3001H MOV AL, 0C0H ; ICW2: 中断类型码为C0HC7H OUT DX, AL MOV AL, 7 ;ICW3:从片的识别地址,即主片的IR7 OUT DX, AL MOV AL, 3 ; ICW4 OUT DX, ALMOV AL, 0F7H ; OCW1OUT DX, AL中断服务程序入口地址的装入程序: MOV BX,2050H ;主片装入程序 MOV DS,BX MOV DX,11A0H MOV AX,253H INT 21H MOV DX,22B0H ;从片1装入程序 MOV AX,25B3H INT 21H MOV DX,33C0H;从片2装入程序 MOV AX,25C3H INT 21H2. 系统中使用1片8259A,端口地址为3000H和3001H,中断类型码为A0H,采用电平触发方式、完全嵌套、一般EOI结束方式,通过一开关(单稳、防抖)将中断请求信号接到IR7上。该开关先输出低电平,运行程序显示提示信息“WAITTING FOR INTERRUPT”后再将开关输出高电平,向8259A的IR7发出了中断请求信号,此后调用中断服务程序。中断服务程序实现提示后从键盘输入一个字符,若是数字09之间则中断返回,否则循环提示后从键盘输入一个字符。中断返回后主程序显示提示信息“INTERRUPT FINISH”后结束。请编写程序实现,并注释程序。stack segment stack stack dw 32 dup(0) stack ends data segment DA1 DB WAITTING FOR INTERRUPT ,0AH,0DH,$ DA2 DB Please input a character:,$ DA3 DB 0AH, 0DH,$ DA4 DB INTERRUPT FINISH,0AH,0DH,$ data ends code segment begin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax MOV DX,3000H ;8259初始化 MOV AL, 1BH ;ICW1 OUT DX, AL MOV DX,3001H MOV AL, 0A0H ;ICW2 OUT DX, AL MOV AL, 1 ; ICW4 OUT DX, AL MOV AL, 7FH ;OCW1,允许IRQ7中断 OUT DX, ALMOV AX,SEG IRQ7IS ;中断程序入口地址送中断 MOV DS,AX ;向量表 MOV DX,OFFSET IRQ7IS MOV AX,250AHINT 21H mov ax,data mov ds,ax MOV DX,OFFSET DA1 MOV AH,9 INT 21H JMP $ ;等中断 MOV DX,OFFSET DA4 MOV AH,9 INT 21H RETIRQ7IS: MOV DX,OFFSET DA2 ;显示提示输入字符 MOV AH,9 INT 21H MOV AH,1 ;由键盘输入字符 INT 21H MOV DX,OFFSET DA3 ;回车换行 MOV AH,9 INT 21H CMP AL,0 ;09之间则中断返回,否则循环键盘输入 JB IRQ7IS CMP AL,9 JA IRQ7IS MOV DX,3000H MOV AL,20H ;OCW2:一般EOI结束方式 OUT DX,AL MOV DX,3001H MOV AL,0FFH ;禁止IRQ7中断 OUT DX,AL POP AX ;修改返址 INC AX INC AX PUSH AX IRETbegin endpcode ends end begin3. 某8086系统中包含一片8253芯片,其端口地址是2280H2283H;还包含一片8259A,其端口地址是FFF0HFFF1H,采用边沿触发,中断类型码由50H开始。要求完成如下功能:采用时钟芯片8284的PCLK端的2MHz方波作为信号源,利用计数器0产生频率为2kHz的方波。采用计数器0作为信号源,利用计数器1作标准时钟,并每秒通过8259A的IR3向CPU发出中断请求。(1)画出它们的硬件连接图;(2)编写全部初始化程序,要求注释程序。(1)见右图。(2)8253初始化:STT: MOV DX,2283HMOV AL,36H;定义计数器0工作在方式3OUT DX,ALMOV DX,2280HMOV AX,1000;给计数器0送计数值OUT DX,ALMOV AL, AHOUT DX,ALMOV DX,2283HMOV AL,76H ;定义计数器1为方式3OUT DX,ALMOV DX,2281HMOV AX,2000OUT DX,AL ;给计数器1送计数初值MOV AL,AHOUT DX,AL8259A初始化:MOVDX,FFF0HMOVAL,13HOUTDX,AL ;ICW1MOVDX,FFF1HMOVAL,50H ;ICW2,定义中断类型码由50H开始OUTDX,AL MOVAL,1OUTDX,AL ;ICW4MOVAL,0F7H ; OCW1OUTDX,ALSTIJMP $4. 8086CPU通过8255A与两台外设连接。8255A端口地址为0A-0DH,A口工作于方式1连接外设a,B口工作于方式0连接外设b。现要求编程实现通过A口从外设a读入一个8位数据,并判断读入的数据是否不为0,若不为0就通过8255A B口将此数据送给外设b,否则不做任何操作返回DOS。请编写程序实现,并注释程序。stack segment stack stack dw 32 dup(0) stack ends data segment data ends code segment begin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push axMOV AL,0B0H;8255A初始化 OUT 0DH,AL XOR AL, ALIN AL, 0AH;读端口A CMP AL, 0 ;判断是否输入为0 JZ EXIT ;输入为0则返回DOS OUT 0BH, AL ;从端口B输出显示 EXIT :MOV AH, 4CH ;返回DOS INT 21HRETbegin endpcode ends end begin5系统中使用1片8255和1片8259A。8255端口地址为80H83H,A端口工作在方式1,采用中断方式将内存中数据段STRING字符串里的字符逐个由A口输出。8259A端口地址为FEHFFH,不需要初始化8259A,只需在需要屏蔽某些IRi时送操作命令字。8255的INTRA接8259A的IR2。STRING内容为“I love China!$”。 请编写程序实现,并注释程序。stacksegment stack stackdw 32 dup (0)stackendsdatasegmentSTRING DB I love China!$data endscode segmentbeginproc farassume ss: stack, cs: code, ds: datapush dssub ax, axpush axmov ax, datamov ds, axMOV AL,0A0H ;初始化8255OUT 83H,ALMOV AL,0DH ;PC6置1,允许A端口中断OUT 83H,ALMOV AX, 0MOV ES,AXMOV AX,SEG IS8255 ;中断程序入口地址送中断向量表MOV ES:8259IR2中断向量码*4,AXMOV AX,OFFSET IS8255MOV ES:8259IR2中断向量码*4+2,AXIN AL,0FFH ;读屏蔽字AND AL,0FBH ;改变屏蔽字,允许IR2中断OUT 0FFH,ALMOV BX,0ROTT: JMP $ CMP CL,$ ;字符串未输出完则继续等待中断输出下一字符 JNZ ROTT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论