nasm

    1

    1答えて

    2つの8ビットレジスタを一緒に追加して結果を出力します。私はレジスタCLとCHを追加したいと思います。私は、ECXに-1275を設定しました。これらの2つのレジスタを引くと結果がどのようになるか見たいのですが、どうしたらいいですか? これは私が書いたものですが、13行目でオペコードとオペランドの無効な組み合わせを示すエラーが表示されます。なぜ私はPutIntを使ってCLから印刷できないのですか?私

    1

    1答えて

    私は練習問題を解決しようとしています。タスクは、端末から10個の整数を読み込み、逆順に出力することです。これを行うには、スタックを使用する必要があります。私はプログラムを実行し、1から10までのすべての数字を入力すると連続的に、私は次のような結果を得る %include "asm_io.inc" segment .data prompt db "Please enter a number:

    1

    1答えて

    文字列の各文字を取得し、別の文字列の各文字と比較するプログラムを作成することを意味しています。基本的には、他の文字列の前記文字のインスタンスをカウントします。 私の問題は、最初の文字列の2番目の文字以降では機能しないようです。いずれかのエラーが発生するか、またはのカウントがと等しい。 助けてください。どうもありがとうございます! mov ecx, [len2] ; length of nam

    -1

    1答えて

    チュートリアルのレッスンやここでのコードは、理解できません。誰か助けてくれますか?私はあなたの助けを感謝します。 最初に関数sprintが呼び出され、 'sprint'関数でedx、ecx、ebx、eaxがスタックにプッシュされ、関数 'slen'が呼び出され、 ebxはスタックにプッシュされますが、私はこのステップを理解していません。ebxはすでにスタック上にあります。私は、ebxがsprint

    0

    1答えて

    誰かが次のコードに間違いを知っていますか? 私はそれが私が望むように動作するようにすることはできません。 変数(文字 'h')の1文字だけを出力したいだけです。私はちょうど私は何を取得することは、「何を」印刷していない画面(おそらくASCIIである角括弧 [] ; Set BIOS print screen settings mov ah, 0x0e ; Teletype mov bh, 0

    1

    2答えて

    "カーネル"を書くようになったので、文字列を読み込んでそれを元に戻そうとしています。私。問題は私がそれを実行すると、私は行の上に書いたものではなく、同じcharの3つを出力します。 read_string: call newline mov si, read_attempt call print call newline push bx

    3

    1答えて

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

    -2

    1答えて

    こんにちは。 私は 'vim hello_worldd.asm'を実行し、私のコードを書く場所を作った。 しかし、私はそれを終了して実行する方法がわかりません。 これを行うコマンドはありますか?

    0

    1答えて

    次のx86アセンブリコードで: dd 0x1BADB002 dd 0x00 dd - (0x1BADB002+0x00) 値は、任意の変数に代入していないようです。では、このコードスニペットは何をしていますか?私はそれがメモリに保存されていることを聞いたことがありますが、正確にどこに?

    1

    1答えて

    私はチュートリアルのAssembly - File Managementから取り出した簡単な「プロンプトファイルを作成する」コードを作成しようとしています。しかし、何かを入力するたびに、端末の出力文字列が混在して一緒にカットされます。作成されるファイルも混在しています。 コードはここにある:I入力 "ジャック" が Masukkan nama Anda Jack ck e telah dib