アセンブリでのより複雑なシステム コールを理解するのに少し苦労しています。私はexecシステムコールを書きましたが、うまくいきました
.bss
.text
.globl _start
_start:
#exit(0) system call
movl $1, %rax
movl $0, %rbx
int $0X80
私は少し確信が持てませんが、文字列をレジスタに入れる方法に関する情報を見つけることができませんでした. 例として、私は exec システム コールを実行したいと考えていました。その最初のパラメーターとして、実行するファイル名が必要で、"/bin/bash" を実行したいのですが、rbx でそれを取得するにはどうすればよいでしょうか。rbx を使用する必要があることをどうすれば知ることができますか?X86 では ebx を使用することを知っていますが、amd64 で ebx=rbx、ecx=rcs などと同じ関係ですか?
int execve(const char *filename, char *const argv[], char *const envp[]);
皆さんありがとう