問題タブ [nasm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
2132 参照

c - Linux 2.6でプロテクトモードからリアルモードに移行するにはどうすればよいですか?

Linux 2.6でプロテクトモードからリアルモードに移行するにはどうすればよいですか?

0 投票する
7 に答える
28082 参照

linux - 基本的かつ完全なアセンブリ チュートリアル (Linux)?

クラスで基本的な概念を学んだばかりの実用的なアセンブリ言語を学びたいです。推奨されるまともな本やチュートリアル (nasm など) はありますか?

0 投票する
1 に答える
5176 参照

assembly - Assembly (NASM) を使用して CD-ROM からメモリにカーネルをロードする方法

私は自分用にブートストラップとカーネルを書いています。ブートストラップとカーネルの両方が CD-R に書き込まれ、CD-live として機能します。これは Linux CD-Live などではなく、完全に私自身のブートローダーとカーネルです。他のブーローダー (GRUB など) は使いたくないので、使用を勧めないでください。

ここに私の質問があります: 私のブートローダ ASM コードで、カーネルとカーネル エントリを(ハードディスクやフロッピー ディスクからではなく) CD-ROM からRAM にロードしたいと思います。 CD-ROM (セクター番号)。私が知る限り、ドライブから RAM にセクターを読み取る int 0x13, AH = 02h を使用する必要があります。この割り込みサービスを使用するには、次のようにいくつかのレジスタを設定する必要があります。 パラメータ: AH 02h AL Sectors To Read Count CX Track + Sector / 備考参照 DH Head DL Drive ES:BX Buffer Address Pointer

私の問題は DL と DH に関するものです。最初のハード ドライブを読み取るために、80h に設定するか、フロッピー ディスクの場合は 00h に設定します。しかし、CD-ROM から読み取りたいのですが、DH と DL にどの値を使用すればよいかわかりません。

CD-ROM からRAMにセクターのカップルを読み取るために、それは正しい割り込み (int 0x13) ですか? はいの場合、DH と DL にどのような値を設定する必要がありますか。

よろしく、プーリア。

0 投票する
4 に答える
2425 参照

nasm - nasmを使用してLinuxでサウンドカードにアクセスする方法

こんにちは私はint0x80を使用してnasmアセンブリプログラムからサウンドカードにアクセスする方法を知りたいです。また、サウンドカードにアクセスするときにレジスタにどのような値を入れる必要がありますか。

サウンドカードやその他のハードウェアデバイスにアクセスするためにカーネルに渡さなければならない引数についての詳細が記載されたマニュアルなどはありますか。誰か知っている場合は教えてください。

私はたくさんの検索を行い、cライブラリやALSA、OSSなどもたくさんありましたが、ハードウェアとのインターフェースをとるアセンブリプログラムの基礎から学ぶことについてのリソースを知っている人がいたらいいのですが。

そして、誰かが私にアクセスがどのように行われるかについての小さなコードリストを私に与えることができれば、私は非常に感謝するでしょう。

0 投票する
4 に答える
858 参照

assembly - mov命令が2つのセグメントレジスタの代わりにaxを直接使用するのはなぜですか?

次のようなコードが表示されます。

これを次のように圧縮できないのはなぜですか。

アキュムレータレジスタを使用してから最初の方法は高速ですか?しかし、csとdsはセグメントレジスタであるため、これは直感的には思えません。それとも私が気付いていない制限がありますか?

ちなみに私はnasmを使用しています。

0 投票する
5 に答える
791 参照

winapi - プログラムサイズを最小限に抑えながら、アセンブリからWindowsAPIを呼び出す

アセンブリでプログラムを作成し、結果の実行可能ファイルをできるだけ小さくしようとしています。私がやっていることのいくつかは、WriteProcessMemoryなどの関数へのWindowsAPI呼び出しを必要とします。私はこれらの関数を呼び出すことにある程度成功しましたが、コンパイルしてリンクした後、私のプログラムは14〜15KBの範囲で出力されます。(1 KB未満のソースから)私はそれよりはるかに少ないことを望んでいました。

私はこのような低レベルのことをするのは非常に新しいので、プログラムを小さくするために何をする必要があるのか​​本当にわかりません。exe形式自体がかなりのスペースを占めることを理解しています。それを最小限に抑えるために何かできることはありますか?

私はNASMとGCCを使用していることを言及する必要がありますが、それが役立つ場合は簡単に変更できます。

0 投票する
8 に答える
201907 参照

winapi - Windowsでアセンブラでhello worldを書く方法は?

Windows でのアセンブリで基本的なものを書きたかったのですが、NASM を使用していますが、何も機能しません。

WindowsでC関数の助けを借りずにhello worldを書いてコンパイルする方法は?

0 投票する
8 に答える
5006 参照

ubuntu - L2/L1 キャッシュを無効にする

CPU の内部および外部メモリ キャッシュを無効にしようとしています。構成は上記のとおりです。 -DELL Precision WorkStation -Intel Core 2 Duo E6550 2.33 GHz -Ubuntu 8.10

BIOSで無効にしようとしましたが、DELLコンピューターではユーザーがキャッシュメモリにアクセスできないようです.別の方法を見つけました.プログラムでキャッシュを無効にすることです.IntelアーキテクチャマニュアルA.3は、cr0レジスタができることを示しています.ビット30を設定してキャッシュを無効にするように設定すると、上記のコードを書きました:

無効

mov eax,cr0

mov eax,40000000H ; ビット 30 を設定

mov cr0,eax

プログラムは正常にコンパイルされましたが、exe ファイルを実行しようとすると、Seg Faults (私は NASM を使用しています)

誰でも私を助けることができますか?

0 投票する
2 に答える
2964 参照

assembly - NASMの印刷時間-コードは何も出力しません

ASM(NASM)を使い始めたばかりで、次のスニペットについてサポートが必要です。エラー/警告は表示されません。何も出力されません。私が期待していたのは、時間を取得し(13)、それを印刷して(4)、終了する(1)ことでした。また、誰かがいくつかの良い(できればNASM固有の)ASMチュートリアルを知っていますか?

0 投票する
6 に答える
7891 参照

nasm - Gas vs. Nasm: どのアセンブラーが最高のコードを生成しますか?

どちらのツールもアセンブリ命令を直接マシン コードに変換しますが、どちらが最も高速でクリーンなコードを生成するかを判断できますか?