. 编写程序,使8255端口A工作在方式0并作为 输出口,端口B工作在方

2024-12-05 04:30:21
推荐回答(1个)
回答1:

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