問題タブ [x86-16]
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.
assembly - アセンブリ言語に関する質問
私はThe Art of Assembly Languageという本を読んでいます。この2行に出会いました。
mov ax, [1000] が oc6h, ooh, 10h に変換され、mov ax, [2000] が 0C6h, 00h, 20h に変換される方法を教えてください。だれか計算を見せてくれませんか? 前もって感謝します。
編集:私はアセンブリプログラミングの初心者です。説明を付けて親切に説明してください。
assembly - x86アセンブリで5桁の10進数を読み取る
(bhd) 番号付けシステム間の数値コンバーターを作成しています。プログラムは 16 ビットの 2 進数または 4 桁の 16 進数を受け入れます。または 5 小数。
私が書いた読み取り手順は、16ビットレジスタを扱っており、より大きな値を含めることができないため、10進数値が65535(FFFFh)を超えると問題があるようです
助けていただければ幸いです。
ここに私の読み取り手順があります:
ありがとうナタリー
delphi - 一部の組み立て手順が文書化されていない理由
Delphiのソースコードには、次のようなアセンブリチートシートのどこにも見つからないアセンブリ命令がいくつかあります。
- fld
- ファブ
- fcompp
- fstsw
これらの組み立て手順は「電源」機能で読みました。しかし、このチートシートまたは同様のチートシートではそれらを見つけることができません。
これらの命令は8086、8088 CPU命令に属していませんか?または単にこれらの指示はこれらのチートシートに含まれていませんか?
すべての組み立て手順をリストした優れたWebページはありますか?
assembly - リアル モード メモリ アドレッシングにおけるセグメントとオフセットとは何ですか?
メモリアドレッシングについて読んでいます。セグメント オフセットについて読み、次に記述子オフセットについて読みました。リアル モードで正確なアドレスを計算する方法を知っています。これはすべて問題ありませんが、正確にオフセットが何であるかを理解できませんか? 私が読んだところはどこでも:
リアル モードでは、レジスタは 16 ビットしかないため、最大 64k までしかアドレス指定できません。より多くのメモリのアドレス指定を可能にするために、アドレスは から計算され
segment * 16 + offset
ます。
ここで、最初の行を理解できます。16 ビットなので、最大 2^16 = 64k までアドレス指定できます。
しかし、この2行目は何ですか?セグメントは何を表していますか? なぜそれを16倍するのですか?オフセットを追加する理由。このオフセットが何であるか理解できませんか?誰か私に説明したり、これのリンクを教えてもらえますか?
x86-16 - 8086で物理アドレスはどのように生成されますか?
8086アーキテクチャでは、メモリスペースのサイズは1 MiBで、それぞれ最大64KiBの論理セグメントに分割されます。
つまり、20のアドレス行があるため、次の方法が使用されます。
データセグメントレジスタが左に4ビットシフトされてからオフセットレジスタに追加されること
私の質問は、すべてのレジスタが16ビットしかないのに、シフト操作をどのように行うかです。
x86 - 8086 アセンブリでの LEA 操作
誰でも次の指示を理解するのを手伝ってもらえますか-
assembly - 8086で補助フラグの値を確認する方法
補助フラグが設定されているかどうか知りたいですか?アセンブリでそれを行う方法。どんな助けでもありがたいです。
assembly - キャラクター座標へのアセンブリ ビデオ モード座標マッピング
私は8086 dosアセンブリプロジェクトに取り組んでおり、ビデオモードを使用していくつかの線やものを描くことができましたが、今はいくつかの文字を印刷したいのですが、(割り込み10,2 )が異なる文字(行、列)座標を使用していることがわかりましたビデオモード座標より
これらの 2 つの座標間をマッピングする最もエレガントな方法は何ですか? または、ビデオモードで文字を印刷するより良い方法はありますか?
私が現在知っていることは、マッピングを手動で行うことができるということですが、8086 には浮動小数点演算がないため正確ではありません...
assembly - 8086アセンブリで乱数を生成するには?
8086 でアセンブリを使用して乱数を生成するルーチンまたは命令があるかどうかを知りたいです。
protection - 8086セグメントセレクター
「ユーザースペース」に次のようなことをさせないための「スーパーバイザー」ビットがいくつかあります。movCS、200h?
どんな保護がありますか?
ありがとう