微机原理课设字幕机代码.doc
文本预览下载声明
PUBLIC L_CON ;定义公共变量
M8255_A EQU 0640H ;定义8255A口、B口、C口和控制口地址
M8255_B EQU 0642H
M8255_C EQU 0644H
M8255_CON EQU 0646H
SSTACK SEGMENT STACK ;定义堆栈段
DW 32 DUP(?) ;定义一个32位的字型存储空间
SSTACK ENDS
DATA SEGMENT
TAB1 DB 4fH,00H,00H,00H,00H,00H,00H,00H ;组成“中华”二字的
TAB2 DB 48H, 4fH,00H,00H,00H,00H,00H,00H 数字代码
TAB3 DB 7eH, 48H,4fH,00H,00H,00H,00H,00H
TAB4 DB 0feH, 7eH,48H,4fH,00H,00H,00H,00H
TAB5 DB 7eH,0feH,7eH,48H,4fH,00H,00H,00H
TAB6 DB 49H,7eH,0feH,7eH,48H,4fH,00H,00H
TAB7 DB 4fH,49H,7eH,0feH,7eH,48H,4fH,00H
TAB8 DB 00H,4fH,49H,7eH,0feH,7eH,48H,4fH
TAB9 DB 48H,00H,4fH,49H,7eH,0feH,7eH,48H
TAB10 DB 2AH,48H,00H,4fH,49H,7eH,0feH,7eH
TAB11 DB 1CH,2AH,48H,00H,4fH,49H,7eH,0feH
TAB12 DB 78H,1CH,2AH,48H,00H,4fH,49H,7eH
TAB13 DB 1CH,78H,1CH,2AH,48H,00H,4fH,49H
TAB14 DB 2AH,1CH,78H,1CH,2AH,48H,00H,4fH
TAB15 DB 48H,2AH,1CH,78H,1CH,2AH,48H,00H
L_CON DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START: MOV AX, DATA ;初始化语句
MOV DS, AX
MOV L_CON, 7FH
MOV DX, M8255_CON
MOV AL, 80H ;写8255控制字
OUT DX, AL
AA0: MOV BL, 0D0H ;定义外循环次数
AA1: MOV SI, OFFSET TAB1 ; 循环显示第一个图形
MOV CX, 0008H ;定义内循环次数8次
DIS1: MOV DX, M8255_A
MOV AL, L_CON
OUT DX, AL
MOV DX, M8255_B
MOV AL, [SI]
OUT DX, AL
ROR L_CON, 1 ;列右移一位
INC SI ;行自动加1
CALL DELAY ;调用延时子程序
LOOP DIS1
DEC BL
CMP BL, 00H
JNE AA1
MOV BL, 0D0H
AA2: MOV SI, OFFSET TAB2 ; 循环显示第二个图形;
MOV CX, 0008H
DIS2: MOV DX, M8255_A
MOV AL, L_CON
OUT DX, AL
MOV DX, M8255_B
MOV AL, [SI]
OUT DX, AL
ROR L_CON, 1
INC SI
CALL DELAY
LOOP DIS2
DEC BL
CMP BL, 00H
JNE AA2
MOV BL, 0D0H
AA3: MOV SI, OFFSET TAB3 ;循环显示第三个图形
MOV CX, 0008H
DIS3: MOV DX, M8255_A
MOV AL, L_CON
OUT DX, AL
MOV DX, M8255_B
MOV AL, [SI]
OUT DX, AL
显示全部