[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: basic system call question



On Mon, May 14, 2001 at 08:51:07AM +0100, Ralph Corderoy wrote:
> > Why is the syscall "int 0x80"?  Is this where the system is actually
> > executed with the arguments previously listed?  It is not the return
> > value, and the system call number is already 42.
> 
> The `int 0x80' generates the interrupt that switches to the kernel
> which in turn seems to examine the %eax register to see what system
> call is required.  I'd guess all system calls generate the same
> interrupt, 0x80, and the only thing to distuinguish between them is the
> value of %eax.

Your guess is correct (for i386, that is ;).


Erik

-- 
J.A.K. (Erik) Mouw, Information and Communication Theory Group, Department
of Electrical Engineering, Faculty of Information Technology and Systems,
Delft University of Technology, PO BOX 5031,  2600 GA Delft, The Netherlands
Phone: +31-15-2783635  Fax: +31-15-2781843  Email: J.A.K.Mouw@its.tudelft.nl
WWW: http://www-ict.its.tudelft.nl/~erik/
-
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/
IRC Channel:   irc.openprojects.net / #kernelnewbies
Web Page:      http://www.kernelnewbies.org/