21

このチュートリアル(セクション 4)に従って、 NASM を使用してより詳細な Hello World に取り組んでいます。このチュートリアルでは、基本的にコマンド ライン入力の処理方法を説明します。
これは、問題のコードのスニペットです。

section .text
        global _start

_start:
        pop     ebx     ; arg count
        pop     ebx     ; arg[0] the program name
        pop     ebx     ; arg[1-n] the remainder of the args
                        ; must each be indiviually popped

error: instruction not supported in 64-bit mode上記の 3 つの pop 命令を参照すると、コンパイル中にコードがエラーになります。ドキュメントを見ると、このコードは 32 ビット システムでしか機能しないようです。

64ビットpop命令はありますか?pop私が見ることができる64ビットのチュートリアルを持っている人はいますか?

4

2 に答える 2

26

はい、64ビットpop命令は...POPです。:-)ただし、64ビットレジスタに対して使用する必要があります(のようにrbx)。

于 2012-06-08T19:01:49.317 に答える
0

基本的に、eax を rax に置き換えることで 64 ビットに変換できます (他のすべてのレジスターについても同様です)。

于 2020-01-04T03:57:17.060 に答える