x86

    5

    1答えて

    インテルソフトウェア開発者マニュアル(この記事ではISDMと呼ばれます)とx86 Instruction Set Reference(これは前者のコピーです)から、mov命令データをeax/ax/alからメモリオフセットに、またはその逆に移動することができます。 たとえば、mov moffs8, almoffs8オフセット一部8ビットメモリにalレジスタの内容を移動させます。 今、moffs8とは

    2

    1答えて

    avx2レジスタ内の32ビットint値のビット反転を実行する方法はありますか? など。 _mm256_set1_epi32(2732370386); <do something here> //binary: 10100010110111001010100111010010 => 1001011100101010011101101000101 //register contains 1268

    -1

    1答えて

    obj.CurrSize -= size; 0x00000000003ad2d7 <+183>: mov eax,0x0 0x00000000003ad2dc <+188>: test rax,rax 0x00000000003ad2df <+191>: je 0x3ad2e6 <+198> 0x00000000003ad2e1 <+193>: call 0x0 0x000000000

    0

    1答えて

    次のコードのx86-64asm generated by GCC 7.1を見ると、aのコンストラクタでコードが生成され、bにはコンストラクタのラベルがありません。 class a { public: int aint; a() { } }; class b { public: int bint; b() = default; }; int

    2

    1答えて

    Cコードのスニペットをインラインアセンブリに変換する必要があります。このコードは、Juliaフラクタルをレンダリングするプログラムの一部です。 私は両方のコードスニペットの出力をテストしましたが、正確に一致していますが、私のプログラムはまだ異なるイメージを出力します(Cコード用の適切なJuliaフラクタル、インラインアセンブリコード用のフラットピンクスクリーン)。 これは、関数の開始部分であるだけ

    3

    1答えて

    私はインテルx64アセンブリ、NASMコンパイラを使用して、 "0x4000000000000000"定数をメモリに移動しようとしています(ieee 754標準のdoubleは2.0になります)。 私が使用しているコードは次のとおりです。署名DWORD即時の範囲を超える: %define two 0x4000000000000000 section .text foo: push rb

    1

    1答えて

    私はコンパイル: " int x_add(int a, int b) { return a+b; } " と " push ebp mov ebp,esp mov edx,[ebp+08] mov eax,[ebp+0c] pop ebp ret " 私は"x_add(1, 1);"を実行すると、それは-1を返し をので、私は検索しようとしたコードを置き換え

    2

    1答えて

    約100億回のテストの後、imm64がAMD64の場合はm64よりも0.1ナノ秒早い場合、m64は高速ですが、わかりません。次のコードのval_ptrのアドレスは即値ですか? # Text section .section __TEXT,__text,regular,pure_instructions # 64-bit code .code64 # Intel syntax .intel

    -2

    1答えて

    私は0xF3進接頭辞は次のように使用されている気づいてきたように: 1)の繰り返しとINSで0に等しいecx、OUTS、MOVS、LODSまでecxを下げ、 STOS命令およびrep 2)反復と呼ばれCMPS、SCAS命令でecx等しい0またはZFセットまでecxを減少させ呼ばrepz又はrepe 0xF3バイナリ接頭辞として使用される: 1)リピート及びCMPS、SCAS命令に設定されていない0

    1

    1答えて

    0からN-1までのすべての整数を出力するアセンブリでforループを作成しようとしました。なんらかの理由で、それが壊れて、無限ループが作成されます。なぜどんなアイデア?私はEAXの内容を破壊するのVisual Studio 2013 MASM .data x DWORD 0 y DWORD 0 .code main:nop invoke version