Сборка и системные вызовы

У меня возникли проблемы с пониманием более сложных системных вызовов в сборке. Я написал системный вызов exec, и он работал отлично

 .bss

.text

.globl _start

_start:

#exit(0) system call

        movl $1, %rax
        movl $0, %rbx
        int $0X80

Хотя я немного застрахован и не смог найти информацию о том, как вы помещаете строки в регистр. Так что в качестве примера я хотел сделать системный вызов exec, и для его первого параметра требуется имя файла для запуска, и я хочу запустить "/ Бен / Баш», но как мне получить это в rbx. Откуда я вообще знаю, что мне нужно использовать rbx, в X86 я знаю, что буду использовать ebx, это то же самое отношение в amd64 ebx = rbx, ecx = rcs и т. Д.

int execve (const char * filename, char * const argv [], char * const envp []);

Спасибо всем

Ответы на вопрос(2)

Ваш ответ на вопрос