問題タブ [real-mode]

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 投票する
2 に答える
386 参照

assembly - このコードでは DS と CS が重複していますか

私はリアルモードでプログラミングを学んでいて、私にとって非常に役立つSOに関する投稿を見つけましたが、特定のコードで物事がどのように機能しているかについて疑問があります

基本的な NASM ブートストラップ

1)DS と CS はここで重複していますか??

2)CS は 0h の位置から始まりますか?? ここに画像の説明を入力、添付の画像は、アセンブラによって生成されたブートセクタである 512 バイトを示しています

3)DS、CSともに07c00Hから開始されていますか?? まず、文字列のデータを入れる前にコード部分を埋めます

4) スタックは 07c00+288 から始まりますか?? mov sp,4096 は (07c00+288+4096-07c00+288) のサイズのスタックを定義します。

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

assembly - 現在実行中のコードのレジスタを設定しようとするとどうなるでしょうか?

CodeProject に記事があります:

CS は、現在実行中のコードのセグメントを常に保持します。mov cs,ax などを使用して CS を設定することはできません。別のセグメントにある関数を呼び出す (FAR 呼び出し) か、別のセグメントにジャンプする (FAR ジャンプ) と、CS が変化します。

では、を使用してレジスタを直接変更しようとするとどうなるmov cs, axでしょうか?

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

assembly - %ds:(%bx) のような x86 アセンブリ GAS 構文で、コロン : は何を意味しますか?

私は x86 アセンブリに不慣れで、このドキュメントのコードを理解しようとしています: http://www.cs.cmu.edu/~410-s07/p4/p4-boot.pdfページ 3:

しかし、私はコマンドを理解していません:

%ds と (%bx) の連結が ((%ds << 4) | %bx) と同じなのはなぜですか?

私はリアル モード (16 ビット) であるため、連結は %ds << 8であってはなりません。%ds << 4の代わりに?

そして、括弧が %bx のすぐ近くにあるのはなぜですか? そして、次のような構造全体ではありません: movw $0x1337, (%ds:%bx) ?

0 投票する
3 に答える
22412 参照

operating-system - リアル モード プログラムとプロテクト モード プログラムの本当の違いは何ですか?

OSとハードウェアの観点から、リアルモードとプロテクトモードの違いを知っています。

しかし、私は、プログラムがリアルモードまたはプロテクトモードについて何を「知っている」のかを理解しようとしています? ソース コード/オブジェクト コードを見ながら、それがリアル モード プログラムであるかどうかをどのように判断できますか?

答えを探していると、「リアルモード」プログラムは OS サブルーチンとともに BIOS サブルーチンを使用するのに対し、「プロテクトモード」プログラムは OS サブルーチンのみを使用するということしか思いつきません。レジスタのオペコードが異なり、オフセット アドレスの長さが異なるため、命令コードが異なります。リアル モード プログラムとプロテクト モード プログラムを区別する他の機能はありますか?