問題タブ [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.
c++ - 16 ビット x86 コンパイラを探しています
私は組み込みシステム プロジェクトに取り組んでおり、コンパイラが Paradigm C++ IDE にプログラム的に組み込まれているという問題に遭遇しました。ビルドを自動化できるようにしたい。
プロセッサは AMD186ES です。私はOSで作業していません-ベアメタルのものだけです。C++ からリアルモードの 16 ビット 8086 マシン コードを生成する必要があります。
私のグーグルは、G ++がそのようなコードを構築できることを示しています。
私の質問は次のとおりです。
このマシン コードをビルドするように g++ を構成できますか?
それを行うことができる他の C++ コンパイラはありますか?
assembly - アセンブリ アプリケーションでのメモリの変更
「x86アセンブリの芸術」という本からアセンブリ言語を勉強していますが、答えがわからない質問があります。
プログラムは次のようになります。
この演習では、メモリ内の値を調べて操作するプログラムの実行を開始します。次に、メモリ画面に切り替えて、メモリ内の値を変更します (つまり、プログラムの実行中にメモリに直接アクセスします)。
プログラムはメモリ位置 1000h を 0 に設定することから始まり、2 つの条件のいずれかが満たされるまでループします - ユーザーが FFF0 スイッチをトグルするか、ユーザーがメモリ位置 1000h の値を変更します。FFF0 スイッチを切り替えると、プログラムが終了します。
メモリ位置 1000h の値を変更すると、n ワードを加算するプログラムのセクションに制御が移ります。ここで、n はメモリ位置 1000h の新しい値です。」
これらの値を合計した後、「put」を使用して合計を出力します
私はこのコードを持っています:
問題は、値 12h を 1000h に置くと、プログラムが 2 つの値、合計、および数値 1 を出力することです。
プログラムをステップ実行すると、1 つの値 (合計) が出力されますが、実行すると 2 つの値 (合計と数値 1) が出力されます。
誰かがこの動作を説明できますか?
assembly - LEA 命令の目的は何ですか?
私にとっては、ファンキーな MOV のように思えます。その目的は何ですか?いつ使用する必要がありますか?
assembly - 16 ビット アセンブリ コードの OFFSET とはどういう意味ですか?
16 ビット リアル モードのアセンブリ コードの例をいくつか見ていきます。
私は次の行に出くわしました:
これは何をしているのですか?そこに「オフセット」があることは何をしますか?
linux - 生の 16 ビット x86 マシン コードを逆アセンブルするにはどうすればよいですか?
所有している起動可能な x86 ディスクの MBR (最初の 512 バイト) を逆アセンブルしたいと考えています。を使用してMBRをファイルにコピーしました
ファイルを逆アセンブルできる Linux ユーティリティの提案はありますmbr
か?
c++ - アセンブラ タスク - 配列の最小値と最大値
アセンブラ コードで問題が発生しました。私はアセンブラーの初心者なので、自分で解決するのは難しいようです。
タスクは、「配列の最小要素と最大要素を見つけること」です。
私がすでに行ったことは、最大要素を検索することだけです。最小限の要素をチェックする方法と、そのような検証をどこに置くべきかを見つけることができません。または、おそらく、最大要素を見つけた後、要素を2回ループする必要がありますか?
コード:
macos - 優れた 8086 エミュレーター
Mac 用の 8086 エミュレーターはありますか。はいの場合、どれが最適ですか
assembly - 2つの異なる行に文字列を印刷します
プログラムで2つの異なる行に文字列を表示させようとしています。
これは.comプログラムであり、A86アセンブラを使用しています。
assembly - 8086 アセンブリのマウスの右クリックによる割り込み
Windows マシンで 8086 アセンブリのプロジェクトに取り組んでおり、どのマウス ボタンがクリックされたかを知る必要があります。これに対する割り込みは何ですか?または、どうすればこれを見つけることができますか?
ありがとう