以下のコードに問題があります。IA-32 アーキテクチャーの GAS asm 構文です。fsqrt
命令の後、算術例外を生成します。SetDouble
は値のint
型で、浮動小数点数です。gccを使用してフラグを付けてこれをコンパイルしています。誰かが私が間違えた場所を指摘できますか.0x0200
input
-m32
pushl %ebp
movl %esp,%ebp
finit
fldcw SetDouble
fld input
fld input
fmulp
fld1
faddp
fsqrt
fld1
fxch
fsubp
fstp output
mov %ebp,%esp
pop %ebp