微机实验:流水灯控制

流水灯控制

如图2所示,74LS373锁存器的输出控制LED发光管的亮暗(1:亮,0:暗),端口地址为0E0H。
在这里插入图片描述图2

如图3所示,74HC245收发器的B端连接8个开关,ON为0,OFF位1,端口地址为0E4H。
图3
图3

问题:实现以下程序要求:
当仅有第一个开关拨到ON,8个LED灯自上而下依次发光;
当仅有第二个开关拨到ON,8个LED灯闪烁发光。
在这里插入图片描述

OUT373	EQU	0E0H
IN245	EQU	0E4H
CODE 	SEGMENT  
        ASSUME CS:CODE
START:		
	MOV BH,00000001B
S:		
	IN  AL,IN245	
	NOT AL			
	CMP AL, 00000001B
	JNZ S1
	MOV AL,BH
	ROL BH,1
	CALL DELAY
	OUT OUT373,AL
	JMP S
		
S1:		
	MOV BH,01H
	CMP AL, 00000010B
	JZ S2
	OUT OUT373,AL
	JMP S

S2:		
	MOV AL, 01010101B
	MOV CX,2
		
L:		
	NOT AL
	OUT	OUT373,AL
	LOOP L
	JMP S		

DELAY	PROC                  
	MOV CX,0FFFFH
NEXT:	
	NOP
	LOOP NEXT
	RET                 
DELAY	ENDP
			
CODE  	ENDS
	END	START