問題タブ [cpu-registers]
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 - SI レジスタと DI レジスタの実質的な違いは何ですか?
違いがわかりません。
assembly - アセンブリの 8 ビット変数に 16 ビット値の一部を格納する方法はありますか?
16 ビット変数を格納する変数を 1 つ作成し、上位半分を 8 ビット変数に格納しようとしています。どうすればいいですか?
編集:IA-32用で、レジスタを使用できないと思います
EDIT2: レジスタを使用することが許可されています。
visual-studio-2008 - VS2008ウォッチウィンドウにCPUレジスタを表示する
ウォッチウィンドウに特定の構文でCPUレジスタ(RAX、EAX、フラグなど)を追加して、通常の変数のように表示され、基数10(または16進表示がオンの場合は16進数)で出力されるようにすることはできますか?
例えば:
[登録]ウィンドウにRAX=00000000027A6468と表示されている場合、監視に%raxを追加すると次のようになります。
ありがとう !
cpu - Intel i7 プロセッサの CPUID
新しい i7 ベースのマシンで CPUID ベースのコードに問題があります。CPU が、それぞれ 2 つの HT ユニットを備えた 4 つのコアではなく、8 つの HT ユニットを備えた単一のコアを持つものとして検出されます。
CPU から返される CPUID 情報の結果を誤解しているに違いありませんが、その方法がわかりません。
基本的に、Windows から見える各プロセッサを反復処理し、スレッド アフィニティをそのスレッドに設定してから、一連の CPUID 呼び出しを行います。
このシーケンスは、システム内の残りの CPU に対して繰り返されます。
誰もこれに直面したことがありますか?
assembly - 新しい X86_64 プロセッサ レジスタの名前は?
このアーキテクチャでのアセンブリ用の新しいレジスタの名前はどこにありますか?
EAX、ESP、EBX などの X86 のレジスタについて言及していますが、64 ビットで使用したいと考えています。
Cコードを逆アセンブルしたときと同じではないと思います.eの代わりにrを取得します.
c++ - C++ CPU レジスタの使用
C++ では、ローカル変数は常にスタックに割り当てられます。スタックは、アプリケーションが占有できる許容メモリの一部です。そのメモリは RAM に保持されます (ディスクにスワップアウトされていない場合)。では、C++ コンパイラは常にローカル変数をスタックに格納するアセンブラ コードを作成するのでしょうか?
たとえば、次の単純なコードを見てください。
MIPS アセンブラー コードでは、これは次のようになります。
ご覧のとおり、n に対してスタックをまったく使用する必要はありませんでした。C++ コンパイラはそれを認識し、CPU のレジスタを直接使用しますか?
編集:うわー、あなたのほぼ即時かつ広範な回答に感謝します! return ++n;もちろん、 foo の関数本体はではなくであるべきですreturn n++;。:)
c - Cでレジスタを使用するのはいつですか?
私はこのようなものを持っています
それが何をするか、それは問題ではありません。コードは現在のようにすばやく実行されますが、register キーワードが削除された場合は遅くなります。ただし、 int n の前にレジスタを追加すると、実際には現在よりも遅くなりますが、レジスタを使用しない場合よりは速くなります。
誰かが私にこれを説明できますか?ありがとう。
debugging - アセンブリのデバッグ
アセンブリ コードをデバッグするにはどうすればよいですか? 私は Linux を使用しており、gdb が便利です。私はレジスターを見ることができることを知っています。アセンブリ コードをデバッグする方法にはどのようなものがありますか?
c - レジスタ値を C 変数に読み込む
拡張 gcc インライン アセンブリを使用してレジスタ値を読み取り、それを C 変数に格納する方法を見たのを覚えています。
私は一生、asmステートメントを作成する方法を覚えていません。
c++ - ビジュアルスタジオでプロセッサレジスタを使用する方法は?
私は RSA の課題を解決するプログラムを書こうとしています (はい、興味深い目標があります)。現在、64 ビットの Linux ボックスを持っていません。これまでに終了するチャンス。したがって、アセンブラー プログラミングを行うことはできますが、C++ を使用することをお勧めします。ただし、インラインアセンブリを使用して同じことを行う方法にも興味があります。ここでの計画は、16 個の 64 ビット汎用レジスターと 128 ビット sse レジスターを使用して (非常に長い) 整数演算を行うことです。そのため、それを行う方法についての助けをいただければ幸いです。