nasm

    1

    1答えて

    でequ'dシンボルを呼び出す小さなNASMプログラムです: [BITS 64] [ORG 0x0000000000200000] b_print_newline equ 0x0000000000100040 start: call b_print_newline ret はそれを組み立て: $ nasm -f bin pr-nl-a.

    9

    4答えて

    64ビットMac OS X Lionを使用して、基本的にXcodeでインストールされるnasmとldを使用して基本アセンブリファイルを実行しようとしています。 文字を印刷するアセンブリファイルを作成しました。これをnasmを使用してビルドしました。私は、LDとリンクして行くとき nasm -f elf -o program.o main.asm しかし、それはかなりの数のエラー/警告で失敗します。

    4

    2答えて

    私は、ブートローダーを書き込むしようとしているが、私はこの質問を見つけるまで、私の実験のどれも働いたしませんでした:Why doesn't this boot loader code work? 私は唯一の画面に文字を書くためにこのプログラムを簡略化していました。 [ORG 0x7C00] [BITS 16] realstart: jmp start nop sta

    4

    3答えて

    の取得これは、簡単な質問には、うまくいけば、です。今、私が持っている: section .data greet: db 'Hello!', 0Ah, 'What is your name?', 0Ah ;simple greeting greetL: equ $-greet ;greet length colorQ: db 'What is yo

    2

    1答えて

    これは簡単な質問のようですが、私は失われています。 この例では、characterは2バイトの変数ですが、レジスタbxは1バイトです。私はcmp bx, [character]をやろうとしていますが、それはサイズの違いのためにはうまくいきません。 bxをcharacterの最初のバイトと比較しようとしています。思考?

    0

    2答えて

    これは16ビット、リアルモード、NASMです。 ; ---- variables ------ cursorRow db 1 . . . ; what are the differences between these two pushes? push cursorRow ; is this the address of? push [cursorRow] ; is th

    7

    1答えて

    私は、MSROSのアセンブリ(16ビット)でTSR(Terminate-Stay-Resident)プログラム(一般的に)を作成しようとしていました。私はTSRのWikipediaページ を読んできましたが、それをDOSで特別に使用しているページもあります(ただし、CではなくAssemblyから直接教えているようです)。たくさんのDOS割り込みドキュメントがあるサイトを見て、this one、th

    6

    1答えて

    私は、各プロセスごとに別々のローカルディスクリプタテーブルを使用する小さなOSで作業しています。私はlldt命令を使用してGDTからLDTセグメントをロードする必要があることを理解しています。有効なGDTを使って保護モードでカーネルを実行していますが、LDTのGDTエントリがどのように表示されるかはわかりません。私は基本アドレスが私のLDTを指すはずであることを理解していますが、私は特権レベルと他

    10

    2答えて

    ユーザーモード(特権レベル3)でいくつかのコードを実行する小さなOSを作成しています。そのユーザーレベルのコードから、メッセージを出力するOSに割り込みを戻したいと思う。今私は本当に私の割り込みハンドラがそのような引数を取るかどうか気にしない、私は実際には割り込みハンドラがコードが実行されたことを私(ユーザー)に通知したい。 私の質問は、ユーザーモードでコードを実行するにはどうすればいいですか?私

    5

    2答えて

    私は参考文献が必要ですが、いい例もあります。 NASMアセンブラを使用してアセンブリでコードを記述し始めているので、必要です。 http://bluemaster.iu.hio.no/edu/dark/lin-asm/syscalls.html 非常に素晴らしく、便利ですが、それは他のレジスタ内のフィールドを説明していないので、それが限界をたくさん持っている:私は、この参照を持っています。たとえば