タグ

Linuxとx86_64に関するUSAGI-WRPのブックマーク (1)

  • Syscall Number for x86-64 linux (A)

    x86 Linux の 32bit と 64bit のシステムコールの違い x86 Linux の 32bit と 64bit ではシステムコールの呼び出し方法と、 システムコール番号が異なります。システムコールの呼び出しは、 32bit では int 0x80 でソフトウェア割り込みを実行することでシステムコールを呼び出していますが、64bit では syscall 命令を実行します。 x86-64 の Linux でシステムコールを呼び出すには以下のようにします。rcx と r11 の内容は保存されません(破壊される)。 rax にシステムコール番号を設定 必要ならば、第 1 引数 を rdi に設定 必要ならば、第 2 引数 を rsi に設定 必要ならば、第 3 引数 を rdx に設定 必要ならば、第 4 引数 を r10 に設定 必要ならば、第 5 引数 を r8 に設定 必要

  • 1