タグ

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

タグの絞り込みを解除

x86に関するlufiabbのブックマーク (4)

  • x87 FPUの呪い - Qiita

    それぞれの説明はこんな感じである: X: Infinity Control 無限大の符号の扱いを変える設定だったらしい。IEEE 754が標準化される前の痕跡で、387以降は意味を持たない。 RC: Rounding Control 丸め方法を指定する。 00B: Round to nearest (even) 01B: Round down (toward $-\infty$) 10B: Round up (toward $+\infty$) 11B: Round toward zero (Truncate) PC: Precision Control 演算結果の仮数部の精度を指定する。 00B: Signle Precision (24 bits) 01B: Reserved 10B: Double Precision (53 bits) 11B: Double Extended Pr

    x87 FPUの呪い - Qiita
    lufiabb
    lufiabb 2021/12/04
  • ハードウェアの知識が無い人向けのアセンブリ言語の話(draft)

    記事は書きかけなので内容(タイトルすらも)は随時書き換わっていきます。ドラフトのうちは内容の正確性や文書全体としての整合性についても荒っぽい部分が多々あります。ご容赦ください。 はじめに 記事はソフトウェア開発者がハードウェアに近い低レイヤといわれる領域に入門するとき、とくにアセンブリ言語に出会ったときにつまずきがちなことを紹介します。主な対象読者はJavaScriptPythonなどのスクリプト言語などによるアプリ開発からソフトウェア開発に入った、それより下のレイヤになじみのない人です。 筆者は常々アセンブリ言語は技術的にものすごく難しいわけではないものの、学習につまずく人が非常に多いという印象を持っています。その主な原因の一つは、みなさんが普段慣れ親しんでいる人間に使いやすいように作られた高級プログラミング言語(以下高級言語)と、機械に解釈させやすいように作られているアセンブリ言

    ハードウェアの知識が無い人向けのアセンブリ言語の話(draft)
  • opv86

    opv86 Opcode/Instruction finder for x86_64 GitHub: hikalium/opv86 Decoder output (experimental)

    lufiabb
    lufiabb 2020/09/14
  • cpuid (x86) ‐ 通信用語の基礎知識

    この命令は、i386末期から利用可能となった。公式にはi486以降対応。 元々、CPUID命令対応以前のCPUでも、CPUリセット時にDXレジスターに16ビットでCPUの種類を表わすIDがセットされていた(これはEAX=1としてCPUID命令で得られる32ビット値中の下位16ビットそのままである)。これを32ビットに拡張し、また他の情報も得られるようにし、命令で取得可能にしたものである。 具体的には、フラグレジスター(EFLAGS)のビット21が変更可能である場合に命令が利用できる。オペコードは「0F A2」の2バイトである。 この命令を使うとCPUの種類を表わすコードやプロセッサーシリアルナンバー、そのCPUが持つ機能、メーカーなどを取得することができる。 cpuidという命令であることからも分かるように、CPUIDを得ることが主たる目的となる命令である。詳細は後述するが、これはEAX=

    lufiabb
    lufiabb 2019/10/04
  • 1