![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 18.09.2009
Сообщений: 133
|
![]()
Всем доброго времени суток...!!! Возникла проблема с выводом символа на принтер через прерывание 17h...любой из 3-х портов, загружаемых в dx, является параллельным...каким образом вывести символы на принтер, подключенный через USB...?
![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
JeyKip
а учебник за эту неделю пробовал хоть раз открыть? |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 31.05.2009
Сообщений: 786
|
![]()
Напрямую никак. Либо через прослойку типа Dosprinter и прерывание INT 17h, либо через API Windows.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 18.09.2009
Сообщений: 133
|
![]()
еще раз всем добрый день...с выводом на печат разобрался через параллельный порт, но мне нужно еще установить режим двойной ширины(управляющий код 14d, снять - 20d) и плотной печати (установить - 15d, снять - 18d)...не могу понять, как эти коды нужно передать принтеру...ничего не получается, когда передаю через регистры и прерывание 17h...помогите, пожалуйста...!!!
codesg segment assume cs:codesg, ds:codesg, es:codesg, ss:codesg org 100h begin: jmp main string db 'Vdrug zarabotaet','H' ;строка для прогона страницы pr_str db 10,13,'H' main proc near ;инициализация порта с номером 0 mov ah,01h mov dx,0 int 17h mov dx,offset pr_str ;3 раза прогнать страницу mov dl,3 @cic: ;смещение на начало строки mov bp,0 jmp @progon @progon: lea si,[pr_str+bp] mov ah,00h mov al,[si] cmp al,48h ;пока не 'Н' выводить символы je @ad int 17h inc bp ;увеличить смещение по строке на 1 loop @progon ;цикл на прогон страницы 3 раза @ad: dec dl cmp dl,0 jne @cic mov bp,0 ;вывод текста на принтер @vivod: lea si,[string+bp] mov ah,00h mov al,[si] cmp al,48h je @exit mov dx,0 int 17h inc bp loop @vivod @exit: mov ah,02h int 10h ret main endp codesg ends end begin |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
JeyKip
Ищи в инете: Р.Джордейн Справочник программиста персональных компьютеров типа IBM PC, XT и AT. там сть глава посвященная принтеру и управлением вывода на печать через Esc-последовательности (режим двойной ширины, плотной печати, курсив и т.д.) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
прерывание в Си | Misha_M. | Помощь студентам | 2 | 04.02.2010 20:11 |
Прерывание приложения | cherry25 | БД в Delphi | 6 | 21.08.2009 08:34 |
6 прерывание | ленусик | Фриланс | 1 | 03.06.2008 16:22 |
6 прерывание | ленусик | Помощь студентам | 5 | 30.05.2008 16:57 |