Собственно, начал немного писать на асме под бсд, и вот стало интерестно, что это за вещь такая int 0x80 ? Допустим такой код: msg db "fuck",0xa len equ $ - msg ... push len push msg push 1 mov eax,4 push eax int 0x80 Что происходит, когда выполняется int ? ведь это НЕ инструкция проца ? это, что call куда-то... куда ? Если кто знает может подскажете?
int - это таки инструкция проца при выполнении вызываеться обработчик прерывания за номером 0x80 короче кури какой-нибудь док =))) вот хотя бы этот http://sasm.narod.ru/docs/pm/pm_int/main.htm
Именно инструкция. Вызывающая прерывание под номером 80h, которое обрабатывается уже в ядре специальной функцией - обработчиком прерывания. Советую почитать книгу о процессоре или ассемблере. Применительно к ОС, обработчик прерывания смотрит, какой номер функции ( в данном случае, он передаётся в eax (4)), и вызывает уже другую функцию, соответствующую номеру. Она уже занимается тем, чем и положено ей (открывает файл, печатает на экран и т.п.)