Sample Header Ad - 728x90

What do you call the calling convention behind `int 0x80`?

2 votes
1 answer
3250 views
I know there is a syscall convention but what do you call the calling convention that precedes it that you see when you call to int 80 rather than syscall, like this. mov rax,4 ; system call number (sys_write) mov rbx,1 ; file descriptor (stdout) mov rcx,hello ; message to write mov rdx,12 ; message length int 0x80 ; call kernel I read [here](http://www.int80h.org/bsdasm/#system-calls) that the arguments after rdx are esi, edi, ebp (or for x64 rsi, rdi, rbp), I don't see it documented in [Wikipedia's page for calling conventions](https://en.wikipedia.org/wiki/X86_calling_conventions) , but [int80h](http://www.int80h.org/bsdasm/#system-calls) seems to indicate that Windows also uses this convention? What is this conventioned named. Where in the Linux Kernel source can I see it defined? And, where is the table that resolves rax to the procedures when you call int 0x80? For syscall, sys_write is rax=1
Asked by Evan Carroll (34663 rep)
May 30, 2018, 01:16 AM
Last activity: Jul 14, 2024, 01:47 PM