汇编高手进来,帮忙看一段程序

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:40:10
我想用下面这段代码实现两台计算机之间的通信~~
弄好之后发现能看见对方输入的字符,但是无法实现回车换行,并且在一台计算机上输入的字符会覆盖掉另外一台计算机已经输入的字符~~
希望高手指点下~~~
STACK SEGMENT
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK
START: MOV DX,3FBH
MOV AL,80H
OUT DX,AL

MOV DX,3F8H
MOV AL,0C0H
OUT DX,AL

MOV DX,3F9H
MOV AL,00H
OUT DX,AL

MOV DX,3FBH
MOV AL,1BH
OUT DX,AL

MOV DX,3FCH
MOV AL,03H
OUT DX,AL

MOV DX,3F9H
MOV AL,00H
OUT DX,AL
REPEAT: MOV DX, 3FDH
IN AL, DX
TEST AL, 01H
JNZ RECEIV
TEST AL, 20H
JZ REPEAT

MOV AH, 01H
INT 16H
JZ REPEAT
MOV AH, 00H
INT 16H
CMP AL,27;是结束符吗
JZ RE

PUSH AX
PUSH BX

呵呵,楼主我们学院的,正好我们做这个实验,给你个程序试试 ,后面修改了下
STACK SEGMENT
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,SS:STACK
START: MOV DX,3FBH
MOV AL,80H
OUT DX,AL ;线路控制寄存器(3FBH) 的最高位置1

MOV DX,3F8H
MOV AL,0C0H
OUT DX,AL

MOV DX,3F9H
MOV AL,00H
OUT DX,AL ;设波特率为600

MOV DX,3FBH
MOV AL,1BH
OUT DX,AL;设置数据字节格式,8位数据位,1位停止位,偶校验

MOV DX,3FCH
MOV AL,03H
OUT DX,AL;设置MODEM控制方式

MOV DX,3F9H
MOV AL,00H
OUT DX,AL;设置通信方式为查询方式
RPEAT: MOV DX, 3FDH
IN AL, DX
TEST AL, 01H
JNZ RECEIV
TEST AL, 20H
JZ RPEAT

MOV AH, 01H
INT 16H;键盘IO调用,读键盘缓冲区字符
JZ RPEAT;无字符输入跳转
MOV AH, 00H;从键盘读字符
INT 16H
CMP AL,27;是结束符"ESC"吗
JZ RE

MOV DX, 3F8H ;发送字符
OUT DX, AL

CMP AL,13;是回车吗
JZ HH
PUSH AX
PUSH BX
MOV BL, 00H;bl表示显示字符前景色
MO