Files
Microcomputer_System_and_In…/Lab/Lab3/material/task2/code.asm
2025-05-27 16:03:52 +08:00

92 lines
2.7 KiB
NASM
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

DATA SEGMENT
EIGHT DB 7FH
TWO DB 5BH
FIVE DB 6DH
BAR DB 40H
A DB 77H
T DW 0FFH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
MOV DX, 283H ; 命令口
MOV AL, 10000000B ; 1|00(A组0方式)|0(PA输出)|0(PC4-7输出)|0(B组0方式)|0(PB输出)|0(PC0-3输出)
OUT DX, AL
LP:
MOV DX, 280H ; A口控制位码
MOV AL, 10000000B ; 第1位PA1置1
OUT DX, AL
MOV DX, 281H ; B口控制段码
MOV AL, EIGHT ; 输出数据段定义的字符“8”
OUT DX, AL
CALL DELAY ; 延时后清零
MOV DX, 280H
MOV AL, 01000000B ; 第2位PA2置1
OUT DX, AL
MOV DX, 281H
MOV AL, TWO ; 输出数据段定义的字符“2”
OUT DX, AL
CALL DELAY
MOV DX, 280H
MOV AL, 00100000B ; 第3位PA3置1
OUT DX, AL
MOV DX, 281H
MOV AL, FIVE ; 输出数据段定义的字符“5”
OUT DX, AL
CALL DELAY
MOV DX, 280H
MOV AL, 00010000B ; 第4位PA4置1
OUT DX, AL
MOV DX, 281H
MOV AL, FIVE ; 输出数据段定义的字符“5”
OUT DX, AL
CALL DELAY
MOV DX, 280H
MOV AL, 00001000B ; 第5位PA5置1
OUT DX, AL
MOV DX, 281H
MOV AL, BAR ; 输出数据段定义的字符“-”
OUT DX, AL
CALL DELAY
MOV DX, 280H
MOV AL, 00000100B ; 第6位PA6置1
OUT DX, AL
MOV DX, 281H
MOV AL, A ; 输出数据段定义的字符“A”
OUT DX, AL
CALL DELAY
JMP LP ; 无限循环
DELAY PROC
PUSH BX
MOV BX, T
DL1:
DEC BX
JNZ DL1
POP BX
; 将位码段码都置0否则前一位显示的字符会在显示下一位字符显示前在该位上显示
MOV DX, 280H
MOV AL, 00000000B
OUT DX, AL
MOV DX, 281H
MOV AL, 0
OUT DX, AL
RET
DELAY ENDP
CODE ENDS
END START