|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Ноя 25, 2003 04:35:01 Подскажите кто-нить или покажите документацию функции 80-го прерывания. Интересно еще, как писать GUI? |
|
|
Дата: Ноя 25, 2003 05:09:33 По GUI начните с этой статьи, например: http://freshmeat.net/articles/view/928/ А дальше man'ы и google'ы. |
|
|
Дата: Ноя 25, 2003 05:44:45 документацию функции 80-го прерывания см. кода ядра. Напрямую. Завтра с работы пример приведу. |
|
|
Дата: Ноя 25, 2003 07:49:34 volodya жду с нетерпением..... xzazet уже щас читаю, спасибо... |
|
|
Дата: Ноя 25, 2003 13:44:50 zalexf список функций int80h(linux 2.2), с указанием параметров и регистров, куда эти параметры засовывать,(+даны названия *.с, где эти функции определены) лежит тут: www.informatik.htw-dresden.de/~beck/ASM/syscall_list.html |
|
|
Дата: Ноя 25, 2003 19:52:25 zalexf То, что предложил тебе intuit - это классно, однако понимание сути уходит. syscall - вполне документированная структура. И логика достаточно проста. У Windows такая же. Все syscall'ы находятся в таблице, где eax служит индексом элемента. int 80 (через #define) и eax*4 дадут нам индекс функции в ENTRY(sys_call_table). Файл: entry.S. Фрагмент выглядит так: ENTRY(sys_call_table) .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */ .long sys_exit .long sys_fork .long sys_read .long sys_write .long sys_open /* 5 */ .long sys_close .long sys_waitpid .long sys_creat .long sys_link .long sys_unlink /* 10 */ .long sys_execve .long sys_chdir .long sys_time Убираешь приставку sys и имеешь обычную нормальную функцию кольца-3. sys_chdir - это chdir и т.п. Есть и специальные случаи, типа long sys_ni_syscall. О них не будем. Параметры передаются через регистры. Процедура стандартна. Подготовка регистров осуществляется кольцом-3, ядру до фени. Поэтому, если тебе интерестно прямое программирование на syscall'ax - копай libc. Да, все, что здесь расписано, валидно для ядра 2.4/2.6. Вроле все. Помог? |
|
|
Дата: Ноя 25, 2003 20:00:07 http://lowlevel.ru/articles/sys_call.htm - интерестная статья. |
|
|
Дата: Ноя 26, 2003 05:44:45 всем спасибо! |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.079 |