微机接口5 中断程序设计.docx

上传人:b****1 文档编号:2426808 上传时间:2022-10-29 格式:DOCX 页数:14 大小:218.55KB
下载 相关 举报
微机接口5 中断程序设计.docx_第1页
第1页 / 共14页
微机接口5 中断程序设计.docx_第2页
第2页 / 共14页
微机接口5 中断程序设计.docx_第3页
第3页 / 共14页
微机接口5 中断程序设计.docx_第4页
第4页 / 共14页
微机接口5 中断程序设计.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

微机接口5 中断程序设计.docx

《微机接口5 中断程序设计.docx》由会员分享,可在线阅读,更多相关《微机接口5 中断程序设计.docx(14页珍藏版)》请在冰豆网上搜索。

微机接口5 中断程序设计.docx

微机接口5中断程序设计

实验报告书

课程名:

《微机原理与接口技术》

题目:

程序设计与调试之五

中断程序设计

班级:

网络083

学号:

110821329

姓名:

王荣珍

 

一 目的和要求

1进一步熟悉汇编语言的编程,初步掌握BIOS中断调用、DOS系统功能调用的方法,并在此基础上具备编写较为复杂程序的能力。

2掌握图形方式下简单的程序设计和简单的动画制作。

3练习针对具体问题灵活使用高级汇编语言技术编写简洁高效的源程序。

二 实验原理

BIOS和DOS是两组系统服务软件集合,它们使用户能够访问和使用PC机的硬件,也可以这么说,对一个汇编程序编程者来说,如果要使用PC机硬件的话,一般是采用BIOS和DOS调用来实现。

在使用MS-DOS的PC机上使用硬件的基本方法有以下三种:

1、直接访问硬件

使用PC机硬件资源最直接的方法是通过编写使用IN和OUT指令程序来实现,编写直接访问硬件的程序需要编程者对所使用硬件的控制非常熟悉,包括口地址,控制命令,硬件结构等,这些,对一般的编程者来说,要掌握是有一定难度的,同样,即使是编程者掌握了必要的硬件知识,但由于直接访问所要考虑的因素较多,也会使编写的程序相当繁杂,增加了调试程序的困难,另一方面,编程者按自己的要求设置硬件的工作方式,有可能会影响整个系统的运行,另外,采用直接访问硬件的编程方法编制的程序,其可移植性相当差,在一个机器上运行的程序,换到另外一个厂家生产的机器上有可能无法运行,因此,如果不是为了获得更高的执行效率和获得DOS和BIOS不支持的功能,程序员应避免采用该方法。

2、使用BIOS调用

BIOS称为基本输入输出系统,由DOS-BIOS和ROM-BIOS两部分组成,它是计算机硬件和其它程序之间的第一道缓冲。

BIOS直接和外设通讯,完成设备一级的控制,并附有其它的实用服务功能,它为编程者提供了一个简单的软件接口以避免和外设直接打交道,这样,可以降低编程者对硬件要求的了解程度,简化使用PC机硬件资源的程序,而BIOS是PC机的标准软件接口,具有兼容性,提高了编制程序的可移植性。

采用BIOS功能调用主要是为了得到较高的运行效率(与DOS功能调用相比),或者需要利用DOS不具备的某些功能.。

BIOS调用最常见的是在显示器的控制程序中,不同的显示器会增加相应的BIOS功能。

3、使用DOS调用

DOS在更高层次上给出了与BIOS相同的功能,一般说来,DOS调用需要的入口,出口参数较BIOS简单,调用也容易,方便,不需要编程者对硬件有更多的了解,通过调用DOS,还可以充分利用操作系统提供的所有功能,编制的程序可移植性也较高。

与BIOS相比,DOS完成的功能没有其丰富,即对于某些特殊的要求,DOS调用也许不能实现,此外,DOS调用的执行效率也比BIOS低。

4、应该使用哪种方法

选择哪种方式应根据不同的需要来选择,首先必须是以完成任务为目的,一般按DOS,BIOS到硬件直接控制的顺序选择,另外,好的编程者还要根据程序应用的场合,权衡程序的可移植性,编程的复杂性和目标代码长短等因素选择相应的方式。

三、实验内容

1、实验原理

如实验原理图3.8所示,PC口8位接8个开关K1~K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。

拨动K1~K8,PB口上接的8个发光二极管L1~L8对应显示K1~K8的状态。

图3.8实验原理图

2、实验线路连接

(1)8255A芯片PC0~PC7插孔依次接K1~K8。

(2)8255A芯片PB0~PB7插孔依次接L1~L8。

(3)8255A的CS插孔接译码输出070H-07FH插孔。

四、实验软件框图

五、实验软件清单

机房DVCC8086JHN

六、实验步骤

1、按图3.8连好线路。

