汇编实验报告 - 图文  下载本文

CON8: CALL DIS JMP CON8

;------------------------------------ INT8259:cli

MOV BX,OFFSET BUF

MOV BYTE PTR [BX+SI],07H INC SI

CMP SI,0007H JZ X59

XX59: MOV AL,20H MOV DX,Port0 OUT DX,AL mov cx,0050h xxx59: push cx call dis pop cx loop xxx59 pop cx

mov cx,offset CON8 push cx STI IRET

X59: MOV SI,0000H CALL WP JMP XX59

;============================== INT8359:cli

MOV BX,OFFSET BUF

MOV BYTE PTR [BX+SI],05H INC SI

CMP SI,0007H JZ Y59

YY59: MOV AL,20H MOV DX,Port0 OUT DX,AL mov cx,0050h YYY59: push cx call dis pop cx

loop YYY59 pop cx

mov cx,offset CON8 push cx STI

IRET

Y59: MOV SI,0000H CALL WP JMP YY59

;============================== FOR8259:MOV AL,13H MOV DX,Port0 OUT DX,AL MOV AL,08H MOV DX,Port1 OUT DX,AL MOV AL,09H OUT DX,AL

MOV AL,5FH ;IRQ7 ;;;;;;;;;; OUT DX,AL RET

;---------------------------

WP: MOV BUF,08H ;初始化显示“P.” MOV BUF+1,10H MOV BUF+2,10H MOV BUF+3,10H MOV BUF+4,10H MOV BUF+5,10H RET

;-------------------------------- DIS: MOV CL,20H

MOV BX,OFFSET BUF DIS1: MOV AL,[BX] PUSH BX

MOV BX,OFFSET LED XLAT POP BX

MOV DX,ZXK OUT DX,AL MOV AL,CL MOV DX,ZWK OUT DX,AL PUSH CX

MOV CX,0100H DELAY: LOOP $ POP CX

CMP CL,01H JZ EXIT

INC BX SHR CL,1 JMP DIS1 EXIT: MOV AL,00H MOV DX,ZWK OUT DX,AL RET

;-------------------------- CODE ENDS END H8

十、实验结论:(联系理论知识进行说明)

成功实现了要求实验内容中8259的单级中断和多级中断的实现,成功通过LED灯显示了中断程序的相关过程,实现了8259的中断过程。 十一、总结及心得体会:

通过本次实验我成功学习并掌握了简单的8259中单级中断和多级中断的编译方法,更加充分的认识到了8259中断控制器的使用方法。

十二、对本实验过程及方法、手段的改进建议:

可以让我们尝试更多的关于8259中断程序设计方法。

报告评分:

指导教师签字:

电子科技大学教务处制表

电 子 科 技 大 学

实 验 报 告

学生姓名:邓文熙 学 号:2013060109022 指导教师:徐行 实验地点: A2-411 实验时间:2016.6.1

一、实验室名称: A2-411 二、实验项目名称:8253时钟中断计时实验 三、实验学时:4

四、实验原理:(包括知识点,电路图,流程图)

主程序流程

开始 CLI 调用初始化显示子程序 写中断向量表 调用8253初始化子程序 TIME==10? 开始 CLI N COUNT==1? Y TIME+1 Y TIME=0 刷新缓冲区写TIME 调用显示子程序 调用8259初始化子程序 N STI 调用显示子程序 调用显示子程序 刷新缓冲区写TIME STI 中断返回 1、8253基本功能

具有三个相互独立的16位计数器通道

每个通道都可设定以6种工作方式之一进行计数/定时 每个计数器都可设为按二进制或BCD码计数 具有计数和定时功能,基于减1计数工作

定时器减为0后,可自动装入定时常数初值,并产生输出信号

在减1操作中,任何时刻计数器的值都可由CPU经计数输出寄存器读取 2、8253工作方式与功能

方式0:计数结束产生中断输出(软件控制) 方式1:重复触发的单稳输出(硬件控制) 方式2:分频器(软件控制) 方式3:方波发生器(软件控制) 方式4:选通信号发生器(软件触发) 方式5:选通信号发生器(硬件触发)

软件控制:程序写入控制字和初值后就可计数

硬件控制:写入控制字和初值后,由GATE信号启动计数。 3、有关8253芯片

8253基本工作方式就是对CLK时钟脉冲进行计数。CLK脉冲可以是均匀的、连