Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 11.03.2012
Сообщений: 4

Возможно ли взаимодействие с Assembler

12.03.2012, 10:24. Показов 4303. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно ли использование в quick.basic.4.5 ассемблер, для считывания сигналов с Parallel Port Connector и USB?
написание драйверов, для внешних устройств?

версия quick.basic.4.5 не интерпретатор.

если есть литература по ассемблеру для quick.basic.4.5, то пожалуйста дайте ссылку.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2012, 10:24
Ответы с готовыми решениями:

Ошибка Invalid PUBLIC definition (взаимодействие Pascal и Assembler)
Invalid PUBLIC definition (move) Как я понял, эта ошибка в печёнках сидит не у одного меня. Перерыл много форумов, но исправить так и не...

Возможно ли взаимодействие Pascal и Excel
Нужно написать следующую программу: Тело бросают с земли вертикально вверх. Входными данными является начальная скорость, а на выходе...

Возможно ли взаимодействие ADO с OLE
Приветствую всех участников форума! Написал в свое время программку работающую с БД на DAO с использованием OLE. А теперь захотел...

43
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
12.03.2012, 13:29
Не знаю насчёт USB, ни разу не работал с ним(нужна спецификация), касательно LPT - можно
(через I/O порты даже на самом бейсике).
Ассемблер доступен, я использую MASM 5.1, идёт компилятор 1-м файлом(очень удобно).
Более высокие версии асмов нужно устанавливать, они под винду(под досом не имеет смысла
хватает и версии 5.1). Можно TASM(тоже пробовал), тут кому как больше нравится.

Использование:
Компилируешь прогу на ASM'е, получаешь *.OBJ* файл - это объектный модуль, из него создаются
EXE-шники и библиотеки.
Для работы асмовой библиотеки под интерпретатором QuickBasic 4.0 нужно её создать утилитой LINK:
Code
1
LINK /QU /NOE AA.OBJ+File2.LIB+File3.LIB, C:\NEWPATH\AA.QLB, NUL, BQLB40.LIB
В этом примере через командную строку создаётся QLB библиотека AA.QLB и в неё сгружаются
функции из библиотек File2.LIB и File3.LIB, для создания в QuickBasic 4.5 нужно заменить
BQLB40.LIB на BQLB45.LIB ( в самом конце строки ), AA - имя объектного модуля, из которого
делаем *.QLB*.

Для создания *.LIB* библиотеки (требуется для создания *.EXE* файла) пишем так(юзаем LIB.EXE):
Code
1
LIB  AA.LIB+AA.OBJ+File2.LIB;
Тут AA.LIB - новая библиотека, AA.OBJ - объектный файл, а File2.LIB - уже имеющаяся библиотека,
подпрограммы и данные которой перейдут в AA.LIB. LIB.EXE - менеджер библиотек.
Все этапы билда можно засунуть в *.BAT* файлик, так удобнее.

Попробуйте сначала написать небольшой код, для тестирования, чтобы разобраться, а потом уже
ищите спецификацию по LPT и USB (мне почему то кажется, что это гиблое дело, там всё на английском,
много инфы переводить, вот ознакомьтесь).
По LPT ECP: http://affon.narod.ru/LPTECP.html (внизу PDF-ники, скачиваете и листаете)

Также по личному опыту - кодируйте всё по полной, никаких сокращений и макро-фишек
QuickBasic это дело не любит, объявляйте все сегменты и их параметры, следите за стеком
и флагами. Если всё таки решитесь юзать модели памяти - используйте их осторожно и не
миксуйте всё, что в голову взбредёт, повторюсь лучше контроллить самому.

Тематический раздел cyberforum по ассемблеру: https://www.cyberforum.ru/assembler/
там спецы ещё те, литературу вам там и посоветуют(у меня то книг много, но по тек. задаче,
там мало чего).
0
 Аватар для vodav
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
12.03.2012, 19:31
Полностью согласен с предыдущим советом.
Одобряю работу с портами с помощью штатных функций Basic и советую более мощною версию 7.1.
Ищите литературу Купцквича и Колесова, это мэтры в в таком деле.
Давай свое мыло, я те чевой-то кину.

chem2 собака mail.ru
0
Эксперт по электронике
6834 / 3258 / 338
Регистрация: 28.10.2011
Сообщений: 12,731
Записей в блоге: 7
12.03.2012, 20:13
Цитата Сообщение от Жорик8 Посмотреть сообщение
для считывания сигналов с Parallel Port Connector и USB?
Ну с LPT легко можно считать, а вот прямой доступ к контролеру USB не имеет смысла, т. к. на одном контроллере висят много девайсов и нужно с ними работать через драйвер, который будет обращаться к низлежащему драйверу, а тот в свою очередь к драйверу USB контроллера. Это кратко, а на деле все намного сложнее.
Под виндой с этим проще, есть средства для работы с некоторыми классами USB, такими как CDC HID и другими без непосредственного обращения к драйверам.


Цитата Сообщение от Жорик8 Посмотреть сообщение
написание драйверов, для внешних устройств
А вы точно хотите писать их под DOS, или все таки под Windows?
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
13.03.2012, 07:54
Это кратко, а на деле все намного сложнее.
Обнадёжил
Почему-то мне тоже кажется, что лучше в досе этого не делать, ибо драйверы
для USB девайсов под дос надо ещё поискать))).

vodav, можешь смело кидать инфу сюда, польза будет всем.
Или это сверхсекретная коммерческая разработка?
0
 Аватар для vodav
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
13.03.2012, 14:30
Так то хороший объем файлов, 15 лет собирался, я в них уже не лезу, а так, пакетом, без сортировки могу скинуть.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
13.03.2012, 14:54
vodav, мне то это не нужно, а вот ТС и людям, которые кодят LPT и всякие
железки, полагаю, пригодится.
0
2 / 2 / 0
Регистрация: 07.02.2016
Сообщений: 17
23.03.2016, 21:22
vodav, столкнулся с проблемой считывания сигналов (входных) через LPT порт, как реально ,на примере, реализовать это в вейсике ?
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
23.03.2016, 22:01
Цитата Сообщение от тактик Посмотреть сообщение
столкнулся с проблемой считывания сигналов (входных) через LPT порт
А Операционная система какая?
0
2 / 2 / 0
Регистрация: 07.02.2016
Сообщений: 17
23.03.2016, 23:02
операционка - винда хр . проблем с передачей информации по LPT нет ,а вот с приемом .....????
0
 Аватар для vodav
572 / 141 / 37
Регистрация: 12.03.2012
Сообщений: 403
24.03.2016, 06:28
Выложи свой код опроса порта.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
24.03.2016, 08:41
Цитата Сообщение от тактик Посмотреть сообщение
операционка - винда хр . проблем с передачей информации по LPT нет

Весьма удивлен.
Под управлением Windows XP из командной строки, FAR или Total Commander QBASIC не обеспечивает вывод данных на LPT (прямой доступ запрещен).
0
2 / 2 / 0
Регистрация: 07.02.2016
Сообщений: 17
24.03.2016, 21:22
управляю на выход из порта &H378 и &H37A .
пытался изменять потенциал на разъеме снаружи (подавал +5 или землю) смотрел изменения по тем-же адресам
и &H379 - результат ---стоят неизменяемые числа.
что касается запрета прямого доступа ---в компе установлены проги " WndLpt " и " XPlpt " я думаю от них и идет "помощь" хоть я их и не запускаю.
0
Эксперт по электронике
6834 / 3258 / 338
Регистрация: 28.10.2011
Сообщений: 12,731
Записей в блоге: 7
24.03.2016, 23:49
Цитата Сообщение от тактик Посмотреть сообщение
пытался изменять потенциал на разъеме снаружи (подавал +5 или землю) смотрел изменения по тем-же адресам
Надеюсь data-линии порта были настроены на вход?

Мой вам совет. Перейти на бейсик, компилирующий под современные ОС, освоить микроконтроллеры и подключать их по USB к компу.

Не по теме:

Цитата Сообщение от тактик Посмотреть сообщение
в компе установлены проги " WndLpt " и " XPlpt " я думаю от них и идет "помощь"
Ага, QB юзает 32-битные дрова...:D

0
2 / 2 / 0
Регистрация: 07.02.2016
Сообщений: 17
25.03.2016, 20:55
Цитата Сообщение от locm Посмотреть сообщение
Надеюсь data-линии порта были настроены на вход?

Мой вам совет. Перейти на бейсик, компилирующий под современные ОС, освоить микроконтроллеры и подключать их по USB к компу.

Не по теме:

Ага, QB юзает 32-битные дрова...:D

