私は MacOS X で楽しみのためにいくつかのアセンブリを行っています。現在、mmap システム コールを使用してファイルをメモリにマップしようとしていますが、現時点では少し戸惑っています。コード スニペットは次のとおりです。
movq $0x20000c5, %rax //mmap syscall
xorq %rsi,%rsi //
movq %rcx,%rdi //size of the file is in rcx
movq $0x1,%rdx //read only
movq $0x1,%r10 //shared
movq finput(%rip),%r8 //file descriptor
xorq %r9,%r9 //no offset
syscall
これは、キャリーフラグが設定されているという意味ではエラーを生成しませんが、ファイルをマップしたメモリへのポインターを実際に返す必要があると思った rax で 0 を返します。もちろん、明らかなことを確認してみましたが、ファイルサイズやファイル記述子に問題はありません。ここで何かが明らかに欠けているに違いありませんが、現時点ではそれがわかりません。どんな助けにも感謝します。