問題タブ [opcode]
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.
mips - 逆コンパイラのルールを定義する良い方法を探しています。アドバイスが必要です
私は MIPS アーキテクチャ用の非常に単純な逆コンパイラに取り組んでおり、進行するにつれて、コード分析のための多くのルールを定義する必要があります。bneであり、現在の前のアドレスを参照しています -ループを作成します問題 - そのようなルールがたくさんあり、それらを定義する良い方法を見つけることができません。すべてのルールに個別の関数を書き、素敵な OOP ベースロジッククラスを定義し、それらを拡張して作成しようとしましたルール、失望したコードで正規表現を試してみましたが(驚いたことに、これは予想よりもうまく機能します)、何を試しても、コードをすぐに大きくして読みにくくなりました。それ。
これは、私が間違ったツールを使用してこのタスクを解決しようとしているという結論に達します(そのような複雑なタスクにはあまりにも愚かであることは言うまでもありません:))が、何を試すべきかわかりません。現在、テストされていない 2 つのアイデアがあります。1 つはある種の DSL を使用することです (私はこれについてまったく経験がないので、完全に間違っている可能性があります)。
誰かが私を正しい方向に向けてくれることを願っています.thx.
.net - CLR 4.0で導入されたOpCodeは何ですか?
3.5と比較して.NET4.0で新しいILオペコードはありますか?ある場合、それらのリストはどこにありますか?
python - Pythonにはオペコードキャッシャーがありませんか?
私は現在PHPを使用しています。次のプロジェクトで Django を使い始める予定です。
しかし、私は Python の経験がありません。いくつか検索しても、まだ Python オペコード キャッシャーが見つかりません。
(PHP 用のオペコード キャッシャーは多数あります: APC、eAccelerator、Xcache など)
c# - Reflection.Emitの短い形式のオペコードでエラーが発生しました
hlsl
ピクセルシェーダーと非常によく似ていますが、サポートする小さな言語を作成しています。この言語はreflection.emit
、同じ機能を実装する.NETアセンブリを構築するために使用します。私は現在、分岐命令の実装をテストしていますif
が、ユニットテストの1つ(if
内部が大きいif/else
)で次のエラーメッセージが表示されて失敗しました。
System.NotSupportedException:位置:32の不正な1バイトブランチ。要求されたブランチは:132でした。
私の場合、短い形式の指示を使用することで問題を追跡しましたOpCodes.Br_S
。解決策は単純でしたが、私は置き換えましたOpCodes.Br_S
がOpCodes.Br
、この解決策についていくつか質問があります。
このソリューションは、生成されたコードのパフォーマンスに影響を与えますか?
Br_S
シングルバイトを正しく生成したい場合、およびBr
その他の場合はどうすればよいですか?ここでの問題は、ビジターパターンを使用してif
いて、出力する必要があるような分岐命令の場合、Br
またはBr_s
最初に、残りのコードがジャンプするのに1バイト以上必要かどうかを知る方法がないことです。ラベル。私の質問をよりよく説明するために、これは次のステートメントに対して生成するコードです。
私の言語:
IL:
この場合、私は2つの短い形式の命令を使用しble.s
ており、.NETコンパイラと同じようbr.s
にを実装しています。if
ただし、.NETコンパイラは選択することができますが、br.s
場合br
によっては、私の問題は、どのようにして同様のことを実行できるかということです。
Tnks
assembly - 機械語命令のコードはどこにありますか
つまり... nop は 90、push は 55 ... その他は?リンクは?Google で検索しても何も出てこない...
wordpress - APC キャッシングの最適化
ここに私のAPCの実行方法へのリンクがあります:[削除済み]
ご覧のとおり、すぐにいっぱいになり、キャッシュ フル カウントが 1000 を超えることがあります。
私のウェブサイトはワードプレスを使用しています。
新しい投稿を作成したり、投稿を編集したりするたびに、2 つのことが起こることに気付きました。
1) APC メモリの「USED」がリセットされる 2) フラグメントが大量に発生する
APC (512 mb) により多くのメモリを割り当てようとしましたが、時々クラッシュします。384 が最適なようです。また、apache を再起動し、すべての APC のフラグメントと使用済みメモリを 4 時間ごとにクリアする Cron ジョブもあります。繰り返しますが、APC が長時間実行されていると、Apache がクラッシュします。フラグメントの蓄積が原因だと思います。
apc.Filters を使用して、キャッシュすべきではないものを除外する必要がありますか?
私はこの種のもので本当に初心者なので、誰かが完全な指示で説明できるなら、どうもありがとう!!!
assembly - なぜこれが無効なオペランドなのですか?
私が書いているコンパイラによって生成された次のASMファイルがあります。
コンパイルしようとすると、次のエラーが発生します。
test.asm:16:エラー:オペコードとオペランドの組み合わせが無効です
test.asm:19:エラー:オペコードとオペランドの組み合わせが無効です
test.asm:29:エラー:オペコードとオペランドの組み合わせが無効です
NASMのドキュメントによると、次のことが許可されているため、これは実際には意味がありません。
MOV mem_offs、reg_eax 386
なぜこの操作を実行できないのですか?
gcc - gcc で完全なアセンブラ出力を取得するにはどうすればよいですか?
以下を使用して、コンパイラによって生成されたアセンブラソースコードを取得できることを知っています。
面倒なことに、プロセスの一部としてオブジェクトファイルが提供されません。
しかし、コンパイルされたコードに関するすべてを取得するにはどうすればよいでしょうか? アドレス、生成されたバイトなどを意味します。
によって出力された命令gcc -S
は、命令の長さやエンコーディングについて何も教えてくれません。これは私が見たいものです。
assembly - ia-32アセンブリで3オペランドのimul命令は正確に何をしますか?
指示を読んでいます
そして私はそれが正確に何をしているのか困惑しています。imulが乗算されることは理解していますが、構文がわかりません。
x86 - x86インテルオペコードアセンブリ
アセンブリニーモニックと命令の代わりに純粋なx86Intelオペコードを使用してプログラムを記述し、それをMLとLINKでコンパイルする方法はありますか。たとえば、プッシュの代わりに55を書き込もうとすると、ebpMLはそれが整数であると見なします。特別なコンパイラが必要ですか、それともオペコードプログラムをどのように記述してコンパイルしますか。