LINUX.ORG.RU

Не совсем ясно, что именно нужно. NASM -- это транслятор, у него (с точки зрения транслируемой программы) нет ни прерываний, ни функций.

Если не для NASM'а, а для ядра linux, то прерывание для syscalls только одно -- int 80h. Список syscall'ов, вызываемых через это прерывание, можно поглядеть в /usr/src/linux/include/asm/unistd.h.

nobody ★★
()

Из родного приложения шлюз прерываний, действительно один, функции можно посмотреть в /usr/src/linux/arch/i386/entry.S. В некоторых "неродных" приложениях, AFAIK, шлюз прерывания вообще не используется, в качестве входа в ядро используется старая реализация lcall на i386 - шлюз вызова в LDT.

P.S. В не i386 зачастую для перехода в ядро используются другие реализации trap, отличные от interrupt-like в i386.

Murr ★★
()

загляни на http://www.linuxassembly.org/ в раздел Docs. Можно там же поглядеть на asm-utils и небольшим усилием взять оттуда хидеры для насма с макросами для почти всех сисколлов.

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