Интерфейсы и периферийные устройстваРефераты >> Программирование и компьютеры >> Интерфейсы и периферийные устройства
mov dh,10
mov dl,23
mov bp,offset mes5
call symv ;вывод на экран строки симв.
jmp exit
m03: test al,01h
jnz m4
test al,20h
jz try
ret
check endp
;Работа с портом
work proc
m4: mov ah,0
int 16h
push ax
push ax
mov dx,es:[0]
add dx,5
mov cx,10
m1: in al,dx
test al,20h
jz m2
loop m1
m2: sub dx,5
pop ax
out dx,al
add dx,5
m3: in al,dx
test al,1
jz m3
sub dx,5
in al,dx
mov ah,0Eh
int 10h
pop ax
cmp al,1Bh
jne m4
ret
work endp
;Выход из программы
exit: mov ax,4C00h
int 21h
nrv6: call clsym
ret
;ПП Экран: ярко-белые символы на синем фоне.---------------------------------
clear: mov ah,06h ;функция задания окна
mov al,0 ;режим создания
mov bh,1Fh ;атрибут символов - c/ярко-б
mov ch,0 ;верхняя Y-координата
mov cl,0 ;левая Х-координата
mov dh,24 ;нижняя Y-координата
mov dl,79 ;правая Х-координата
int 10h ;прерывание BIOS
ret
;ПП. Вывод на экран строки символов.-----------------------------------------
symv: mov ah,13h
mov al,0
mov bh,0
mov bl,1Fh
push ds
pop es
int 10h
ret
;ПП. Идентификация нажатой клавиши.------------------------------------------
nklav: lahf
or ah,01000000b
sahf
nrv1: mov ah,11h
int 16h
jz nrv1
ret
;ПП. Стирание из буфера символа.---------------------------------------------
clsym: mov ax,0C00h
int 21h
ret
;ПП. Задержка----------------------------------------------------------------
delay: mov ah,86h
mov cx,0
int 15h
ret
;
;ДАННЫЕ.---------------------------------------------------------------------
mes1 db 'ПРОГРАММА - "COM"'
len1=$-mes1
mes2 db '1. Передача данных в СОМ-порт.'
len2=$-mes2
mes3 db '2. Выход из программы.'
len3=$-mes3
mes4 db 'Наберите выводимый в СОМ-порт текст с помощью клавиатуры.'
len4=$-mes4
buf1 db 100 dup('*')
mes5 db 'Ошибка порта СОМ 1',7,0Dh,0Ah,S
len5=$-mes5
;----------------------------------------------------------------------------
end start