📄 jiekoc.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 + -