Я узнал немного кода сборки, а также узнал, что для этого нет хороших учебных пособий в Интернете. Мне было интересно, как отправлять сигналы на определенные устройства
ex. параллельные порты, usb (возможно)
Мне было интересно, есть ли какой-либо код, который может поделиться, чтобы привести меня в правильном направлении. И в случае, если вы не знаете по сигналу, я имею в виду отправку напряжения.
Итак, чтобы подвести итог, я хотел бы знать, как взаимодействовать с некоторыми портами с помощью сборки
В настоящее время я использую DosBox для запуска сборки и использования плоского ассемблера для программирования. Все это работает на окне 8.
Спасибо заранее, 36redsoxfanПрограммирование входов/выходов
ответ
Я не эксперт FASM ... Но, согласно этому сообщению ... Что может или не может быть для FASM ...
http://board.flatassembler.net/topic.php?t=8638
Установите биос как режим двунаправленного параллельного порта (SPP)
Это устанавливает разрешение I/O:
mov eax,101 ; SYS_IOPERM
mov ebx,Base_Parallel ; 378H
mov ecx,Size ; 3
mov edx,1 ; Turn ON
int 80H
test eax,eax
js Error_Set_IO
написать:
mov dx,37ah
in al,dx
and al,11011111b ; reset bit 5 (Write mode)
out dx,al
mov al,0ffh ; turn on all 8 pin
mov dx,378h
out dx,al ; Write byte
читать:
mov dx,37ah
in al,dx
or al,00100000b ; set bit 5 (Read mode)
out dx,al
mov dx,378h
in al,dx ; Read byte
спасибо: D Я попробую и скажу, если это работает – 36redsoxfan
Пожалуйста! Мне будет интересно узнать! – PGallagher
Это не работает для меня, потому что я получил ошибку «Base Parallel is undefined». Я думаю, что я просто использую c/C++, потому что будет намного проще получить доступ к – 36redsoxfan
Это все дело писать правильные биты к соответствующим портам, используя в и, как уже было сказано , Большая проблема будет заключаться в том, что если вы работаете в режиме пользователя в окне Windows, у вас не будет достаточных разрешений, чтобы позволить вам это сделать - вам нужно работать как драйвер режима ядра (и даже тогда вы вероятно, вызывая интерфейсы, поставляемые с ОС, а не на аппаратный доступ на уровне сборки). Я сам не использовал DosBox, но в общем эмулятор, подобный этому, будет только emulate доступ к базовому оборудованию - чтобы он мог писать на эмулированный параллельный порт, но это фактически не изменит уровни напряжения на ваш аппаратный параллельный порт - это все еще зависит от ограничений Windows.
Ваши варианты зависят от того, что именно вы хотите сделать. Некоторые возможные варианты:
- Если вы просто хотите, чтобы играть с сборочным доступом к оборудованию, но не нужно фактически доступа физического оборудования, то вы, вероятно, можете найти эмулятор, который будет эмулировать по крайней мере, некоторым аппаратным средствам, и покажите вам результаты ваших сборочных операций на этом эмулированном оборудовании.
- Если вы хотите получить доступ к физическому оборудованию с помощью сборки в среде Windows, вам, вероятно, придется осмотреться и посмотреть, есть ли какие-либо эмуляторы, которые используют драйверы Windows для передачи ваших команд на физическое оборудование, а не только эмулируемое устройство.
- Если вы хотите получить доступ к физическому оборудованию с помощью сборки вне среды Windows, вам просто нужно найти ОС или загрузчик, который позволяет вашему ассемблеру напрямую обращаться к оборудованию.
- Если нет необходимости в сборке, тогда есть другие доступные опции (это путь, который я уже прошёл при игре с параллельным портом в среде Windows).
- 1. веб-программирование и программирование
- 2. Программирование «Самомодифицирующееся программирование»
- 3. Программирование?
- 4. декларативное программирование и императивное программирование
- 5. Модульное программирование и структурированное программирование
- 6. Программирование сокетов TCP. Постоянное циклическое программирование сервера
- 7. программирование невыпуклой оптимизации (квадратичная максимизация) полуопределенное программирование
- 8. Java-программирование: динамическое программирование на лестнице Пример
- 9. Программирование на программирование Eclipse - поиск/6
- 10. Программирование драйвера Windows или программирование драйвера Linux?
- 11. Объектно-ориентированное программирование или процедурное программирование
- 12. Программирование на основе данных/управляемое событиями программирование
- 13. Программирование Логика
- 14. Эффективное программирование
- 15. Программирование Emu8086
- 16. программирование псевдокода
- 17. Программирование потокобезопасности
- 18. Потоковое программирование
- 19. Программирование игр
- 20. Многопроцессорное программирование
- 21. динамическое программирование
- 22. Программирование == Конфигурирование?
- 23. Параллельное программирование
- 24. программирование ядра
- 25. Многоядерное программирование
- 26. Программирование сокетов
- 27. Итеративное программирование
- 28. Оборонительное программирование
- 29. Программирование таймера
- 30. Программирование автоматов
в xx yy, out xx? –