SSTACK SEGMENT STACK
DW 32 DUP(?)
SSTACK ENDS
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX, 0646H ;控制端口地址0646H送DX,因为8255的cs端口接的是I0Y1,而I0Y1对应的编址空间是0640H-067FH,所以这里是0646H。
MOV AL, 90H ;方式选择控制字送AL
OUT DX, AL ;式选择控制字输给8255A的控制端口,完成端口 A 工作在方式 0 并作为输入口,端口 B 工作在方式 0 并作为输出口。
AA1: MOV DX, 0640H ;控制端口A地址0640H送DX
IN AL, DX ;端口A连接的开关的对应状态送给AL
CALL DELAY
MOV DX, 0642H ;控制端口A地址0642H送DX
OUT DX, AL ;将AL的数据送到8255的端口B,从而使其连接的LED的灯发光
JMP AA1
DELAY:
PUSH CX
MOV CX, 0F00H
AA2:
PUSH AX
POP AX
LOOP AA2
POP CX
RET
CODE ENDS
END START