📄 paracomms.asm
字号:
;*-------------------------------------------------------*/
;* ParaCommS.asm(双机并行通信接口实验-发送端程序) */
;* 并行通信发送程序 Source File */
;* Copyright (c) 2001 by HUST */
;* Modify Date 2005.4.10 */
;*------------------------------------------------------ */
Stack1 segment
dw 200 dup(?)
stack1 ends
data segment
message db'please input char and strike "enter" to send char' ;系统提示信息
db 0dh,0ah
db'strike "esc" to exit ',0dh,0ah,'$'
wait_mes db'receive no ready !if want to exit,please strike ESC',0dh,0ah,'$'
data ends
code segment
assume cs:code,ds:data,ss:stack1
start: mov ax,data
mov ds,ax ;取程序数据段地址
mov ax,stack1
mov ss,ax
lea dx,message
mov ah,09h ;显示系统提示信息
int 21h
main proc near
mov dx,303h
mov al,10100000b
out dx,al
delay: mov cx,100
lop: loop lop
mov al,0dh ;置INTEA=1
out dx,al
mov bl,01h ;发送联络字符
mov dx,300h
mov al,bl
out dx,al
l: mov ah,0bh ;查有任意键按下?
int 21h
cmp al,0
je l ;若无键按下,则等待
mov ah,01
int 21h
cmp al,1bh
jz over ;若是ESC键,则退出
mov bl,al ;保存按键字符→bl
check: mov cx,200 ;检测200次
lop1: mov dx,302h ;检查发送准备好?
in al,dx
and al,08h
jnz send ;若准备好,则转发送
dec cx
jnz lop1
jmp show ;若未准备好,则显示提示信息
send: mov dx,300h ;发送按键字符
mov al,bl
out dx,al
jmp l ;继续
show: lea dx,wait_mes ;显示提示信息
mov ah,09h
int 21h
jmp l
over: mov ax,4c00h ;程序退出
int 21h
main endp
code ends
end start
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -