В Linux системные вызовы не имеют адреса . Конечно, они находятся где-то, по какому-то адресу в памяти, но вызывающие программы обычно их не знают (или даже не имеют доступа к этой памяти). Обычно они вызываются прерыванием (например, Linux использовал 0x80, MS-Dos использовал, например, 0x21). Вызывающий процесс просто запрашивает программное прерывание, а затем обработчик прерываний обрабатывает системный вызов. Тип вызова и параметры заранее заносятся в определенные регистры, поэтому ядро знает, что делать.
В более современном процессоре разработчик изобрел конкретные инструкции (например, у Intel / AMD есть SYSCALL / SYSENTER), поэтому не нужно использовать способ прерывания для вызова системных вызовов, но в основном это то же самое с точки зрения пользователя.
Конечно, есть прерывание, которое отличается от него записями, в зависимости от того, какой у вас x64 или 32.