11
私は、NASM following this tutorial(セクション4)を使用して、より深遠なhello worldに取り組んでいます。このチュートリアルでは、基本的にコマンドライン入力の処理方法を教えています。pop NASMを使用した64ビットモードではサポートされていませんか?
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
上記3つのポップ命令を参照error: instruction not supported in 64-bit mode
と、コンパイル時にコード・エラーアウト:
これは、問題のコードの抜粋です。 Upon viewing the docsこのコードは32ビットシステムでのみ動作するようです。
64ビットpop
命令はありますか?誰も私が見ることができるpop
を使用して64ビットのチュートリアルを持っていますか?
チュートリアルが32ビット用であることを理解していますか?私はあなたが64ビットマシンでもこのチュートリアルに従うことができるはずである 'elf'ではなく' elf32'に出力フォーマットを設定することによって32ビットコードを生成できると信じています。 –
@Aedin - そのチュートリアルの後に32ビットモードを維持してください。 64ビット使用時にレジスタ名が異なるだけでなく、呼び出し規約も異なります。 'pop'を置き換えるだけではうまくいかないでしょう。 –