Мне нужно писать программу которая будет иметь полный доступ к ресурсам компьютера (программирование контроллера USB).
Как Linux поддерживает прямой доступ к портам ввода-вывода?
Я пытался в Kylix 2.0 написать следующее:
Ассемблерная вставка:
asm
mov DX, $380
in AL, DX
end
На вторую строку (in AL,DX) ругается....... Примерно как Windows когда лезешь в порты ввода-вывода....
Ассемблер, Линукс и Kylix....
linux - не dos
Архитектура другая.
почти вся работа с устройствами осуществляется через фаловую систему /dev. Низкоуровневые задачи делаются через системные вызовы. основные средства - Си + libc
ассемблер применяется крайне редко и имеет другую нотацию (AT&T - см. книгу Зубкова "Ассемблер для DOS, Windows и Unix)
архитектура системы такова, что тебе просто не дадут доступа к портам. Более того, часть регистров и прерываний недоступна из пользовательских задач. Разграничение доступа.
Если пишешь драйвер к какому-нибудь устройству - Kylix можешь сразу выбросить. текстовый редактор с подстветкой синтаксиса +чтение документации с ldp.linux.by. Полезными будут "Linux Kernel Internals" и "Linux Device Drivers". Если коротко, то это будет модуль к ядру.
если все таки приперло переходить на системный уровень, для начала прочитай об архитектуре Unix (на русском 2 книги - Робачевский "ОС Unix" и М. Бах "Архитектура ОC Unix")
PS: навыки работы в досоподобных системах тут не применимы.
Архитектура другая.
почти вся работа с устройствами осуществляется через фаловую систему /dev. Низкоуровневые задачи делаются через системные вызовы. основные средства - Си + libc
ассемблер применяется крайне редко и имеет другую нотацию (AT&T - см. книгу Зубкова "Ассемблер для DOS, Windows и Unix)
архитектура системы такова, что тебе просто не дадут доступа к портам. Более того, часть регистров и прерываний недоступна из пользовательских задач. Разграничение доступа.
Если пишешь драйвер к какому-нибудь устройству - Kylix можешь сразу выбросить. текстовый редактор с подстветкой синтаксиса +чтение документации с ldp.linux.by. Полезными будут "Linux Kernel Internals" и "Linux Device Drivers". Если коротко, то это будет модуль к ядру.
если все таки приперло переходить на системный уровень, для начала прочитай об архитектуре Unix (на русском 2 книги - Робачевский "ОС Unix" и М. Бах "Архитектура ОC Unix")
PS: навыки работы в досоподобных системах тут не применимы.
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...