real-mode

    3

    1答えて

    私はすべての設定でほぼすべてのCコンパイラを試しましたが、Realモードカーネル開発に適したIntel x86コードにCをコンパイルできるCコンパイラはまだ見つかりませんでした。私はプロテクトモードを使用すべき理由について何も言及する必要はありません。私は、OS依存関係のない16ビットのスタンドアロンバイナリをコンパイルするために、どのCコンパイラ(そして必要なら、それを実行するための設定)が必要

    0

    1答えて

    実験のために、私はプログラムXを実モードで実行する予定です。 プログラムXは、ランダムなルーチンを作成して実行します。 (私は何が起こるか見てみたい) しかし、私は、このプログラムは、最終的に恒久的にBIOSが損傷することを心配。 攻撃的なプログラムからバイオを保護する方法はありますか? ありがとうございました!

    1

    1答えて

    を取得し、私はこのコードを使用します。私はキーが押されたときに、押されたキーに関する情報がahとalのレジスタに格納されていることを知っています。たとえば、Enterキーを押すと、0x0Dがalレジスタに格納されます。私がバックスペースを押すと0x08になります。しかし、これらは私が知っている唯一の2つの鍵です。 すべてのキーボードキーのリストはありますか?たとえば、私が 'a'を押すと、al/a

    0

    1答えて

    このコードはリアルモードで動作します。 私はそのような例を持っています: このコードは0x001FFD50アドレスに行きます。その後 ... 001F066F: push es 001F0670: push 0FD50 001F0673: retf ^^^^^^ 001F0674: push 00051 ... 、私はそのようなコードを持っている: 私は戻って0x001F067

    1

    1答えて

    GCCと小さなアセンブラブートストラップルーチンを使ってブートローダーを書いています。私はputsルーチンを書いて、文字列を正しく書いていないようなBIOS割り込みを使ってディスプレイに文字列を表示します。 私のブートストラップアセンブラファイルboot.sが含まれています:main.cで .code16 .section .text .extern main .globl start s

    2

    1答えて

    アセンブリ言語を教える小さなブートローダを作成した後、stosb命令が動作していないようです。このブートローダは、それがバッファに文字jを保存して、ディスプレイにそのバッファを印刷する必要があります実行された場合 BITS 16 start: mov ax, 07C0h add ax, 288 mov ss, ax mov sp, 4096 mov ax, 07C0h mo

    0

    1答えて

    フラットアセンブラを使用して、アセンブリ内に小さなブート可能なOSを作成しました。 私はPulsarOSと呼んでいます。しかし、私はそれのための入力プログラムを作成したい。私が言ったように、それはすべてx86アセンブリにあります。私はそれをユーザーが入力できる場所に単純に置き、入力されたテキストが画面に表示されます。ここにコードがあります。それは比較的単純な、そう mov ax, 9ch mov

    0

    1答えて

    現在、特定のコードを理解しようとしています。私はここで見つける:開始ラベルの下 http://mikeos.sourceforge.net/write-your-own-os.html 具体的に最初の2行: BITS 16 start: mov ax, 07C0h ; Set up 4K stack space after this bootloader add ax,

    1

    1答えて

    SEGMENTディレクティブを使用して、TASMの下で別々のスタック、データ、およびコードセグメントを作成することに成功しましたが、まだ何か気になります。次のコードをTurbo Assembler 2.0でアセンブルすると、TLINKはサイズが90KBに近いバイナリを生成します。 .286 myStack segment para stack 'stack' db 0FFFFh dup (?