問題タブ [instructions]
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 - LLVMアセンブリにプッシュとポップを実装する方法は?
LLVMアセンブリにプッシュおよびポップ操作を実装したいと思います。
alloca命令は、スタック、プッシュ、およびポップの概念に従いません。
例:
PUSH
x86
また
mips
POP
x86
また
mips
編集1:
プラットフォームに依存しないソリューションが必要です。
まず
、スタックの一番上を使用して一時オブジェクトを格納します。
式"a* b + c * d + e * f"は、3回の乗算の結果を格納する必要があります。オペランドはクラスの大きなオブジェクトであり、演算子はオーバーロードされています。演算「a*b」は多くの命令を取ります。「a」と「b」は乗算中に変更できません。つまり、「a * b」から生じるオブジェクトは、「a」または「a」と同じメモリ位置を使用できません。 「b」。
架空の言語のコードでは、
「&Object()」はスタック上にオブジェクトを作成してそのポインターを取得します。ポインターは関数へのパラメーターであり、オブジェクトは関数が戻った後に削除されます。
次に
、再帰関数を最適化したい。再帰関数を反復関数に変換し、スタックを使用して後で使用するデータをプッシュしたいと思います。スタック上にある再帰呼び出しの最大数がわからないため、配列を使用できません。
c++ - C++ で AND 演算と OR 演算を実装するにはどうすればよいですか
MIPS プロセッサを C++ で実装することになっている割り当てがあり、MIPS 命令の 1 つが "AND" と "OR" であり、MIPS 命令は次のように表されます。これは、レジスタがビットで表されるand $s1,$s2,$s3
ことを意味します。 C++ を使用して "AND" および "OR" 操作を実行しますか?$s1=$s2(and)$s3
$s2 and $s3
c++ - C++ での「AND」と「OR」の実装エラー
以前の質問を参照して、C++ で AND および OR 操作を実装するにはどうすればよいですか
次の質問は、たとえば 110010 & 010101 = 110591 のような奇妙な数字を出力することがあります。
instructions - シンプルなパイプラインとスーパースカラー アーキテクチャ
この命令フロー図を検討してください....
命令フェッチ→命令デコード→オペランドフェッチ→命令実行→ライトバック
をサポートするプロセッサを想定します。
cisc と risc の両方... intel 486 のように
ここで、risc 命令を発行すると、実行に 1 クロック サイクルかかるため、問題はありません...しかし、cisc 命令を発行すると、実行に時間がかかります...
そのため、cisc 命令を実行するのに 3 クロック サイクルかかり、実行前の段階でそれぞれ 1 クロック サイクルかかるとします。
現在、スーパースカラー構造では、最初の命令が処理されている間に発行された 2 つの命令が、利用可能な他の機能ユニットに迂回されます...しかし、命令の実行に利用できる機能ユニットは 1 つだけであるため、単純なパイプラインではそのような迂回は不可能です....
では、単純なパイプライン処理で命令の輻輳を回避するにはどうすればよいでしょうか?
debugging - バイナリの動作をログに記録しますか?
コマンドラインフラグがWindows上のプログラムに渡されたときにどの命令が異なる方法で実行されるかを理解したいと思います。そのプログラムのコンパイル済み(および最適化済み)のバイナリがあり、デバッグシンボルなどはありません。違いはほんの一握りの指示にすぎないことを私は知っています。
これを理解するにはどうすればよいですか?プログラムが特定の期間に実行した命令を正確にログに記録する手法はありますか?
(これにはシステム コールが含まれていないことに注意してください。コマンド ライン フラグのためにループ内でフラグが設定されているだけです。)
assembly - MIPS 用の subi opcode が存在しないのはなぜですか?
私はアセンブリ言語に非常に慣れていません。私はMIPSアーキテクチャについて読んでいて、オペコードがあることを知りましたが、オペコードaddi
はありませんsubi
。subi
オペコードがないのはなぜですか?
c++ - g++ でのコンパイル中の不正な命令
Linux で実行されている C++ プログラムを g++ でコンパイルすると、しばらくすると不正な命令例外が発生し、コア ダンプが発生するという問題があります。gdb を使用してバックトレースを実行すると、
バックトレースにメインがない理由がわかりません。?? デバッグシンボルが含まれていない私のLinuxライブラリの一部のようです.
私の質問は次のとおりです。プログラムの問題は何ですか? ライブラリ lapack は間違ってコンパイルされていますか (私は数日前にコピーしました)? それとも他のエラーですか?
私は、アセンブラや同様のものを明確に飛ばしませんでした。C++ のみ。
ありがとうクリスチャン
android - 四角いもののような指示のための小さなポップアップ
新しいfoursquareアプリケーションの最後のスクリーンショットと、漫画の指示のようなバルーンを確認した後、アプリケーションでこれらのいくつかを作成したいと思います。
手順については、iPhoneの小さなポップアップで同様の質問を見つけました ...どうやって?
これがフォースクエアアプリの別のスクリーンショットです:
Androidでそれを実現する方法を知りたいです。
助けてくれてありがとう。
更新:これは私がこれまでに得ることができたものですが、カスタム描画された背景を持ついくつかのボタンを追加し、FrameLayoutでそれらをレイヤー化します:
しかし、それでも三角形の効果を得ることができませんでした。たぶん、カスタムの背景の形でできることがありますか?
UPDATE2
あなたの提案を確認した後、私はアーロンCのアイデアを採用することにし、矢印の付いた画像を追加しました。これは私の現在の結果です:
Snailerに感謝します。QuickActionAPIプロジェクトは非常に有望なようです。アプリにさらに多くの機能を実装するときにチェックします。
今、私はちょうど正しい色を手に入れる必要があります、あるいは多分私はそれをこのようにすることができます。それもいいようです。
そして、それで、私がしたことを要約すると:
- FrameView内に最初のxmlレイアウトを取得しました。
フレームビューを使用しているので、ここに入力したものはすべて積み重ねられます。それが私がレイアウトに物事を追加する方法です。
そのフレームレイアウトに、三角形の画像と2つの上部ポップアップを作成するためのボタンを含む2つの相対レイアウトを配置しました。一番下にボタンだけを入れました。
それでおしまい。それが誰かに役立つことを願っています。
本当にありがとうございました!
c# - C# で公開されていない IL 命令
C# で公開されていない IL 命令はどれですか?
sizeof や cpblk などの命令について言及しています。これらの命令を実行するクラスやコマンドはありません (C# の sizeof は、実行時の AFAIK ではなく、コンパイル時に計算されます)。
その他?
編集:私がこれを尋ねている理由(そして、これが私の質問をもう少し有効にすることを願っています)は、これらの命令の機能を提供する小さなライブラリに取り組んでいるためです。sizeof と cpblk は既に実装されています。先に進む前に、他に見逃している可能性があるものを知りたかったのです。
EDIT2:エリックの答えを使用して、指示のリストをまとめました:
- 壊す
- JMP
- カリ
- Cpobj
- クフィニット
- プレフィックス[1-7]
- Prefixref
- エンドフィルター
- 非整列
- テイルコール
- Cpblk
- 初期化ブロック
リストに含まれていない他の多くの命令がありましたが、それらは基本的に他の命令のショートカットであるため、分離しています (時間とスペースを節約するために圧縮されています)。
- Ldarg[0-3]
- Ldloc[0-3]
- Stloc[0-3]
- Ldc_[I4_[M1/S/0-8]/I8/R4/R8]
- Ldind_[I1/U1/I2/U2/I4/U4/I8/R4/R8]
- Stind_[I1/I2/I4/I8/R4/R8]
- Conv_[I1/I2/I4/I8/R4/R8/U4/U8/U2/U1]
- Conv_Ovf_[I1/I2/I4/I8/U1/U2/U4/U8]
- Conv_Ovf_[I1/I2/I4/I8/U1/U2/U4/U8]_Un
- Ldelem_[I1/I2/I4/I8/U1/U2/U4/R4/R8]
- Stelem_[I1/I2/I4/I8/R4/R8]