real-mode

    2

    1答えて

    ISRをint形式で9hのアセンブリでリアルモードで作成しました。 このISRでは、ハードディスクにデータを書き込むためにINT 13h、AH = 0x02を呼び出します。しかし、データはハードディスクに書き込まれません。また、int 13h、ああ= 0x02も(ハードディスクからデータを読む)は動作しません。 コール後int 13h、キャリーフラグはオンですが、AHとALはゼロです。 ISRから

    2

    3答えて

    私は組み込みアプリケーションで使用しているIntelベースのSBCを持っています。これは、Fintek Super I/Oチップに接続されたデジタルIO(DIO)ポートを備えています。私は他のハードウェアを制御するためにこのポートの出力ライン上のビットを設定できるようにしたい。 幸いなことに、メーカーのBIOSは、ちょうどこれを行うための機能が付属しています: AX=6F09h bl=<bits

    5

    7答えて

    いくつかのシンプルなソースコードを勉強するときに、単純なアセンブリの問題について混乱します。このウェブサイトで :http://wiki.osdev.org/Babystep7次のコードは、私がプロテクトモードにリアルモードから切り替える方法を知っているプロテクトモードにリアルモードから mov eax, cr0 or al,1 mov cr0, eax を切り替えることです。 しかし、私

    10

    1答えて

    マルチプロセッサシステムで異なるプロセッサ上でコードを実行するには、どのような命令を使用する必要がありますか? (私は実際のオペレーティングシステムが起動する前に、特定のCPUレジスタを設定し、システム内のすべてのCPU上でこれを実行する必要がアセンブラでのいくつかの事前ブートコードを書いています。)

    5

    1答えて

    私は多くの多くのオーズ(といくつかのブートローダ)に見えましたが、プロテクトモードからリアルモードに切り替える前に割り込み(cli)を無効にしています。それがなぜ必要なのか?

    0

    1答えて

    私はセグメント化されたメモリを理解しようとしており、私はこのウェブサイトでこの声明に遭遇しました:website。最初の文章は私にとって最も混乱しています。 「注目すべき点は、セグメントのサイズは64KBですが、メモリ内では16バイト離れています。セグメントレジスタの内容は物理アドレスの上位16ビットを構成するため、常に16で割り切れ、その下位4ビットは0に設定されます。 " 私は64キロバイトの

    0

    1答えて

    私は、単純にブートローダをアセンブラに書き込もうとしています。 ブートローダはフロッピーからセクタ2をアドレス0x5000 (segment 0x500, offset 0x0)にコピーし、セグメントにジャンプしてメッセージを出力します。 ただし、セグメントアドレスを0x1000に変更すると、メッセージはもう印刷されません。 org 0x10000命令に問題があり、セグメント化に関連している可能性

    5

    1答えて

    私は生のx86リアルモードUSBアクセスプロジェクトに取り組んでいます。これには、カスタムブートセクタ、第2ステージブートローダ、および些細なハードウェアドライバが含まれます。 最後の目標は、起動し、USBインターフェイスを介してデータを送信し、USBインターフェイスを介してデータを受信し、結果値を画面に出力する製品を提供することです。私はUSBアクセスが完了したが、すべてを持っている。 私は既に

    7

    1答えて

    ハードドライブから2番目のセクタをロードし、画面全体に赤い背景のスペースを入れてシンプルなコードを作成しました。問題は常にスペースの代わりに@記号が付いていることです。これはコードです: org 0x7C00 bits 16 xor ax,ax mov ds,ax mov es,ax mov bx,0x8000 cli mov ss,bx mov sp,ax sti cl

    3

    1答えて

    イムブートローダを書き込み、私は私のように積み重ね設定... STACK_SEGMENT equ 0x0050 STACKP_OFFSET equ 0x03FF mov ax, STACK_SEGMENT mov ss, ax mov sp, STACKP_OFFSET は、私がこれを行うことにより、スタック領域の1024バイトを割り当てるのですか? 0x00900に他のものをロード