⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jiekoc.txt

📁 pc机并行接口实验 利用pc的基本并行通信
💻 TXT
字号:
L-DATA-PORT EQU 378H
L-STATUS-PORT EQU 379H
L-CON-PORT EQU 37AH
S-STA-NBUSY EQU 80H
S-CON-NSTROBE EQU 01H
S-CON-STROBE EQU 0H
S-CON-NAUTOFD EQU 02H
S-CON-AUTOFD EQU 0H
S-STA-ACK EQU 40H
DATA SEGMENT
INFO DB 13,10
   DB 'Please select (S=Sending or r=Receiving)'
   DB '$'
SENDINFO DB 13,10
   DB 'Sending...'
   DB 13,10
   DB '$'
RECEIVEINFO DB 13,10
   DB 'Receiving......'
   DB 13,10
   DB '$'
DATA ENDS

CSEG SEGMENT
ASSUME CS:CSEG, DS:DATA
START PROC FAR
   PUSH DS
   XOR AX,AX
   PUSH AX

   MOV AX,DATA
   MOV DS,AX

   MOV DX, OFFSET INFO
   MOV AH,9
   INT 21H

   CMP AL,'S'
   JNE NEXT
SENDING
   CALL SEND
   RET
NEXT:
   CMP AL,'r'
   JE RECEIVING
   CMP AL,'R'
   JNE QUIT
RECEIVING:
   CALL RECEIVE
QUIT:RET
START ENDP

SEND PROC

   MOV DX,OFFSET SENDINFO
   MOV AH,9
   INT 21H

WAIT1:

   MOV DX,L-STATUS-PORT
   IN AL,DX
   TEST AL,S-STA-NBUSY
   JZ WAIT1

   MOV AH,01H
   INT 21H

   MOV AH,AL
   MOV DX,L-DATA-PORT
   OUT DX,AL

WAITAUTOFD1:
   MOV DX,L-STATUS-PORT
   IN AL,DX
   TEST AL,S-STA-NBUSY
   JNZ WAITAUTOFD1
   MOV DX,L-CON-PORT
   MOV AL,S-CON-STROBE
   OUT DX,AL

WAIT2:MOV DX,L-STATUS-PORT
   IN AL,DX
   TEST AL,S-STA-NBUSY
   JZ WAIT2

   MOV AL,AH
   MOV CL,4
   SHR AL,CL

   MOV DX,L-DATA-PORT
   OUT DX,AL

   MOV DX,L-CON-PORT
   MOV AL,S-CON-NSTROBE
   OUT DX,AL

WAITAUTOFD2:
   MOV DX,L-STATUS-PORT
   IN AL,DX
   TEST AL,S-STA-NBUSY
   JNZ WAITAUTOFD2

   MOV DX,L-CON-PORT
   MOV AL,S-CON-STROBE
   OUT DX,AL

   CMP AH,'!'
   JE END1
   JMP WAIT1
END1:RET
SEND ENDP

RECEIVE PROC

   MOV DX,OFFSET RECEIVEINFO
   MOV AH,9
   INT 21H

   MOV DX,L-CON-PORT
   MOV AL,S-CON-NAUTOFD
   OUT DX,AL

WAIT3:MOV DX,L-STATUS-PORT
   IN AL,DX
   TEXT AL,S-STA-ACK
   JNZ WAIT3

   MOV DX,L-STATUS-PORT
   IN AL,DX

   MOV DL,AL
   MOV AH,0
   AND AL,38H
   MOV CL,3
   SHR AL,CL
   OR AH,AL
   MOV AL,DL
   XOR AL,80H
   AND AL,80H
   MOV CL,4
   SHR AL,CL
   OR AH,AL

   MOV DX,L-CON-PORT
   MOV AL,S-CON-AUTOFD
   OUT DX,AL

   MOV CX,0FFH
DELAY1:
   LOOP DELAY1

   MOV DX,L-CON-PORT
   MOV AL,S-CON-NAUTOFD
   OUT DX,AL

WAIT4:MOV DX,L-STATUS-PORT
   IN AL,DX
   TEST AL,S-STA-ACK
   JNZ WAIT4

   MOV DX,L-STATUS-PORT
   IN AL,DX
   MOV DL,AL
   AND AL,38H
   SHL AL,1
   OR AH,AL
   MOV AL,DL
   XOR AL,80H
   AND AL,80H
   OR AL,AH

   MOV DL,AL
   MOV AH,2
   INT 21H

   CMP AL,'!'
   JE END2

   MOV DX,L-CON-PORT
   MOV AL,S-CON-AUTOFD
   OUT DX,AL

   MOV CX,0FFH
DELAY2:
   LOOP DELAY2

   MOV DX,L-CON-PORT
   MOV AL,S-CON-NAUTOFD
   OUT DX,AL

   JMP WAIT3

   END2:RET

   RECEIVE ENDP
   CSEG ENDS
   END START

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -