STACKSEGMENT STACK
DW 64 DUP(?)
STACKENDS
DATA SEGMENT
TABLE DB 31H,30H,30H,00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AL,80H
OUT 63H,AL
MOV AL,0FFH
OUT 60H,AL
A1:
MOV AX,DATA
MOV DS,AX
OUT 00H,AL
CALL DALLY
IN AL,00H
MOV CH,64H
MUL CH
MOV CH,0FFH
DIV CH
CMP AL,63H
JGA8
MOV CL,00H
CMP AL,0AH
JAE A2
JMP A3
A2:
SUB AL,0AH
INC CL
CMP AL,09H
JG A2
A3:
MOV CH,AL
CMP CL,08H
JG A6
CMP CL,00H
JG A5
JMP A4
A4:
MOV AL,0F0H
OUT 60H,AL
JMP A7
A5:
MOV AL,0FFH
OUT 60H,AL
JMP A7
A6:
MOV AL,0FH
OUT 60H,AL
JMP A7
A7:
MOV AH,01H
MOV AL,CL
ADD AL,30H
INT 10H
MOV AH,01H
MOV AL,CH
ADD AL,30H
INT 10H
JMP A9
A8:
MOV AL,0FH
OUT 60H,AL
MOV BX,OFFSET TABLE
MOV AH,06H
INT 10H
A9:
CALL DALLY
MOV AX,010D
INT 10H
JMP A1
DALLY:PUSH CX
PUSH AX
MOV CX,0040H
A10:
MOV AX,056CH
A11:
DEC AX
JNZ A11
LOOP A10
POP AX
POP CX
RET
CODE ENDS
END START
本来就没多少分 希望懂的人都来帮忙下
|