問題タブ [instruction-set]
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 - ARM命令のSWIとSVCはまったく同じですか?
ARM アセンブリには、「スーパーバイザー モード」に入る SWI および SVC 命令があります。
私を混乱させているのは、なぜ2つあるのですか?ここで、SVC は以前は SWI だったと言われています。基本的にニーモニックを変更したということですか?それらは同じものですか?互換的に使用できますか? そのうちの 1 つはアーキテクチャの前に存在し、もう 1 つはアーキテクチャの後に存在しますか?
data-structures - ワードより大きいデータ型の追加
大きなデータ型 (Double/Float) は、算術演算用のレジスタにどのようにロードされますか? レジスタはワードサイズ以上のデータを保持できますか? 結果を 3 番目のレジスタにロードするために 2 つのレジスタしか追加できない場合、1 つのレジスタより大きいデータ型はどうなりますか?
arm - Do different ARM manufacturers provide different instruction sets?
I first came across the ARM instruction set in the 80's, and have not used it since. Out of curiosity I was looking at the the tablets and other ARM devices and note that the CPU's are produced by different manufacturers.
I did a quick search but I couldn't find a definitive statement as whether the different ARM chips have differing instruction sets.
I would assume that in the main they are the same.
assembly - アセンブリ言語命令の実装
アーキテクチャの特定mov
の命令(たとえば、、、、、、 ...)の実装を説明する情報ソースまたは技術ドラフト(ネットワーキングのRFCなど)はありますか?jmp
je
jle
inc
Intel
いくつかの一般的な話はウィキペディアにありますが、私は内部で何が起こっているのかを完全に知りたいです。
ありがとうございました
mips - MIPS は右にシフトします (ただし、0 の代わりに 1 を追加します)
レジスタ値を右にシフトする方法はありますが、(srl のように) 0 を追加する代わりに、1 を追加します。それが不可能な場合は、同じ目標を達成するための他の提案をいただければ幸いです。
assembly - アセンブリ言語が有用であると見なされるために必要な最小限の命令セットは何ですか?
私は一般的にアセンブリプログラミングを研究しているので、ソフトウェアに「仮想マイクロプロセッサ」を実装することにしました。これには、変数と配列を使用して実装されるレジスタ、フラグ、RAMが含まれています。しかし、マイクロプロセッサの最も基本的な動作のみをシミュレートしたいので、基本的な命令のみを含み、それなしでは役に立たない命令のみを含むアセンブリ言語を作成したいと思います。つまり、乗算やレジスタ値の交換などを実行できるアセンブリ言語がありますが、これらの操作は、より簡単な命令を使用して実装できるため、基本的なものではありません。私はそのような命令を実装したくありません。
バイトを移動するMOVや命令ポインタを別のアドレスに送信するJPなど、アセンブリ言語には常に存在しなければならない命令がいくつか想像できます。
最も基本的で重要な組み立て手順のセットを提案できますか?ありがとう!
architecture - コンピューター アーキテクチャの宿題 - 命令オペランド
デジタル コンピューターには、1 ワードあたり 32 ビットのメモリ ユニットがあります。命令セットは、150 の異なる操作で構成されています。すべての命令には、オペレーション コード部分 (オペコード)、レジスタ オペランド部分 (10 個の異なるレジスタから 1 つを指定)、およびメモリ オペランド アドレス部分があります。各命令は、メモリの 1 ワードに格納されます。
(d) このコンピュータの命令は、(i) 2 つのメモリ オペランドと (ii) 2 つのレジスタ オペランドを使用できますか? 可能であれば、その方法を説明してください。できない場合は、その理由を説明してください。
この質問については本当によくわかりません。最初の部分への答えは、指定されたレジスタにメモリアドレスが含まれていて、命令がADDのようなものである場合、命令は2つのメモリオペランドを使用していると思いますか? それとも私は質問を理解していませんか?
(ii)については、できるというのが答えだと思いますが、どのようにできているのかわかりませんし、答えを探す方法もわかりません。編集:レジスタオペランドを命令のメモリオペランド部分に配置できるという答えは単純ですか?
assembly - Intel 8080命令...「DAD」命令ニーモニックの語源は何ですか?
CharlesPetzoldの優れた本CodeでIntel8080プロセッサについて学んでいます。DAD命令は、それが何を達成するかについて説明されましたが、このようなアルファベットコードについては、それらが何を表すのかを知る必要があるという奇妙なことがあります。たとえば、ADCはADdwithCarryの略です。または、借り入れを伴うSuBtractのSBB。
しかし、DADはどうですか?それは私が知っているばかげた質問ですが、誰かが答えを知っているかどうか疑問に思います。グーグルは何も生み出していない...
c# - C# でインタープリターを作成する: 命令を実装する最良の方法は?
C# を使用して PLC 言語インタープリターを作成しています。その PLC 言語には、20 を超えるデータ タイプと 25 程度の命令が含まれています。コードの生成を開始するとすぐに、命令を記述する 2 つの異なる方法のバランスを取ります。
1) あらゆる種類の命令はswitch
、データ型を選択するために big を含む 1 つのクラスで表されます。例:
2) 各クラスは、単一のデータ型を持つ単一の命令を表します。このようにして、大きなものを避けswitch
ます。例:
COMMAND desing pattern ( Exec()
) を使用して命令を記述しています。大きなスイッチを回避するため、2 番目の選択肢の方が優れていると思いますが、400 以上の命令を記述する必要があります。
この場合、翻訳のパフォーマンスよりも実行のパフォーマンスの方が重要であることを常に念頭に置いてください。
したがって、私の正確な質問は次のとおりです。命令とデータ型を因数分解する他の方法はありますか? パフォーマンスを犠牲にすることなく、より少ない量の命令を書くことを探しています。
編集:
この図は、私の型階層を示しています。
これは INT クラスの実装です。
一部のクラスはより複雑です (構造体、配列など)。
操作のプッシュとポップは次のように定義されます。
最後に、メモリの読み取りと書き込みの操作です。
この情報がお役に立てば幸いです。ありがとうございました。
assembly - 機能別 x86 命令のリファレンス
x86 命令セットの「進化」に関するリファレンスを探しています。主に、どの新しいコマンドが古いコマンドを冗長で使用不能にするか、およびそれらが追加された時間/プロセッサではなく、それらの機能に応じた命令の内訳。
また、近年のソフトウェア開発における x86 コマンドの使用率 (つまり、現在のプログラムで使用されなくなったコマンド) について言及しているリファレンスはありますか?