📄 sun.asm
字号:
data segment
DATA1 DB 80H,96H,0AEH,0C5H,0E9H,0F5H,0FDH
DB 0FFH,0FDH,0F5H,0E9H,0D8H,0C5H,0AEH,96H
DB 80H,66H,4EH,38H,25H,15H,09H,04H
DB 00H,04H,09H,15H,25H,38H,4EH,66H
TIME DB 120,106,94,89,79,70,63,59
MSG DB 'PRESS 1,2,3,4,5,6,7,8,ESC:',0DH,0AH,'$'
NUM DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET MSG
MOV AH,9
INT 21H
SSS:
MOV AH,7
INT 21H
CMP AL,1BH
JE EXIT
CMP AL,31H
JL SSS
CMP AL,38H
JG SSS
SUB AL,31H
MOV NUM,AL
MOV CX,60
DDD:
MOV SI,0
LLL:
MOV AL,DATA[SI]
MOV DX,290H
OUT DX,AL
CALL DELAY
INC SI
CMP SI ,32
JL LLL
LOOP DDD
JMP SSS
EXIT:
MOV AH,4CH
INT 21H
DELAY PROC NEAR
CCC: MOV BX,OFFSET TIME
MOV DX,283H
MOV AL,10H
OUT DX,AL
MOV DX,28BH
MOV AL,9BH
OUT DX,AL
MOV AL,NUM
XLAT
MOV DX,280H
OUT DX,AL
KKK: MOV DX,288H
IN AL,DX
TEST AL,01H
JZ KKK
RET
DELAY ENDP
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -