Пусть библиотека C сделает это за вас:
movl $0, %rdi # or whatever exit code you want (0-127)
call _exit
Вы действительно не хотите делать системные вызовы самостоятельно. Библиотека C изолирует вас от множества низкоуровневых проблем ABI (многие системные вызовы существуют в более чем одной версии, в зависимости от того, какое именно ядро у вас есть; некоторые из них не требуют фактического прерывания в режиме супервизора и т. Д.), он знает, как установить errno
, и выберет наиболее эффективную последовательность прерываний для архитектуры и версии ядра.