タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとProgrammingとx86に関するAmaiSaetaのブックマーク (3)

  • Xbyak - x86 JIT assembler -

    Xbyak - x86, x64 JIT assembler - .frame(English) .frame(x86の究極の最適化手法?) Xbyak(カイビャック)はx86(IA32), x64(AMD64, x86-64)のマシン語命令を生成するC++のクラスライブラリです. プログラム実行時に動的にアセンブルすることが可能なため, 柔軟な最適化(動的コード生成)が可能となります(利用シーン:量子化の高速化, 式の計算). 暗号ライブラリに使って高速な実装をしてみた(very fast etaT pairing for Core 2 Duo) ヘッダファイルオンリー xbyak.hをインクルードするだけですぐ利用することができます(32bit, 64bit両対応). Windows Xp(32bit, 64bit), Vista/Linux(32bit, 64bit)/Intel

    AmaiSaeta
    AmaiSaeta 2007/03/11
    "IA32(x86)のマシン語命令を生成するC++のクラスライブラリです."
  • 浮動小数点演算ではまった話 - bkブログ

    浮動小数点演算ではまった話 浮動小数点演算のありがちな問題ではまりました。 いろいろ調べているうちに x86 特有のちょっとおもしろい 現象に遭遇したので紹介したいと思います。 パーセンテージの計算 簡単な C のプログラムでパーセンテージを計算しようと思い、 次のようなコードを書きました。 int x, y; ... int a = (double)x / y * 100; int a = x * 100 / y としないのは、 x が大きい場合に x * 100 が オーバーフローを起こす (INT_MAX を越える) ためです。 このコードは一見、期待通りに動いていたのですが、 しばらく使っていると、手元の環境では x = 53, y = 100 のときに a は 53 ではなく 52 になることに気づきました。 これは次の理由によります。 式の最初の (double)53 / 10

    AmaiSaeta
    AmaiSaeta 2007/03/03
    『パーセンテージの計算』は知っていたが、『変数にいったん入れると結果が変わる問題』は知らんかった。
  • 条件ジャンプとフラグ

    フラグレジスタの内容 前回に引き続き、今回は条件付ジャンプを説明します 条件付ジャンプには、これまで何度が簡単に説明をした「フラグレジスタ」を用います 条件付ジャンプにはJump if Condition Is Metと呼ばれる命令セットを使います これは、数多くのフラグの状態を調べるジャンプ命令がサポートされているので より詳しく知りたいのならば、IntelのWebページからPDFファイルをDLしてください フラグレジスタは16ビットの一つのレジスタで構成され それぞれ1ビットずつに意味のあるフラグが存在しています 全てのフラグは1ビットで表現され、0か1かでその状態を表します フラグレジスタ名前意味ONOFF OF

    AmaiSaeta
    AmaiSaeta 2006/03/10
    フラグレジスタについて(一覧)
  • 1