📄 leddyn.asm
字号:
DATA SEGMENT
PORTBUP DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
PORTBDOWN DB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH
leddatUP DB 00H,00H,00H,00H,00H,00H,00H,00H
DB 14H,7AH,7BH,7AH,02H,7AH,4AH,7AH
DB 00H,00H,00H,00H,00H
DB 04H,3CH,3CH,3CH,3CH,92H,0A5H,78H
DB 00H,00H,00H,00H,00H
DB 7EH,08H,08H,08H,08H,08H,08H,0FFH
DB 00H,00H,00H,00H,00H
DB 0F7H,92H,0F2H,0F7H,42H,0F7H,43H,0F2H
DB 00H,00H,00H,00H,00H
DB 2AH,7FH,81H,3EH,18H,7FH,08H,0CH
DB 00H,00H,00H,00H,00H
DB 27H,0FBH,7BH,03H,0FDH,37H,0B1H,0CFH
DB 00H,00H,00H,00H,00H,00H,00H,00H
leddatDOWN DB 00H,00H,00H,00H,00H,00H,00H,00H
DB 7AH,4AH,7AH,02H,7AH,7BH,7AH,14H
DB 00H,00H,00H,00H,00H
DB 78H,0A5H,92H,3CH,3CH,3CH,3CH,04H
DB 00H,00H,00H,00H,00H
DB 0FFH,08H,08H,08H,08H,08H,08H,7EH
DB 00H,00H,00H,00H,00H
DB 0F2H,43H,0F7H,42H,0F7H,0F2H,92H,0F7H
DB 00H,00H,00H,00H,00H
DB 0CH,08H,7FH,18H,3EH,81H,7FH,2AH
DB 00H,00H,00H,00H,00H
DB 0CFH,0B1H,37H,0FDH,03H,7BH,0FBH,27H
DB 00H,00H,00H,00H,00H,00H,00H,00H
DB 55H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
SHORTDELAY PROC NEAR
MOV BX,45
LL1: MOV CX,75
LK1: LOOP LK1
DEC BX
JNZ LL1
ret
SHORTDELAY ENDP
LONGDELAY PROC NEAR
MOV BX,90
LL2: MOV CX,900
LK2: LOOP LK2
DEC BX
JNZ LL2
ret
LONGDELAY ENDP
START: MOV AX,DATA
MOV DS,AX
MOV AL,80H
MOV DX,223H
OUT DX,AL ;init the 8255
mov si,offset LEDDATUP
mov bx,300H
JMP LWORD1
KK1: call longdelay
MOV AL,[SI]
CMP AL,55H
JE EXIT
INC SI
MOV BX,300h
JMP LWORD1
NNN: SUB SI,8
LWORD1: MOV DI,OFFSET PORTBUP ;the other is portbup!
MOV CL,0
DEC BX
CMP BX,0
JE KK1
LROW1: MOV AL,[SI]
MOV DX,220H
OUT DX,AL
INC SI
MOV AL,[DI]
MOV DX,221H
OUT DX,AL
INC DI
PUSH CX
PUSH BX
CALL SHORTDELAY
POP BX
POP CX
INC CL
CMP CL,8
JE NNN
MM1: MOV AH,01H
INT 16H
JZ LROW1
EXIT : MOV AH,4CH
INT 21H
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -