接口与通信实验报告(有注释)(3)

2019-05-24 10:12

CODE SEGMENT ASSUME CS:CODE

INTPORT1 EQU 0020H ;8259口地址1,用来写ICW1

INTPORT2 EQU 0021H ;8259口地址2,用来写ICW2、ICW4 INTQ3 EQU INTERUPT3 INTQ7 EQU INTERUPT7

CONTPORT EQU 00DDH ;8279命令状态口地址 DATAPORT EQU 00DEH ;8279键盘显示数据口地址

DATA1 EQU 0500H ;错误信息显示缓冲区起始地址(0500H-0507H) DATA2 EQU 0508H DATA3 EQU 0518H DATA4 EQU 0520H DATA5 EQU 0528H DATA6 EQU 0529H DATA7 EQU 052AH DATA8 EQU 052BH DATA9 EQU 052CH DATA10 EQU 052EH

ORG 1800H

START: JMP TINT1

TINT1: CALL FORMAT CLD

MOV DX,004BH

MOV AL,0B6H

OUT DX,AL MOV DX,004AH MOV AL,50H

OUT DX,AL MOV AL,0C3H

OUT DX,AL

MOV SI,DATA3

CALL LEDDISP

MOV AX,0H MOV DS,AX

CALL WRINTVER MOV AL,13H MOV DX,INTPORT1 OUT DX,AL MOV AL,08H

MOV DX,INTPORT2 OUT DX,AL

;显示译码表起始地址(0508H-0517H) ;初始状态显示缓冲区(0518H-051FH) ;时间显示缓冲区起始地址(0520H-0527H) ;存放已重新刷新数码管个数 ;存放1/20秒定时中断次数 ;存放时间的小时值 ;存放时间的分值 ;存放时间的秒值

;待更新的显示区内的地址 ;写8253控制字,通道2,方式3 8位 ;计数初值高8位 ;计数初值低 MOV AL,0BH

OUT DX,AL ;写中断控制字 MOV AL,0F7H

OUT DX,AL ;用IR2请求中断 WAITING: STI

JMP WAITING

WRINTVER: MOV AX,0H MOV ES,AX

MOV DI,002CH LEA AX,INTQ3 STOSW

MOV AX,CS STOSW

MOV DI,003CH LEA AX,INTQ7 STOSW

MOV AX,CS STOSW RET

INTERUPT3: CLI MOV AL,DS:[DATA6] INC AL

MOV DS:[DATA6],AL

CMP AL,14H JC PLAY MOV BYTE PTR DS:[DATA6],00H MOV SI,DATA4 CALL LEDDISP CALL NEWTIME CALL CONVERSALL PLAY: MOV AL,20H

MOV DX,INTPORT1 OUT DX,AL STI IRET

INTERUPT7: CLI MOV SI,DATA1 CALL LEDDISP MOV AL,20H

MOV DX,INTPORT1 OUT DX,AL

;中断矢量地址(IR3) ;中断矢量地址(IR7) ;中断3服务程序

;DATA6存放1/20秒定时中断次数 ;判断是否满20次中断 ;否,清零中断次数

;指向时间显示缓冲区首地址 ;数码管显示子程序

;本子程序段按十进制完成时、分、 ;本程序段将秒、分、时值进行显示译码 IRET

LEDDISP: MOV AL,90H ;数码管显示子程序 MOV DX,CONTPORT OUT DX,AL

MOV BYTE PTR DS:[DATA5],00H ;存放已重新刷新数码管个 LED1: CMP BYTE PTR DS:[DATA5],07H ;判断是否已刷新8个数码 JA LED2 ;是,退出本数码管 MOV BL,DS:[DATA5] ;否,刷新本数码管 MOV BH,0H

MOV AL,CS:[BX+SI] MOV DX,DATAPORT OUT DX,AL

ADD BYTE PTR DS:[DATA5],01H JNZ LED1 LED2:

FORMAT: MOV BX,0

MOV WORD PTR DS:[BX+DATA1],5050H ADD BX,2

MOV WORD PTR DS:[BX+DATA1],0079H ADD BX,2

MOV WORD PTR DS:[BX+DATA1],0000H ADD BX,2

MOV WORD PTR DS:[BX+DATA1],0000H ADD BX,2

MOV WORD PTR DS:[BX+DATA1],063FH ADD BX,2

MOV WORD PTR DS:[BX+DATA1],4F5BH ADD BX,2

MOV WORD PTR DS:[BX+DATA1],6D66H ADD BX,2

MOV WORD PTR DS:[BX+DATA1],077DH ADD BX,2

MOV WORD PTR DS:[BX+DATA1],6F7FH ADD BX,2

MOV WORD PTR DS:[BX+DATA1],7C77H ADD BX,2

MOV WORD PTR DS:[BX+DATA1],5E39H ADD BX,2

MOV WORD PTR DS:[BX+DATA1],7179H ADD BX,2

RET ;未满8位从数据区取数送 ;显示位数加1 ;显示错误“rr” ;显示错误“E” ;显示“10 ” ;显示“32 ” ;显示“54 ” ;显示“76” ;显示“98 ” ;显示“BA ” ;显示“DC ” ;显示“FE ” MOV WORD PTR DS:[BX+DATA1],3F3FH ;显示“00 ” ADD BX,2

MOV WORD PTR DS:[BX+DATA1],3F40H ;显示“0— ” ADD BX,2

MOV WORD PTR DS:[BX+DATA1],403FH ;显示“—0 ” ADD BX,2

MOV WORD PTR DS:[BX+DATA1],3F3FH ;显示“00 ” ADD BX,2

MOV WORD PTR DS:[BX+DATA1],3F3FH ADD BX,2

MOV WORD PTR DS:[BX+DATA1],3F40H ADD BX,2

MOV WORD PTR DS:[BX+DATA1],403FH ADD BX,2

MOV WORD PTR DS:[BX+DATA1],3F3FH

MOV BYTE PTR DS:[DATA6],00D MOV BYTE PTR DS:[DATA7],00D MOV BYTE PTR DS:[DATA8],00D MOV BYTE PTR DS:[DATA9],00D MOV WORD PTR DS:[DATA10],DATA4 RET

CONVERS1: MOV BH,0H

AND AL,0FH MOV BL,AL

MOV AL,CS:[BX+DATA2]

CONVERS2: PUSH AX CALL CONVERS1 MOV BX,WORD PTR DS:[DATA10] MOV DS:[BX],AL

ADD WORD PTR DS:[DATA10],01H POP AX PUSH CX MOV CL,4H SHR AL,CL POP CX

CALL CONVERS1

MOV BX,WORD PTR DS:[DATA10] MOV DS:[BX],AL RET RET

CONVERSALL: MOV AL,BYTE PTR DS:[DATA9]

CALL CONVERS2 ADD WORD PTR DS:[DATA10],02H MOV AL,BYTE PTR DS:[DATA8] CALL CONVERS2

ADD WORD PTR DS:[DATA10],02H MOV AL,BYTE PTR DS:[DATA7] CALL CONVERS2

MOV WORD PTR DS:[DATA10],DATA4 RET

NEWTIME: CMP BYTE PTR DS:[DATA9],59H JC ADD1

MOV BYTE PTR DS:[DATA9],0D CMP BYTE PTR DS:[DATA8],59H JC ADD2

MOV BYTE PTR DS:[DATA8],0D CMP BYTE PTR DS:[DATA7],23H JC ADD3

MOV BYTE PTR DS:[DATA7],0D JMP OK

ADD1: MOV AL,BYTE PTR DS:[DATA9] ADD AL,1D DAA

MOV BYTE PTR DS:[DATA9],AL JMP OK

ADD2: MOV AL,BYTE PTR DS:[DATA8] ADD AL,1D DAA

MOV BYTE PTR DS:[DATA8],AL JMP OK

ADD3: MOV AL,BYTE PTR DS:[DATA7] ADD AL,1D DAA

MOV BYTE PTR DS:[DATA7],AL OK: RET

CODE ENDS END START

四.实验体会

本实验使自己对中断的概念认识更深了,首先这次实验程序实现


接口与通信实验报告(有注释)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:日语三四级考试常用短句

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: