双机通信.txt

来自「双机通讯」· 文本 代码 · 共 95 行

TXT
95
字号
双机通讯源程序
;发送程序
.model small
.data
    msg db 'Please input the message you want to send:',0dh,0ah,'$'  	prompt db 0dh,0ah,'Now send...',0dh,0ah,'$'
    string db 50h dup(?)
.code 
.startup 
	lea dx,msg   ;显示提示信息
	mov ah,9
	int 21h
	lea bx,string
input:		       ;以循环输入字符的方式输入字符串,ESC结束
	mov ah,1
	int 21h
	cmp al,1bh
	jz inputover
	cmp al,0dh 
	jnz ok 
	mov dl,0ah
	mov ah,2
	int 21h
	mov [bx],0dh
	inc bx
	mov [bx],0ah
	inc bx
	jmp input
ok:
	mov [bx],al
	inc bx 
	jmp input
inputover:
    mov [bx],al
    inc bx
    mov [bx],0ffh
    lea dx,prompt   ;显示提示信息
	mov ah,9
	int 21h	
	mov al, 0e3h    ;初始化通信口COM1 
	mov dx, 0 
	mov ah, 0 
	int 14h          
	lea bx, string 
again:	
    mov al, [bx]
    inc bx 
send:
    mov dx,0
	mov ah, 1 
	int 14h 
	test ah, 80h     
	jnz send         
	cmp al,0ffh
	jz quit 
	jmp again
quit:
    mov ah,1
    int 21h 
.exit 0 
end

;接收程序
.model small
.data
  	prompt db 'Please wait...',0dh,0ah,'$'
.code 
.startup 
	lea dx,prompt   ;显示提示信息
	mov ah,9
	int 21h	
	mov al, 0e3h    ;初始化通信口com1 
	mov dx, 0 
	mov ah, 0 
	int 14h          
check:           	  ;监测状态
    mov dx,0
    mov ah,3
    int 14h
    test ah,1
    jz check
    mov dx,0        ;接收字符
    mov ah,2
    int 14h
    cmp al,1bh
    jz quit
    mov dl,al
    mov ah,2
    int 21h
    jmp check
quit:
    mov ah,1
    int 21h
.exit 0 
end

⌨️ 快捷键说明

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