問題タブ [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 - 割り込み21 emu8086で「al」の代わりに「ah」と書く方法は?
アセンブリ 8086 で割り込み 21ah
の代わりに使用するにはどうすればよいですか?al
assembly - emu8086 で文字列を使用する方法
emu8086 の文字列について助けが必要です。文字列を初期化しました:
そして、空の文字列があります:
ここで、すべての文字をチェックインしてstr1
にコピーする必要がありますstr2
が、文字str1
が 0 の場合は O に置き換える必要があります。そうでない場合は、文字をコピーするだけです。
これどうやってするの?
assembly - 8086、あるリストから別のリストにデータをコピーする
「TABLE」から「TABLE1」にデータをコピーする簡単なコードを次に示します。このプログラムを emu8086 で実行すると、値 [SI] が AL レジスタ (MOV AL, [SI]) に表示されます。したがって、'TABLE' の値は AL レジスタに表示され、論理的に同じである必要があります。しかし、「MOV AL, [SI+1]」という行が実行されると、AL レジスターは 2 ではなく 4 を示します。この 2 番目の要素を 3 に置き換えると、Al レジスターは 3 ではなく 6 を示します。誰でも理由を説明できますか?このイベントとそれに対抗する方法は?
assembly - アセンブリでの配列[di]と[配列+ di]のアドレス指定の根本的な違いは何ですか?
配列に数値を追加する Intel 8086 プロセッサのアセンブリ プログラムを次に示します。
上記のプログラムは、「ベース + インデックス」アドレッシング モードを使用して配列の数を追加します。
同じ操作は、次のようなもので実行できます。
ここで次の質問があります。
array[di]
とはどう違いますか[array+di]
- メモリアドレッシングモードはどれ
array[di]
ですか? - どちらを使用するのが良いですか、またその理由は何ですか?
assembly - 8086 乱数ジェネレーター (システム時間を使用するだけでなく)?
私はアセンブリ 8086emu を使用しており、8 桁の数値ジェネレータが必要です。
@johnfound によるこのコードを使用しようとしました。
ただし、1 つの数値を生成する場合にのみ役立ちます。そのクロックは 1 秒間に 18.2 回しか時を刻まないため、繰り返し呼び出しても同じ番号が返されます。
疑似乱数関数を作成しようとしましたが、アセンブリが初めてで、成功しませんでした。Math.random()
emu8086 でJava の機能に似たようなことをする方法があれば知りたいです。
assembly - call と ret でスタックの内容を変更するには?
このコードは、チューリング マシンのシミュレーションのようなものです。私はこのコードを検出しており、変更のすべてのステップについて表を作成しましたが、それは問題ありませんが、CALL AND RETでスタックの内容を変更する方法がわかりません