問題タブ [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.
assembly - アセンブリ8086; 浮動小数点数、加算、減算
浮動小数点を使用した数値について詳しく知るには、いくつかのリソースが必要です。emu8086環境でその種類の数値の加算および減算演算をコード化する必要があります...。
どんな助けでも大歓迎です
assembly - 8086/88のIVTを変更します
ご存知のように、割り込みが発生したとき、8086は割り込みのコードタイプを取得し、それを4で乗算してから、IVTでチェックします。
8086でIVTを変更したいのですが、emu8086を使用しています。
私はそれのために何をすべきですか?
assembly - 変数を文字列と一緒に出力しますか?
私はこのような変数を持っています:
画面に表示される文字列の途中に「A」と「B」を埋め込む必要があります。このようなもの:
このようなものをどこかで見たような気がします。これはどのように行うことができますか?
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 を追加して、印刷する必要がある度に対応する値にジャンプします。
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]
ますか?
assembly - アセンブリでマウスを使用して画面に描画する (emu8086)
以下のコードを使用すると、マウスで画面上に描画でき、完璧に機能します。私の問題は、なぜCX
2で割る必要があるのですか? そもそもなんで倍増するの?
assembly - MOVZX に似ているが、8086 でサポートされている別の命令はありますか?
MOVZX
EMU8086 (をサポートしない 8086 をエミュレートする) を使用しているため、を置き換える命令を見つけようとしていMOVZX
ます。
私が見つけた最も近い命令はCBW
、レジスタに値を入れる でしたが、これはAX
符号付きの値のみを対象としています。符号なしの値で機能するものが必要です。
私のオプションは何ですか?単一の命令でそれを行うことは可能ですか?
assembly - アセンブリで画面にメモリ値を出力する
5 つの数値を合計するアセンブリ コードを作成しました。その後、最終値がメモリに保存されます。
このトピックに基づいた例に従いましたが、emu8086 では機能しません。