【正文】
HDATA ENDSSTACK SEGMENT DB 200 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AL,10000000B MOV DX,303H OUT DX,AL MOV BX,OFFSET LED MOV AL,00110000B NOT AL MOV DX,300H OUT DX,AL MOV AH,59H CALL DJS MOV AL,01010000B NOT AL MOV DX,300H OUT DX,AL MOV AH,3H CALL DJS MOV AL,10000100B NOT AL MOV DX,300H OUT DX,AL MOV AH,33H CALL DJS MOV AL,10001000B NOT AL MOV DX,300H OUT DX,AL MOV AH,3H CALL DJS JMP START MOV AH,4CH INT 21HDJS PROC S:MOV DI,60 P:MOV AL,0H MOV DX,302H OUT DX,AL MOV AL,AH AND AL,0FH XLAT MOV DX,301H OUT DX,AL CALL DELAY MOV AL,10H MOV DX,302H OUT DX,AL MOV AL,AH AND AL,0F0H MOV CL,4 SHR AL,CL XLAT MOV DX,301H OUT DX,AL CALL DELAY DEC DI JNZ P MOV AL,AH DEC AL DAS MOV AH,AL JNZ S RETDJS ENDPDELAY PROC PUSH SI PUSH DI MOV SI,0 P3:MOV DI,200 P2:DEC DI JNZ P2 DEC SI JNZ P3 POP DI POP SI RETDELAY ENDPCODE ENDS END START