問題タブ [assembly]

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.

0 投票する
10 に答える
26926 参照

c - x86でfloatをintに変換する最速の方法は何ですか?

x86 CPU で浮動小数点数を int に変換する最も速い方法は何ですか。次の任意の組み合わせについては、Cまたはアセンブリ(Cでインライン化できる)であることが望ましい:

  • 32/64/80 ビット浮動小数点 -> 32/64 ビット整数

コンパイラーに任せるよりも速いテクニックを探しています。

0 投票する
3 に答える
1078 参照

macos - Mac (68000) アセンブラの名前は?

いくつかあったと思いますが、私が考えていたのは、コンピューターを完全にクラッシュさせたときに素敵なテキスト画面を表示するものでした。

テキストは「まあ、キッパーを吸う」でした。

0 投票する
4 に答える
5442 参照

c++ - ARM でのプリフェッチ命令

新しい ARM プロセッサには、PLD および PLI 命令が含まれています。

非順次メモリ アクセス パターンを持つタイトな内部ループ (C++ で) を作成していますが、コードが自然に完全に理解できるパターンです。現在のメモリ位置を処理しながら次の位置をプリフェッチできれば、大幅な高速化が期待できます。これは、実験に値するように試すのに十分な速さであると期待できます!

私はARMの新しい高価なコンパイラを使用していますが、気になるこの特定のループは言うまでもなく、どこにもPLD命令が含まれていないようです。

C++ コードに明示的なプリフェッチ命令を含めるにはどうすればよいですか?

0 投票する
3 に答える
2032 参照

x86 - リアルタイム クロックを取得するために、DOS からどの割り込みをフックしますか?

リアルタイム クロックを取得するには、DOS からどの割り込みをフックしますか?

0 投票する
11 に答える
32274 参照

assembly - x86 アセンブリ言語を使用して 2 つの 64 ビット数を乗算するにはどうすればよいですか?

どうすればいいの...

  • 2 つの 64 ビット数の乗算

  • 2 つの 16 桁の 16 進数の乗算

...アセンブリ言語を使用。

レジスタ %eax、%ebx、%ecx、%edx、およびスタックのみを使用できます。

編集: ああ、x86 で ATT 構文を使用しています EDIT2:
アセンブリに逆コンパイルすることはできません...

0 投票する
9 に答える
14589 参照

algorithm - アセンブリ言語の疑似乱数ジェネレータ

コースで割り当てられたアセンブラプログラムには、疑似乱数生成アルゴリズムが必要です。単純なアルゴリズムを使用したいと思います。ただし、外部ライブラリは使用できません。

アセンブリ用の優れた単純な疑似乱数ジェネレータアルゴリズムとは何ですか?

0 投票する
5 に答える
1325 参照

assembly - アセンブリ言語プログラムが「ジャンク」を表示する原因は何ですか?

短いメッセージを表示するはずのコードがあります。関連するコードは次のとおりです。

出力は次のとおりです。

ここで何が起こっているのですか?

0 投票する
2 に答える
1777 参照

assembly - Grub とリアル モード (低レベルのアセンブリ言語プログラミング) への移行

私はおもちゃの OS に取り組んでおり、ブートローダーとして grub を使用しています。最近、VGA を使用しようとすると、ハードウェア割り込みが使用できないことがわかりました。私が見つけたのは、grub によってプロテクト モードにされていたためです。

grubを取り除かずにリアルモードに戻す方法を知っている人はいますか?

0 投票する
1 に答える
8682 参照

pointers - MIPS アセンブリ ポインタからポインタへ?

このケースの処理方法はわかっていると思いますが、それが正しいことを確認したいだけです。次の C コードがあるとします。

P には、別のアドレスを持つメモリ内の場所を指すアドレスが含まれています。2 番目の住所を変更したいのですが。したがって、MIPS コードは次のようになります。

それはあなたがそれをする方法ですか?

0 投票する
6 に答える
9177 参照

c++ - 世界最速の atof 実装はどこにありますか?

US-en ロケール、ASCII、および非科学表記に最適化された IA32 での非常に高速な atof() 実装を探しています。Windows のマルチスレッド CRT は、isdigit() を呼び出すたびにロケールの変更をチェックするため、ここでは惨めに機能しません。私たちの現在のベストは、perl + tcl の atof 実装のベストから導き出されたもので、msvcrt.dll の atof を桁違いに上回っています。もっとうまくやりたいのですが、アイデアがありません。BCD 関連の x86 命令は有望に思えましたが、perl/tcl C コードを上回るパフォーマンスを得ることができませんでした。SO'ers はそこにある最高のものへのリンクを掘り下げることができますか? 非 x86 アセンブリ ベースのソリューションも歓迎します。

最初の回答に基づく説明:

このアプリケーションでは、最大 2 ulp の不正確さは問題ありません。
変換される数値はネットワークを介して小さなバッチで ASCII メッセージで到着し、アプリケーションはそれらを可能な限り低いレイテンシーで変換する必要があります。