Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Asm для Linux/Unix > прерывания bios |
Автор: alexkolzov 2.12.2010, 02:10 |
Только начал изучать gas. Подскажите, можно ли (и как) использовать прерывания bios? А то привычный набор типа mov $0, %ah int $0x16 компилируется без ошибок, но вызывает ошибку сегментации. В чем причина? |
Автор: 500mhz 2.12.2010, 21:05 |
а кто сказал что в linux прерывания соответствуют мсдосовским? |
Автор: alexkolzov 3.12.2010, 01:19 |
никто не говорил. но насколько я помню, 16h - прерывание bios а не dos. Если не прав - поправьте пожалуйста. Вопрос такой: как вызвать в программе под Linux прерывания bios, например, для опроса клавиатурного буффера |
Автор: 500mhz 3.12.2010, 12:04 | ||
ой ,вы правы, извеняйте запямятовал. но не суть важно, никто вам не даст напрямую работать с клавой в линюхе попробуй из под root все это делать, полюбому это как бы не коректно будет. так по быстрому, getchar на асме )))
|
Автор: alexkolzov 3.12.2010, 19:14 |
по быстрому - это круто, но там восьмидесятое линуксовое прерывание, оно читает из stdin, а stdin может быть и не клавой вовсе. А если нужен именно ввод с клавиатуры в обход stdin? что никто просто так ниче не даст - эт тоже понятно, и скорее всего даже root не поможет (если память мне не изменяет, там заморочка в режиме работы процессора, в защищенном обращаться к bios нельзя). Вот приспичило мне вызвать bios. Неужели нельзя? Может кто-нибудь сталкивался с подобным? |
Автор: 500mhz 4.12.2010, 14:27 |
alexkolzov, в таком случае не "ехешник" нада делать а LKM,он работает в пространстве кернела как драйвер |