DATA SEGMENT
IOPORT EQU 0D880H-280H
IO8255A EQU IOPORT+280H
IO8255B EQU IOPORT+281H
IO8255C EQU IOPORT+282H
IO8255T EQU IOPORT+283H
MESS DB 'PLEASE ENTER ANY KEY WHEN READY!',0DH,01H,'$'
DATA ENDS
STACK SEGMENT
STA DW 50 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
MOV AH,09H
MOV DX,OFFSET MESS
INT 21H
MOV AH,01H
INT 21H
MOV DX,IO8255T
MOV AL,80H
OUT DX,AL
LOP1: MOV CX,03H
MOV DX,IO8255A
MOV AL,80H
PUSH CX
MOV CX,0AH
LOP2: OUT DX,AL
SAR AL,1
LOOP LOP2
POP CX
INC DX
DEC CX
JNZ LOP1
LOP3: MOV CX,03H
MOV DX,IO8255A
MOV AL,80H
PUSH CX
MOV CX,0AH
LOP4: OUT DX,AL
SHR AL,1
LOOP LOP4
POP CX
INC DX
DEC CX
JNZ LOP3
LOP5: MOV CX,03H
MOV DX,IO8255A
MOV AL,80H
PUSH CX
MOV CX,0AH
LOP6: OUT DX,AL
MOV DL,03H
SHR AL,1
LOOP LOP6
POP CX
INC DX
DEC CX
JNZ LOP5
LOP7: MOV CX,04H
MOV DX,IO8255A
MOV AL,80H
PUSH CX
MOV CX,03H
LOP8: OUT DX,AL
SHR AL,1
LOOP LOP8
POP CX
INC DL
DEC CX
JNZ LOP7
MOV AH,06H
MOV DL,0FFH
INT 21H
JNZ LOP9
JMP LOP1
LOP9: MOV AX,4C00H
INT 21H
CODE ENDS
END START
```![图片说明](https://img-ask.csdn.net/upload/201912/23/1577113587_581057.png)