Текущий архив: 2005.10.09;
Скачать: CL | DM;
Вниз
Ошибка при чтении и записи в порт Найти похожие ветки
← →
CTPAX.RU © (2005-08-09 19:21) [0]При попытке использования в ассемблерной вставке команды
in al, dx
илиout dx, al
(чтение/запись в порт соответственно) выводится ошибка (исключение) класса Eprivilege с сообщением "Priveleged instruction".
Порт $0388, если это имеет значение, это адресный порт монорежима звуковой карты.
Собственно, вопрос: как мне избежать этой ошибки?
← →
_Андрей (2005-08-09 19:24) [1]Указанные ассемблерные вставки могут работать только под Windows98, а для WinXP, 2000 и т.п. надо пользоваться функциями WinAPI CreateFile(), WriteFile(), ReadFile().
← →
CTPAX.RU © (2005-08-09 20:21) [2]А что делают эти функции? Странно как-то: остальные вставки (mov, например) работают, а эти нет. Может, кто-нить знает ассемблерное решение?
В крайнем случае, нельзя ли поподробнее про вышеуказанные функции?
← →
DiamondShark © (2005-08-09 20:40) [3]
> В крайнем случае, нельзя ли поподробнее про вышеуказанные
> функции?
А нельзя ли поподробнее про исходную задачу?
← →
isasa © (2005-08-09 20:40) [4]>Собственно, вопрос: как мне избежать этой ошибки?
Зарегистрировать как драйвер системы.
← →
ANB © (2005-08-09 20:41) [5]
> остальные вставки (mov, например) работают
- работа с портами - привилегия системы. Удивительно, но, кроме mov, работает еще множество команд :))
← →
Kolan © (2005-08-09 20:44) [6]С портом в Windowse так нестоит работать. Работа сним похожа на работу с обычным файлом. А ф-ции
WinAPI CreateFile(), WriteFile(), ReadFile().
как раз для этого и нужны.
PS Перевод "Priveleged instruction" мог дать ответ...
← →
DiamondShark © (2005-08-09 20:47) [7]Люблю телепатов.
Где-нибудь было хоть пол-слова про коммуникационный порт?
← →
ANB © (2005-08-09 20:48) [8]
> Kolan © (09.08.05 20:44) [6]
- интересно, как записать в порт процессора $0388 один байт с использованием этих функций ? Может примерчик запостишь ?
← →
Kolan © (2005-08-09 20:56) [9]
> DiamondShark © (09.08.05 20:47) [7]
Не дочитал первый вопрос до конца. Отвечал на [2]. Вообшем ошибочка вышла.
← →
MS-REM (2005-08-09 21:20) [10]AinCity.narod.ru
← →
ANB © (2005-08-09 21:24) [11]
> MS-REM (09.08.05 21:20) [10]
- а чем там пишут ? Или это реклама сайта ?
← →
MS-REM (2005-08-09 21:32) [12]ANB © (09.08.05 21:24) [11]
> MS-REM (09.08.05 21:20) [10]
- а чем там пишут ? Или это реклама сайта ?
Просто там все про программирования железа на DELPHI.
← →
ANB © (2005-08-09 21:38) [13]
> MS-REM (09.08.05 21:32) [12]
- жаль. Я бы полазил. Доступа нету.
← →
MS-REM (2005-08-09 22:09) [14]ANB © (09.08.05 21:38) [13]
> MS-REM (09.08.05 21:32) [12]
- жаль. Я бы полазил. Доступа нету.
А Я тебе завидую...
Прикинь сидеть на профес... форуме на халяву /~
← →
CTPAX.RU © (2005-08-10 20:38) [15]Ладно, почитал о портах на сайтах разных, все понял, на ASM мутить не буду. Но все же напишите про эти CreateFile(), WriteFile(), ReadFile() - у них столько мудреных параметров, что не факт, что я сам разберусь.
P.S. to [8]: $0388 - это не порт процессора, если я ничего не путаю, но примерчик действительно хотелось бы увидеть %)
← →
isasa © (2005-08-10 21:02) [16]>Но все же напишите про эти CreateFile(), WriteFile(), ReadFile()
Уже написано, MSDN называется.
← →
CTPAX.RU © (2005-08-10 21:35) [17]Не хочу показываать свою дремучесть, но что это - MSDN?
Че-то ветвь разрослась, а толку немного. Конкретики мало. 8(
Может, хоть кто-то напишет, как инициализировать порт $0388, записать в него банальное значение типа Word и (на всякий случай) как из него что-нибуль прочесть? Ох, как я ему буду благодарен!
← →
begin...end © (2005-08-10 21:36) [18]> CTPAX.RU © (10.08.05 21:35) [17]
> что это - MSDN
www.msdn.com
← →
Alex Konshin © (2005-08-11 12:51) [19]Какую тебе конкретику еще нужно? Тебе уже конкретно ответили, что не стоит пытаться писать-читать порт под Windows XP.
Не туда копаешь. Должен быть драйвер и он это должен делать. Приложение на Delphi должно обращаться к драйверу. Делает ли то, что тебе нужно какой-то дравер - не знаю.
← →
DiamondShark © (2005-08-11 12:54) [20]
> Конкретики мало.
А ты про свою задачу ничего не сказал.
← →
Digitman © (2005-08-11 13:04) [21]
> CTPAX.RU © (10.08.05 21:35) [17]
Забудь на секунду про дела свои скорбные и подумай : что произойдет, если одновременно с твоим приложением запись в этот порт возжелает выполнить еще одно приложение (а может и не одно) ... ОС-то - МУЛЬТИЗАДАЧНАЯ !
ЧТО, как ты думаешь, произойдет при этом ?
← →
alpet © (2005-08-11 14:13) [22]Лучшее вообще забудь о портах в Win32. Изучай DirectX (в твоем случае DirectSound), это достаточно тонкая прослойка между приложением и аппаратурой.
← →
ANB © (2005-08-11 15:16) [23]
> CTPAX.RU © (10.08.05 20:38) [15]
Если это не порт процессора, то при чем тут in и out ?
Ты чего хочешь то от карты ?
← →
CTPAX.RU © (2005-08-11 17:42) [24]Ладно, драйвер так драйвер, DirectSound так DirectSound.
Посмотрю, может, в разделе Media что-нибудь найду.
Разве читать/писать можно только в/из портов проца? Это я к [23]. От карты я хочу, чтоб она подавала на колонки звук заданной частоты и длительности, но что без всяких wave, а как в паскале, ч/з порты. Не обязательно ведь это делать на самом низком уровне, чтоб другие приложения, одновременно с моим приложением запись в этот порт возжелав выполнить, вызывали всякие разные конфликты.
← →
SammIk © (2005-08-11 18:10) [25]Блин, а готовым драйвом воспользоваться не судьба?
Где-то тут уже пробегало такое дело.
Можно загрузить драйвер и разрешить юзать порты из юзермоде.
Если сильно спичит могу поискать, где-то у меня это было.
← →
DiamondShark © (2005-08-11 18:43) [26]Какой упёртый товарищ.
Только на третьи сутки соизволил сделать одолжение и рассказать, чего же он хочет сделать.
← →
CTPAX.RU © (2005-08-11 19:55) [27]> Если сильно спичит могу поискать,
Да, спичит порядком. Поищи, плз.
> Какой упёртый товарищ.
Только на третьи сутки соизволил сделать одолжение и рассказать, чего же он хочет сделать.
-Ладно, я нуб, мне можно :):
← →
CTPAX.RU © (2005-08-13 12:41) [28]Насчет ф-ций CreateFile(), WriteFile(), ReadFile(). Вы их случайно не для создания wav-файла предлагаете использовать (в памяти или на диске - не важно). А то я это и сам умею. Мне надо просто, как в паскале, извлечь звук данной частоты из колонок, чтобы вообще не приходилось высчитывать никакие фазы для каждой доли секунды.
Или в Дельфи звук только посредством wav создавать можно?
Страницы: 1 вся ветка
Текущий архив: 2005.10.09;
Скачать: CL | DM;
Память: 0.53 MB
Время: 0.028 c