IOY0 EQU 3000H
IOY1 EQU 3001H
IOY2 EQU 3002H
IOY3 EQU 3003H
MY8255_A EQU IOY0+00H*4
MY8255_B EQU IOY0+01H*4
MY8255_C EQU IOY0+02H*4
MY8255_CON EQU IOY0+03H*4
MY8259_0 EQU IOY1+00H
MY8259_1 EQU IOY1+01H
MY8254_0 EQU IOY2+00H*16
MY8254_1 EQU IOY2+01H*16
MY8254_3 EQU IOY2+02H*16
MY8254_CON EQU IOY2+03H*16
DATA SEGMENT
MESS1 DB 'THE TRAFFIC LIGHTS CONTROL SYSTEM',0AH,0DH,'$'
MESS2 DB 'PRESS 'ESC' TO EIXT',0AH,0DH,'$'
TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
DATA ENDS
STACK SEGMENT STACK 'STACK'
DB 256 DUP(?)
STACK ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,STACK
MOV SS,AX
MOV AX,DATA
MOV DS,AX
CLI
MOV DX,OFFSET MESS1
MOV AH,09H
INT 21H
MOV DX,OFFSET MESS2
MOV AH,09H
INT 21H
MOV AL,72H ;取原中断向量
MOV AH,35H
INT 21H
PUSH ES
PUSH BX
PUSH DS
MOV AX,SEG IRQ0
MOV DS,AX
MOV DX,OFFSET IRQ0
MOV AL,72H
MOV AH,25H
INT 21H
POP DS
MOV AL,10000000B ;8255的A,B口工作在方式0(基本输入输出,输出可锁存)C口作输出有锁存