0から作るソフトウェア開発

日々勉強中。。。

0から作るOS開発

環境準備

環境設定

ブートローダ

カーネルローダ

GRUB

カーネル

ドライバーその他

Tips IA32 x87命令一覧 定数ロード命令 FLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ命令

IA32 87命令一覧

このサイトで挙げる命令はx87命令の一覧となります。x87 FPUは16ビットのコプロセッサで、

もともとx86とは独立したICでしたが、80486DXおよびPentium以降に1つのプロセッサとして

統合されました。



調べたい命令の頭文字をクリックすると、表の下に詳細が表示されます
IA32 x87命令一覧
データ転送命令 定数ロード命令
基本算術命令 比較命令と分類命令
三角関数命令 対数、指数、スケーリング命令
x87 FPU制御命令 補足


定数ロード命令

クリックすると、表の下に詳細が表示されます
定数ロード命令一覧
命令 代表命令の説明
(英語)
代表命令の説明
(日本語)
FLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ Load Constant 浮動小数点定数の1つをFPUレジスタースタックにプッシュします


FLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ命令(Load Constant)

FLD1/FLDL2T/FLDL2E/FLDPI/FLDLG2/FLDLN2/FLDZ命令
オペコード 命令 説明
0xD9 0xE8 FLD1 +1.0をFPUレジスタースタックにプッシュします
0xD9 0xE9 FLDL2T log210をFPUレジスタースタックにプッシュします
0xD9 0xEA FLDL2E log2eをFPUレジスタースタックにプッシュします
0xD9 0xEB FLDLPI π をFPUレジスタースタックにプッシュします
0xD9 0xEC FLDLG2 log102をFPUレジスタースタックにプッシュします
0xD9 0xED FLDLN2 loge2をFPUレジスタースタックにプッシュします
0xD9 0xEE FLDZ +0.0をFPUレジスタースタックにプッシュします


詳細

拡張倍精度浮動小数点フォーマットで使用されている7つの定数の中の1つをFPUレジスタースタックに

プッシュします。これらの命令でロードできる定数は+1.0、+0.0、log210、log2e、 π 、log102、loge2となります。

各定数について、66ビットの内部定数が( FPU制御レジスターのRCフィールドの指定に従って)

拡張倍精度浮動小数点フォーマットに丸められます。丸め結果としては、 不正確例外(#P)は発生しません。

結果が切り上げられてた場合は、 ステータスレジスターでC1フラグはセットされません

影響のある条件コードフラグ

影響のある条件コードフラグ
フラグ 説明
C0 未定義
C1 0:スタックオーバーフローは発生していません。
1:スタックオーバーフローが発生しました
C2 未定義
C3 未定義


影響のあるEFLAGSレジスタのフラグ

影響のあるEFLAGSレジスタのフラグ
フラグ 説明
ID -
VIP -
VIF -
AC -
VM -
RF -
NT -
IOPL -
OF -
DF -
IF -
TF -
SF -
ZF -
AF -
PF -
CF -


inserted by FC2 system