タグ

2017年5月4日のブックマーク (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 に設定 必要

    zyxwv
    zyxwv 2017/05/04
    rax:システムコール番号/rdi:第1引数/rsi:第2引数/rdx:第3引数/r10:第4引数/r8:第5引数/r9:第6引数/最後にシステムコール命令(syscall)を実行