Цитата Сообщение от locm Посмотреть сообщение
Мой вам совет. Перейти на бейсик, компилирующий под современные ОС, освоить микроконтроллеры и подключать их по USB к компу.
вам не приходила в голову мысль в век машин посоветовать людям которые любят ездить на велосипедах посоветовать ездить на машине или летать самолетами ...... ну а к байкерам с таким советом нужно подходить с высоко поднятым белым флагом ......
и зачем писать бесполезное сообщение если не можешь ни чем помочь ???
для вас персонально - почему при изменении сигналов на пинах 10,11,12,13,15 Status регистра при обращении к нему , по адресу &H379, его состояние не меняется .в чем причина. (пока оставим в покое Data регистр)
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
25.03.2016, 21:43
Цитата Сообщение от тактик Посмотреть сообщение
почему при изменении сигналов на пинах 10,11,12,13,15 Status регистра при обращении к нему , по адресу &H379, его состояние не меняется .в чем причина.
Под управлением Windows XP QBASIC не обеспечивает вывод данных на LPT (прямой доступ запрещен).
Я ещё могу несколько раз повторить.
Поставьте на комп DOS и всё будет работать.
Иначе как советует locm, если любите ездить на велике, то переходите на FreeBasic, как современный заменитель QB, подключите к нему inpout32.dll или подобное и работайте с портами без проблем!
0
Эксперт по электронике
6834 / 3258 / 338
Регистрация: 28.10.2011
Сообщений: 12,731
Записей в блоге: 7
25.03.2016, 22:13
Цитата Сообщение от тактик Посмотреть сообщение
для вас персонально - почему при изменении сигналов на пинах 10,11,12,13,15 Status регистра при обращении к нему , по адресу &H379, его состояние не меняется .в чем причина.
Может в некорректной эмуляции DOSа в винде. Я как-то раньше пробовал считывать состояние порта по всем правилам винды (с помощью драйвера) и все работало. Попробуйте запустить программу в DOS и посмотрите будет ли она нормально работать с портом? Потому что в винде при изменении сигналов на входах Status-регистра бывает что "просыпается" драйвер принтера...

Если хотите, можете ззпустить программу из вложения и нажать в ней кнопку "Прочитать Status LPT 1". Программа покажет то что находится в регистре по адресу &H379.

Цитата Сообщение от тактик Посмотреть сообщение
вам не приходила в голову мысль в век машин посоветовать людям которые любят ездить на велосипедах посоветовать ездить на машине или летать самолетами
Тогда не запускайте программы под виндой. Ставьте DOS.
Вложения
Тип файла: zip LPT Status.zip (21.2 Кб, 8 просмотров)
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
26.03.2016, 01:35
тактик, под чистым досом гоняли? Попробуйте.
Тоже помню с саунд бластером долго трахался с QB из под винды(тоже через порты всё),
под чистым досом работала фича, которая не фурычила под виндой, и вообще всё работало
немного по-другому, несравнимо лучше.
0
 Аватар для vlisp
1065 / 986 / 153
Регистрация: 10.08.2015
Сообщений: 5,387
26.03.2016, 02:57
Насколько я помню ХР запрещает прямой доступ к портам на уровне ядра из соображений безопасности
0
2 / 2 / 0
Регистрация: 07.02.2016
Сообщений: 17
26.03.2016, 14:14
не будем впадать в подробности -почему ,но на данный момент у меня ХР ,загружаю прогу в QB ,в LPT программно записываю и читаю записанное в регистре Data и регистре Control на разьеме LPT имею соответствующие сигналы . При подачи сигналов снаружи на пины регистра Data ,регистра Status , регистра Control я могу программно увидеть (прочесть)происходящие изменения только в регистре Control . Через другие программы (не бейсик) все изменения регистра Status , регистра Control прекрасно видно. но мне то нужно в QB !!!
я конечно попробую FreeBasic может наступят изменения....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.03.2016, 14:14
Помогаю со студенческими работами здесь

Возможно ли взаимодействие интегрированной и дискретной видеокарт?
взаимодействие интегрированной и дискретной видеокарт.возможно ли? Не надо включать Caps-Lock

Ошибка в Assembler или, возможно, DOS/
Писал программу на Assembler, для заполнения матрицы по спирали. Exe файл работает правильно, а с com возникла проблема. Выводит...

Взаимодействие между пользователями средствами jquery ajax — возможно?
Возможно ли средствами Jquery ajax реализовать взаимодействие между пользователями? На сайте авторизовались два пользователя, один с...

Если нельзя выполнить вход в систему, возможно ли сетевое взаимодействие с данным ПК
Здравствуйте. Есть ноутбук, не можем войти в систему Windows 8. Возможно ли скинуть с него файлы по сети на другой комп.Через лайв сиди,...

Возможно ли, и если возможно, то как можно получить свой номер телефона?
возможно ли, и если возможно, то как можно получить свой номер телефона? т.е. на эмуляторе это будет +1 (425) 001-0001


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru