资源描述
DATA SEGMENT
IOPORT EQU 0D880H-280H
IO8255A EQU IOPORT+280H
IO0832A EQU IOPORT+2A0H
IO8255C EQU IOPORT+282H
IO8255T EQU IOPORT+283H
BUF1 DW 0
BUF2 DW 0
CRT DB 'K0 IS LOWS PEED SWITCH',0DH,0AH
DB 'K1 IS MIDS PEED',0DH,0AH
DB 'K2 IS HIGH SPEED',0DH,0AH
DB 'K3 IS NORMAL SPEED',0DH,0AH
DB 'K4 IS NATURE SPEED',0DH,0AH
DB 'K5 IS SLEEP SPEED',0DH,0AH
DB 'STIR ANY SWHITCH, VIEW ELECTRIC MORTOR SPEED', 0DH, 0AH
DB 'ENTER ANY KEY CAN EXIT TO DOS', 0DH, 0AH,'$'
DATA ENDS
STACKS SEGMENT
DB 100 DUP(?)
STACKS ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA, SS: STACKS,ES: DATA
START: MOV AX, DATA
MOV DS,AX
MOV ES,AX
MOV AX,STACKS
MOV SS,AX
MOV DX,OFFSET CRT
MOV AH,09H
INT 21H
MOV DX,IO8255T
MOV AL,8BH
OUT DX,AL
JIANCE1:MOV AL,80H
MOV DX,IO0832A
OUT DX,AL
JIANCE2:PUSH DX
MOV AH,06h
MOV DL,0FFH
INT 21H
POP DX
JE INTK
MOV AH,4CH
INT 21H
WAITP PROC
PUSH AX
XOR AX,AX
LOOP1: IN AL,61H
AND AL,10H
CMP AL,AH
JE LOOP1
MOV AH,AL
LOOP LOOP1
POP AX
RET
WAITP ENDP
YANSHI PROC
LOOP2: MOV CX,33144
CALL WAITP
DEC BL
JNZ LOOP2
RET
YANSHI ENDP
INTK: MOV DX,IO8255C
IN AL,DX
TEST AL,01H
JNZ K0
TEST AL,02H
JNZ K1
TEST AL,04H
JNZ K2
TEST AL,08H
JNZ K3
TEST AL,10H
JNZ K4
TEST AL,20H
JNZ K5
JMP JIANCE1
K0:
MOV DX,IO8255A
MOV AL,3FH
OUT DX,AL
MOV BUF1,0FFFFH
MOV BUF2,9000H
DELAY: MOV CX,BUF1
DELAY1: LOOP DELAY1
MOV AL,0FFH
MOV DX,IO0832A
OUT DX,AL
MOV CX,BUF2
DELAY2: LOOP DELAY2
JMP JIANCE1
OUTLV PROC
MOV AL,80H
MOV DX,IO0832A
OUT DX,AL
RET
OUTLV ENDP
OUTHV1 PROC
MOV AL,0CFH
MOV DX,IO0832A
OUT DX,AL
RET
OUTHV1 ENDP
OUTHV2 PROC
MOV AL,0AFH
MOV DX,IO0832A
OUT DX,AL
RET
OUTHV2 ENDP
K1: MOV BUF1,0FFFFH
MOV BUF2,0E000H
MOV DX,IO8255A
MOV AL,06H
OUT DX,AL
JMP DELAY
K2: MOV BUF1,0FFFFH
MOV BUF2,0FFFFH
MOV DX,IO8255A
MOV AL,5BH
OUT DX,AL
JMP DELAY
K3: MOV BUF1,0FFFFH
MOV BUF2,0A000H
MOV DX,IO8255A
MOV AL,4FH
OUT DX,AL
JMP DELAY
K4:
MOV DX,IO8255A
MOV AL,66H
OUT DX,AL
CALL OUTHV1
MOV BL,128
CALL YANSHI
CALL OUTLV
MOV BL,128
CALL YANSHI
JMP JIANCE2
K5:
MOV DX,IO8255A
MOV AL,6DH
OUT DX,AL
CALL OUTHV2
MOV BL,64
CALL YANSHI
CALL OUTLV
MOV BL,128
CALL YANSHI
JMP JIANCE2
CODE ENDS
END START
展开阅读全文