タグ

浮動小数点とIA-32に関するItisangoのブックマーク (1)

  • Assembly Programming Linux

    実行しているのは次のコードです.fld でメモリにある80ビットの浮動小数を スタックにつみます. (a) の fsub 命令でスタックの上部の2つの数値を取り出して 減算し, 結果をスタックに戻します. (b) の fsubp 命令では fsub の後にスタック をポップ(スタックトップを空にした後,ポインタをインクリメント)します. (c) の例では, fcompp で大きさを比較した結果を C0, C2, C3 の条件コードに設定 してスタックを2回ポップしています. 比較に使った数値が不用の場合です. Num16 dt 16.0 Num4 dt 4.0 fld tword[Num16] fld tword[Num4] fsub st1, st0 ; (a) ; または fsubp st1,st0 (b) ; または fcompp st1,st0 (c) 使いやすいのは (b) の方

  • 1