stack segment stack'stack'
stack ends
code segment
assume ss:stack,cs:code
START:push ds
sub ax, ax
push ax
MOV DX,3AH ;端口地址
;都拉低
MOV AL,80H ;全设为输出
OUT DX,AL ;写入
MOV DX,22H ;A端口地址送DX
MOV AL,00H
OUT DX,AL
MOV DX,2AH ;B端口地址送DX
MOV AL,00H
OUT DX,AL
MOV DX,32H ;C端口地址送DX
MOV AL,00H
OUT DX,AL
MOV DX,3AH ;端口地址
MOV AL,8BH ;方式选择字10001011 A0出 B0进 C0进
OUT DX,AL ;写入
; MOV BX,2
;按键输入
WHILE:
MOV DX,2AH;开关读入
IN AL,DX ;开关读入
CMP AL,0FEH
JZ START1
JMP WHILE
;手动干预模式
START2:
MOV DX,38H ;1000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP1:
MOV DX,3AH ;端口地址
MOV AL,8BH ;方式选择字10001011 A0出 B0进 C0进
MOV DX,32H;开关读入
IN AL,DX ;开关读入
CMP AL,0f7H
OUT DX,AL ;写入
MOV DX,2AH;开关读入
IN AL,DX ;开关读入
CMP AL,0fdH
JNZ JMP2
MOV AL,00H
MOV DX,22H ;LED输出
OUT DX,AL
MOV DX,38H ;1000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,11H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP1
JMP2: MOV DX,2AH;开关读入
IN AL,DX ;开关读入
CMP AL,0fbH
JNZ JMP3
MOV AL,01H
MOV DX,22H ;LED输出
OUT DX,AL
MOV DX,38H ;1500HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV Al,10H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP2
JMP3: MOV DX,2AH;开关读入
IN AL,DX ;开关读入
CMP AL,0f7H
JNZ JMP4
MOV AL,02H
MOV DX,22H ;LED输出
OUT DX,AL
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,09H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP3
JMP4: MOV DX,2AH;开关读入
IN AL,DX ;开关读入
CMP AL,0efH
JNZ JMP5
MOV AL,03H
MOV DX,22H ;LED输出
OUT DX,AL
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,08H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP4
JMP5: MOV DX,2AH;开关读入
IN AL,DX ;开关读入
CMP AL,0dfH
JNZ JMP6
MOV AL,04H
MOV DX,22H ;LED输出
OUT DX,AL
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,07H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP5
JMP6: MOV DX,2AH;开关读入
IN AL,DX ;开关读入
CMP AL,0bfH
JNZ JMP7
MOV AL,05H
MOV DX,22H ;LED输出
OUT DX,AL
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,06H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP6
JMP7: MOV DX,2AH;开关读入
IN AL,DX ;开关读入
CMP AL,07fH
JNZ JMP8
MOV AL,06H
MOV DX,22H ;LED输出
OUT DX,AL
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,05H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP7
JMP8: MOV DX,32H;开关读入
IN AL,DX ;开关读入
CMP AL,0feH
JNZ JMP9
MOV AL,07H
MOV DX,22H ;LED输出
OUT DX,AL
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,04H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP8
JMP9: MOV DX,32H ;开关读入
IN AL,DX ;开关读入
CMP AL,0fdH
JNZ JMP10
MOV AL,08H
MOV DX,22H;LED输出
OUT DX,AL
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,03H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP9
JMP10: MOV DX,32H
IN AL,DX
CMP AL,0fbH
JNZ JMP11
MOV AL,09H
MOV DX,22H;LED输入
OUT DX,AL
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,02H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP10
JMP11: MOV DX,32H
IN AL,DX
CMP AL,0f7H
JNZ JMP12
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,12H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP11
JMP12: MOV DX,32H
IN AL,DX
CMP AL,0EFH
JNZ JMP13
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,13H
OUT DX,AL
MOV AL,00H
OUT DX,AL
LOOP $
MOV DX,38H ;000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,80H
OUT DX,AL
MOV AL,50H
OUT DX,AL
JMP JMP12
JMP13: MOV DX,32H
IN AL,DX
CMP AL,0DFH
JNZ JMP14
MOV DX,38H ;2000HZ
MOV AL,35H
OUT DX,AL
MOV DX,20H
MOV AL,14H
OUT DX,AL