甲机发送程序:
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