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 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, but int80h 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