Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MASM (работа с LPT)

1.2K
22 мая 2007 года
piroman17
175 / / 20.07.2006
Я совсем не давно (вчера) начал писать на MASMе и вот наткнулся на такую вещь: ругается на следующий код
 
Код:
;посылаем в LPT-1 значение 01
    mov al,01h
    out 03BCh,al


я так понимаю ему не нравится номер порта 03BCh. Как с этим бороться?
260
22 мая 2007 года
Ramon
1.1K / / 16.08.2003
Первое цифирко "0". Компилятор начинает трактовать сие как восьмеричную константу, а наткнувшись на "h", опухает и ругаетцо. Так же в качестве номера порта можно истпользовать только байтовую константу либо DX.


 
Код:
;посылаем в LPT-1 значение 01
    mov al,1h
    mov dx,3BCh
    out  dx,al
1.2K
22 мая 2007 года
piroman17
175 / / 20.07.2006
Не помогло. :(
Всёравно ругается: error A2070: invalid instruction operands
252
22 мая 2007 года
koderAlex
1.4K / / 07.09.2005
на какую инструкцию именно ?
1.2K
22 мая 2007 года
piroman17
175 / / 20.07.2006
На эту, когда пробовал заменить порт (ради эксперемента) на 43h компилировал нормально.
 
Код:
out 03BCh,al
252
23 мая 2007 года
koderAlex
1.4K / / 07.09.2005
тебеж сказали уже что через DX надо делать .
1.2K
24 мая 2007 года
piroman17
175 / / 20.07.2006
Опять вопрос по поводу порта. Я вывожу на LPT1 часло FF
 
Код:
mov dx,3BCh
    mov al,0FFh
    out dx,al


мерею напряжение на физическом LPT1, но там нет 5 вольт, т.е. логической еденицы. Подскажите, плиз, в чём дело.

p.s. ос- WinXP, код внутри драйвера (права на вывод в порт есть).
252
24 мая 2007 года
koderAlex
1.4K / / 07.09.2005
наверно в том что активный сигнал (лог. 1) низкий в лпт .
1.2K
24 мая 2007 года
piroman17
175 / / 20.07.2006
Скорее всего нет, как был низкий (до команды), так и остался низкий (после команды).
252
24 мая 2007 года
koderAlex
1.4K / / 07.09.2005
какие пины смотриш ?
1.2K
24 мая 2007 года
piroman17
175 / / 20.07.2006
Вот схема.
1.6K
24 мая 2007 года
Vov4ick
476 / / 01.02.2007
В LPT (АКА ИРПР-М) логическоу "1" соответствует +5В относительно корпуса, соответственно лог. "0" около ноля вольт.
Разводка здесь
http://www.hardwarebook.info/Parallel_(PC)
http://www.hardwarebook.info/ECP_Parallel
1.2K
24 мая 2007 года
piroman17
175 / / 20.07.2006
Цитата: Vov4ick
В LPT (АКА ИРПР-М) логическоу "1" соответствует +5В относительно корпуса, соответственно лог. "0" около ноля вольт.
Разводка здесь
http://www.hardwarebook.info/Parallel_(PC)
http://www.hardwarebook.info/ECP_Parallel



Да это я знаю, лучше подскажи как код исправить чтоб всё работало...

1.6K
24 мая 2007 года
Vov4ick
476 / / 01.02.2007
Код-это те три строчки?
Я всегда думал, что базовый адрес LPT1 - 378h. Адрес, который ты использовал он имеет если располагается на плате MDA.
соответственно Base+0 - регистр данных, base+1 - регистр состояния, base+2 - регистр управления. Если нужно подробнее, могу запостить доку.
1.2K
24 мая 2007 года
piroman17
175 / / 20.07.2006
Vov4ick, спасибо огромное. 378h - действительно тот адрес.
252
25 мая 2007 года
koderAlex
1.4K / / 07.09.2005
мдя ... а я не заметил . :) память у мну дырявая . :)
1.2K
25 мая 2007 года
piroman17
175 / / 20.07.2006
ещё один глупый вопрос про LPT: вот этот код должен читать данные из порта:
 
Код:
mov cx,1024
    mov dx,378h

    loopWrite:
    mov bx,cx
    in al,dx
    mov buffer[bx],al
    loop loopWrite

Но не смотря какое напряжение на PIN'ах физического порта, он показывает 04h. В чём может быть дело?
1.6K
25 мая 2007 года
Vov4ick
476 / / 01.02.2007
Порт по умолчанию стоит в режиме SPP, то есть линии данных работают только на передачу. Нужно поставить его в режим EPP, или читать данные с ножек, для этого предназначенных (37a-й порт)
1.2K
25 мая 2007 года
piroman17
175 / / 20.07.2006
А как перевесть порт в EPP состояние?
1.6K
25 мая 2007 года
Vov4ick
476 / / 01.02.2007
У меня только бумажная документация по ИРПР-М. В электронном виде, причём родную можно взять здесь: http://www.fapo.com/ieee1284.htm
1.2K
25 мая 2007 года
piroman17
175 / / 20.07.2006



Там на английском всё, а я в ним не очень дружу :( .

Объясните, плиз, в двух словах как это сделать...

1.6K
25 мая 2007 года
Vov4ick
476 / / 01.02.2007
Вот дока по ECP
1.2K
25 мая 2007 года
piroman17
175 / / 20.07.2006
Vov4ick, огромное спасибо за доку, на конец то разобрался!
1.6K
25 мая 2007 года
Vov4ick
476 / / 01.02.2007
Пожалуйста ;-)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог