8255

甲机发送程序:

DATA  SEGMENT

AAA1: DB  1024 DUP(?)

DATA  ENDS

CODE  SEGMENT

      ASSUME CS:CODE,DS:DATA

BBB1: MOV AX,DATA

      MOV DS,AX

      MOV AL,0A0H

      OUT 66H,AL;送A口方式1输出控制字

      MOV AL,0DH;置发送中断允许INTEA=1

      OUT 66H,AL;PC6=1

      LEA BX,AAA1;取发送数据内存首址

      MOV CX,3FFH;发送字节数

      MOV AL,[BX];向A口写第一个数,产生第一个信号

      OUT 60H,AL;送给对方,以便获取对方的信号

      INC BX;内存加1

      DEC CX;字节数减1

BBB2: IN AL,64H;取状态PC3

      AND AL,08H;查发送断请求INTRA=1

      JZ BBB2;若无中断请求,则等待

      MOV AL,[BX];从内存取数

      OUT 60H,AL;通过A口向乙机发送第二个数据

      INC BX;内存地址加1

      LOOP BBB2;字节数减1

      MOV AH,4CH

      INT 21H

CODE  ENDS

      END BBBH

乙机接收程序

DATA  SEGMENT

AAA1  DB 1024 DUP(?)

DATA  ENDS

CODE  SEGMENT

      ASSUME CS:CODE,DS:DATA

BBB1: MOV AX,DATA

      MOV DS,AX

      MOV AL,089H

      OUT 66H,AL

      MOV AL,01H

      OUT 66H,AL

      LEA BX AAA1

      MOV CX,3FFH

BBB2: IN AL,64H

      AND AL,10H

      JNZ BBB2

      IN AL,60H   

      MOV [BX],AL

      MOV AL,00H

      OUT 66H,AL

      NOP  

      NOP

      MOV AL,01H

      OUT 66H,AL

      INC BX

      LOOP BBB2

      MOV AH,4CH

      INT 21H

CODE  ENDS

      END BBB1

猜你喜欢

转载自www.cnblogs.com/masterchd/p/9264279.html