x86

    -1

    1答えて

    まず、値を整数レジスタに移動し、呼び出されたものを知らずにxmmレジスタに値を移動し、xmmレジスタに値を移動する唯一の方法です。 mov [eax], (float)1000 ; store to memory movss xmm1,[eax] ; reload または mov eax, 1000 ; move-immediate integer cvtsi2ss xmm1,ea

    -2

    1答えて

    私は、次のコードを持っていると私は59 mov dl,59 printSeparator macro mov ah,02h mov dl,59 int 21h endm に何を表すのか分からない私は、配列の要素の合計を計算しなければならないが、キーボードから読み取ると、私は上記を必要とするソリューションを見ましたコードスニペット

    -1

    3答えて

    以下の画像によれば、出力ポートはF0〜F7Hであると言います。私の質問は、これらのポートのアドレスがどのように決定されるかです。たとえば、F0(アクティブロー)(Y0)は入力A0~A7の入力から決定されます。もしそうなら、これらの入力ポートはどのように数学的にF0に来るのですか?

    0

    1答えて

    を回転させます。 これは、エラーを発生させ /tmp/ccKYcEHR.s:363: Error: operand size mismatch for `rol'. ここでの問題は何ですか?

    -4

    1答えて

    私はx86リアルモードで動作するオプションROM(拡張ROM)のINT 13Hディスクサービスルーチンを開発中です。 DS(DS = CS)にあるグローバル変数にアクセスする必要がありますが、ルーチンは実行されていますが、グローバル変数は読み取り専用になります。 SS(SS!= DS)に位置するローカル変数だけが正常にアクセスできますが、スタックのサイズは十分ではありません。 必要なサイズはルーチ

    -1

    1答えて

    この単純な開始プログラムからセグメンテーションフォルトが発生します。 私はデバッグにUbuntu 16.10とkdbgを使用しています。到達点が__int 80h__に達すると、次の行への移動が停止します。 section .bss ; section containing uninitialized data BUFFLEN equ 1024 ; length of buffer Buff

    1

    2答えて

    OSは実際にプロセスのアドレス空間をページに分割するのはいつですか? プログラムを作成して保存するとします。実行されておらず、ハードディスクにアイドル状態であっても、OSはプログラムのアドレス空間をページに分割しますか? サイズが設定可能なハードディスク内にあるスワップスペースまたはページファイルと呼ばれる部分があり、物理メモリからハードディスクにスワップされた未使用のページやページが含まれている

    3

    1答えて

    に私は逆アセンブラ(SmartDec:http://decompilation.info/)を使用していますし、生成された解体中の命令の多くは次のようになり: mov rax, [rip + 0x32b5]:64 私は不慣れですこの命令の一部に:64が含まれています。どういう意味ですか? その他の例: cmp [rcx + r8 * 0x8]:64, 0x0 mov eax, [rip +

    1

    1答えて

    私は今、x86アセンブリを学び始めました。すべてのアスキー文字と改行を標準出力に出力する簡単なプログラムを作成しようとしました。 これは、改行を除いてすべてのものを期待どおりに出力します。理由を特定できません。 64ビットのubuntuオペレーティングシステムでnasmでコンパイルしました。ここ は、コードは次のとおりです。 section .data curr db ' ' section