問題タブ [emu8086]

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

assembly - アセンブリ8086; 浮動小数点数、加算、減算

浮動小数点を使用した数値について詳しく知るには、いくつかのリソースが必要です。emu8086環境でその種類の数値の加算および減算演算をコード化する必要があります...。

どんな助けでも大歓迎です

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

assembly - 8086/88のIVTを変更します

ご存知のように、割り込みが発生したとき、8086は割り込みのコードタイプを取得し、それを4で乗算してから、IVTでチェックします。

8086でIVTを変更したいのですが、emu8086を使用しています。

私はそれのために何をすべきですか?

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

assembly - 変数を文字列と一緒に出力しますか?

私はこのような変数を持っています:

画面に表示される文字列の途中に「A」と「B」を埋め込む必要があります。このようなもの:

このようなものをどこかで見たような気がします。これはどのように行うことができますか?

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

assembly - 番号が 32,767 より大きい場合、LED ポート 199 に印刷

そこで、ステッピング モーターが回転した角度を測定するプログラムを作成しました。度を 10 分の 1 単位で測定する必要があります (つまり、モーターが 141.75 度回転した場合、LED には小数点がないため、14175 を出力する必要があります)。

さて、327.67 より大きい角度を印刷しようとすると、マイクロプロセッサが自動的に符号付きの数値を表すため、LED が負の数値を表示するという障害に遭遇しました。たとえば、348.75 は LED ディスプレイに 34875 と表示されますが、代わりに 34875 を表すバイナリ値の 2 の補数の負の値、つまり -31786 が使用されます。この LED ディスプレイに 36000 を表示する方法を知っている人はいますか?

私のコードのロジックは次のとおりです。

  • 右に移動するたびに、SI が増加します
  • 左に移動するたびに、DIが増加します

度を見つけるために、それらを比較して、開始点にないかどうかを確認します。次に、どちらが大きいかに応じて、一方を他方から引きます。DI が大きい場合は、左 (または時計回り) に移動し、58 を追加して、印刷する必要がある度に対応する値にジャンプします。

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

assembly - スキップされた不明なオペコード: 8086 命令ではなく 66 - まだサポートされていません

emu8086を使用しています。ヘキサ入力から変換した後、7 セグメント ディスプレイに表示されるものを表示するように依頼された質問があります。データを 16 進数で入力する必要があります。7 セグメント テーブルの 16 進数の入力と一致する場合は、10 進数で表示されます。3FH = 0, 06H = 1. 配列を使用してこのプログラムを実装しています。以下は、作業用ソース プログラムです。

私はこのプログラムを動かしていました。MSG DB 3FH...しかし、私は自分の配列を afterORG 100Hと beforeの位置に切り替える何かを試しましMOV AL,[1840H]た。プログラムを実行するとエラーメッセージが表示されます

「不明なオペコードがスキップされました: 66、8086 命令ではありません - まだサポートされていません」.

理由がわかりません。

ORG 100H配列をとの間に保持する場合、プログラムが機能するように何かを修正できMOV AL,[1840H]ますか?

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

assembly - アセンブリでマウスを使用して画面に描画する (emu8086)

以下のコードを使用すると、マウスで画面上に描画でき、完璧に機能します。私の問題は、なぜCX2で割る必要があるのですか? そもそもなんで倍増するの?

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

assembly - MOVZX に似ているが、8086 でサポートされている別の命令はありますか?

MOVZXEMU8086 (をサポートしない 8086 をエミュレートする) を使用しているため、を置き換える命令を見つけようとしていMOVZXます。

私が見つけた最も近い命令はCBW、レジスタに値を入れる でしたが、これはAX符号付きの値のみを対象としています。符号なしの値で機能するものが必要です。

私のオプションは何ですか?単一の命令でそれを行うことは可能ですか?

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

assembly - emu8086 は com ファイルを間違って使用します

4単語を合計する簡単なアセンブリコードを書きました

を使用してemu8086、そのコードをエミュレートしました。ただし、以下のスクリーン ショットでわかるように、レジスタは正しい値を取得しません。

重要な質問は、なぜプログラムの名前に.com. 私はそれを指定しませんでした。CX の値が正しくありません。CS と DS は同じ値です。なんで?

ここに画像の説明を入力

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

assembly - アセンブリで画面にメモリ値を出力する

5 つの数値を合計するアセンブリ コードを作成しました。その後、最終値がメモリに保存されます。

このトピックに基づいた例に従いましたが、emu8086 では機能しません。