LINUX.ORG.RU

просмотр порта динамика


0

1

Подскажите пож! где ошибка? #include <stdio.h> #include </usr/include/sys/io.h> int main(int argc,char* argv[]) { unsigned int v; unsigned short int port=97; __asm__ __volatile__ («inl %1,%0 \n»:«=a» (v):«Nd» (port)); printf(«port 97=%u \n», v); return 0; } компановка на ура при запуске ошибка [oleg@localhost port_sign]$ make gcc -c sig.c gcc -o sig sig.o [oleg@localhost port_sign]$ ./sig Ошибка сегментирования [oleg@localhost port_sign]$ Хочу прочитать порт динамика 0х61 (97)


Выбери правильное форматирование. Текст абсолютно не читается.

ttnl ★★★★★
()

Подскажите пож! где ошибка?

#include <stdio.h>

#include </usr/include/sys/io.h>

int main(int argc,char* argv[])

{

unsigned int v;

unsigned short int port=97;

__asm__ __volatile__ («inl %1,%0 \n»:«=a» (v):«Nd» (port));

printf(«port 97=%u \n», v);

return 0;

}

компановка на ура

при запуске ошибка

[oleg@localhost port_sign]$ make

gcc -c sig.c

gcc -o sig sig.o

[oleg@localhost port_sign]$ ./sig

Ошибка сегментирования

[oleg@localhost port_sign]$

Хочу прочитать порт динамика 0х61 (97)

jkcool
() автор топика
Ответ на: комментарий от jkcool

Я не знаю, что за хрень «inl», но ты можешь воспользоваться библиотечными функциями inb/inw/inl, в качестве параметра указав значение, найденное в файле /proc/ioports. 10500% гарантии не дам, но должно работать

ttnl ★★★★★
()
Ответ на: комментарий от jkcool

Странно. Он есть всегда, когда включена поддержка PROC_FS.

Можешь попробовать парсить dmesg.

ttnl ★★★★★
()
Ответ на: комментарий от jkcool

ioperm не найден ( я только осваиваю програм пол linux как это сделать

Можешь попробовать парсить dmesg.

jkcool
() автор топика
Ответ на: комментарий от jkcool

Если ты уверен, что физадрес порта действительно равен 97, то ты можешь попробовать прочитать из 0x10000UL + 97. Предварительно настроив права через ioperm

ttnl ★★★★★
()
Ответ на: re от jkcool

Отлично, хорошо

ttnl ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.