Showing posts with label Parallel Comm. Show all posts
Showing posts with label Parallel Comm. Show all posts

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