問題タブ [x87]

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 投票する
2 に答える
184 参照

visual-c++ - Visual C++ x86 ABI: VC++ はどのように値を返しますか?

では 1/2/4 バイトの整数が返されeax、 では 8 バイトの整数が返されることはわかっていeax:edxます。

ところで、cdecl/stdcall で 4/8/16バイトの浮動小数点値(おそらくlong double16 バイトだったと記憶しています..)はどのように返されるのでしょうか?


@MatteoItalia のおかげで、VC++long doubleが 8 バイトであることを知りました。では、どうすれば 16 バイトの浮動小数点を使用できるでしょうか。

(「8 バイトだけを使用してください」とは言わないでください。本当に必要なのです。)

うーん、10バイトの浮動小数点でいいのかな…

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

math - x86 での三角関数命令のエラーは何ですか?

x86 プロセッサでの三角関数命令の誤差範囲に関する情報はどこにありますfsincos?

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

macos - flds 命令が Mac OSX で失敗する

flds命令は値を register に格納する必要がありますst0。コードがない共有ライブラリをデバッグしています。場合によっては、flds命令が に影響を与えないことがありますst0。以下はgdb、動作した場合と失敗した場合の出力です。壊れたケースでは、fstatレジスタは 0x2061 ではなく 0x2261 です。0x200 フラグは何を示していますか?

作業バージョン:

壊れたバージョン:

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

assembly - x87 スタックの配列インデックスにアクセスする

アセンブリ構文に問題があります。私の課題では、一連のパラメーターを x87 浮動小数点レジスターに渡す必要があります。これらのパラメーターの 1 つは double であり、この double を配列として使用することになっています。

fldl 4(%esp)を使用してスタックにロードしましたが、配列要素にアクセスするタスクがあります。x86 で整数配列を操作する構文は理解していますが、x87 スタック上にある配列のインデックスにアクセスする方法がわかりません。

私の浮動小数点スタックにはこれしかないので、%st(0)にあることがわかっています。

0 投票する
0 に答える
202 参照

visual-c++ - 異なる cl.exe コンパイラ オプションを使用した場合の異なる結果

デスクトップにVS2013 Expressを使用して、Windows 7 64ビットを使用しています。

デフォルトとしてコンパイル (SSE を使用)

x87 のみを使用してコンパイルします。

以下のようなテストコード

FPU を削除する場合は、手動で初期化することに注意してください。結果が変わる!

を削除した後finit、デフォルトでコンパイル

x87 のみを使用してコンパイルする

だから私の質問は:

  1. について@@1、なぜ違うのですか?バグですか?

  2. について@@3、値が変更された理由は?

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

c++ - Webkit の実行中に pow() の計算が間違っているのはなぜですか?

浮動小数点計算が行われる GUI スレッドがある Qt C++ アプリケーションがあります。QWebViewまた、いくつかのビデオを含むフラッシュ プレーヤーがある場所で も開きます。

QWebView を閉じると、新しい次の浮動小数点演算が妨げられることは明らかです。したがってpow(double, double)、明確ではあるが正しくない値を返します。

あるケースでは1000、正しい値よりも多くの値を返しました。別の時間は 1 を返しました。#inf引数で使用した場合pow(10.0, 2.0)

これはさまざまなコンピューターでテストされており、特定の CPU に固有のものではないことに言及する必要があります。

Webkit でコプロセッサに問題がある場所を特定する方法と、それを防ぐ方法について何か提案はありますか?

サンプル (x64 のみ)

環境: Qt 4.7.4、C++、HTML、flowplayer

cpp

html

以下は、ソース付きの完全に機能するプログラムです: 15MB をダウンロード

0 投票する
0 に答える
124 参照

c++ - GNU C++ コンパイラでのインライン アセンブリ

次のインライン アセンブル コードがシステムで機能しません。そのコードの問題は何ですか?

asm代わりに使用すると__asm__、正常に動作します。