Saturday, 16 August 2014

Communication between two Microprocessors using 8255 Interface in 8086

;8086 Interfaced with 8255 PPI and Programmed as Transmitter
OUTPUT 2500AD
.ORG 2000H

DATA SEGMENT
LIST DB AAH,BBH,CCH,DDH,EEH
DATA ENDS

CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:
        MOV AX,DATA
        MOV DS,AX
        MOV SI,OFFSET LIST
        MOV CL,05H
        MOV AL,A0H
        MOV DX,FFE6H
        OUT DX,AL
        MOV AL,0DH
        MOV DX,FFE6H
        OUT DX,AL
L1:
        MOV DX,FFE4H
        IN AL,DX
        AND AL,08H
        CMP AL,00H
        JZ L1
        MOV AL,[SI]
        MOV DX,FFE0H
        OUT DX,AL
        INC SI
        DEC CL
        JNZ L1
CODE ENDS
END
;8086 Interfaced with 8255 PPI and Programmed as Receiver
        OUTPUT 2500AD
.ORG 2000H

DATA SEGMENT
DATA ENDS

CODE SEGMENT
    ASSUME CS:CODE,DS:DATA
START:
        MOV AX,DATA
        MOV DS,AX
        MOV SI,OFFSET LIST
        MOV CL,05H
        MOV AL,B0H
        MOV DX,FFE6H
        OUT DX,AL
        MOV AL,09H
        MOV DX,FFE6H
        OUT DX,AL
L1:
        MOV DX,FFE4H
        IN AL,DX
        AND AL,08H
        CMP AL,00H
        JZ L1
L2:
        MOV DX,FFE0H
        IN AL,DX
        MOV [SI],AL
        INC SI
        DEC CL
        JNZ L2
CODE ENDS
END

No comments:

Post a Comment