2、运行实验程序。

在系统显示“DVCC-86H”状态下,按任意键,显示器显示“-”。

按GO键,显示“1000XX”

输入F000:

B160

再按EXEC键,在DVCC-8086H显示上显示器“8255-1”,同时拨动K1~K8,L1~L8会跟着亮灭。

六、测试数据与实验结果

满7次中断

CODESEGMENT

ASSUMECS:

CODE

INTPORT1EQU0020H

INTPORT2EQU0021H

INTQ3EQUINTREEUP3

INTQ7EQUINTREEUP7

CONTPORTEQU00DFH

DATAPORTEQU00DEH

DATA0EQU0580H

DATA1EQU0500H

DATA2EQU0508H

DATA3EQU0518H

DATA4EQU0520H

ORG1800H

START:

JMPTint1

Tint1:

CALLFORMAT

CLD

MOVDI,DATA0

MOVCX,08H

XORAX,AX

REPSTOSW

MOVSI,DATA3

CALLLEDDISP;DISP8259-1

MOVAX,0H

MOVDS,AX

CALLWRINTVER;WRITEINTRRUPT

MOVAL,13H

MOVDX,INTPORT1

OUTDX,AL

MOVAL,08H

MOVDX,INTPORT2

OUTDX,AL

MOVAL,09H

OUTDX,AL

MOVAL,0FbH

OUTDX,AL

MOVBYTEPTRDS:

[0601H],01H;TIME=1

STI

WATING:

JMPWATING

WRINTVER:

MOVAX,0H

MOVES,AX

MOVDI,002cH

LEAAX,INTQ3

STOSW

MOVAX,CS

STOSW

MOVDI,0038H

LEAAX,INTQ7

STOSW

MOVAX,CS

STOSW

RET

INTREEUP3:

CLI

MOVAL,DS:

[0601H]

CALLCONVERS

MOVSI,DATA0

CALLLEDDISPD

MOVAL,20H

MOVDX,INTPORT1

OUTDX,AL

ADDBYTEPTRDS:

[0601H],01H

CMPBYTEPTRDS:

[0601H],09H

JNAINTRE1

MOVSI,DATA4

CALLLEDDISP

INTRE3:

JMPINTRE3

CONVERS:

MOVBH,0H

ANDAL,0FH

MOVBL,AL

MOVAL,CS:

[BX+DATA2]

MOVBX,DATA0

MOVDS:

[BX],AL

RET

INTRE1:

MOVAL,20H

MOVDX,INTPORT1

OUTDX,AL

STI

IRET

INTREEUP7:

CLI

MOVSI,DATA1

CALLLEDDISP

MOVAL,20H

MOVDX,INTPORT1

OUTDX,AL

IRET

LEDDISP:

MOVAL,90H

MOVDX,CONTPORT

OUTDX,AL

MOVBYTEPTRDS:

[0600H],00

LED1:

CMPBYTEPTRDS:

[0600H],07H

JALED2

MOVBL,DS:

[0600H]

MOVBH,0H

MOVAL,CS:

[BX+SI]`

MOVDX,DATAPORT

OUTDX,AL

ADDBYTEPTRDS:

[0600H],01H

JNZLED1

LED2:

RET

LEDDISPD:

MOVAL,90H

MOVDX,CONTPORT

OUTDX,AL

MOVBYTEPTRDS:

[0600H],00

LEDD1:

CMPBYTEPTRDS:

[0600H],07H

JALEDD2

MOVBL,DS:

[0600H]

MOVBH,0H

MOVAL,DS:

[BX+SI]

MOVDX,DATAPORT

OUTDX,AL

ADDBYTEPTRDS:

[0600H],01H

JNZLEDD1

LEDD2:

RET

FORMAT:

MOVBX,0

MOVWORDPTRDS:

[BX+0500H],5050H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],0079H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],0000H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],0000H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],063FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],4F5BH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],6D66H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],077DH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],6F7FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],7C77H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],5E39H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],7179H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],4006H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],4040H

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],6D6FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],7F5BH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],3F5EH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],5C3FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],6D6FH

ADDBX,2

MOVWORDPTRDS:

[BX+0500H],7F5BH

RET

CODEENDS

ENDSTART

满7次中断

CODESEGMENT

ASSUMECS:

CODE

INTPORT1EQU0020H

INTPORT2EQU0021H

INTQ3EQUINTREEUP3

INTQ7EQUINTREEUP7

CONTPORTEQU00DFH

DATAPORTEQU00DEH

DATA0EQU0580H

DATA1EQU0500H

DATA2EQU0508H

DATA3EQU0518H

DATA4EQU0520H

ORG1800H

START:

JMPTint1

Tint1:

CALLFORMAT

CLD

MOVDI,DATA0

MOVCX

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1