Re: FPU (Floating-Point Unit) 已刪文
※ 引述《loveflames (.....)》之銘言:
: X87就是一種FPU
: FPU主要會用到的是ST~ST(7)這8個堆疊暫存器
: 常用的指令
: FINIT :重設FPU 如果一開始要用FPU 通常有這行
: FLD 運算元:把運算元的值推進ST
: FLD1 :把1推進ST
: FLDZ :把0推進ST
: FLDPI:把π推進ST
: FLDL2E:把log2 e推進ST
: fadd st(a),st(b):st(b)加到st(a)
: fsub 同
: fmul
: fdiv 上
: fstp 變數:把fpu的運算值以浮點數形式pop給變數
: fistp 變數:把fpu的運算值以整數形式pop給變數
: FCHS:改變st的正負
: FABS:取st的絕對值
: FSQRT:取st的平方根
: FSCALE :計算ST*2^ST(1)之值,存回st
: FPREM:st除以st(1)的餘數存回st
: 例:y=(x-1)^3/(x+1)^2
: st st(1) st(2) st(3) st(4)
: fld1; 1
: fld x; x 1
: fsub st,st(1); x-1 1
: fld st; x-1 x-1 1
: fmul st,st(1); (x-1)^2 x-1 1
: fmul st,st(1); (x-1)^3 x-1 1
: fld x; x (x-1)^3 x-1 1
: fadd st,st(3); x+1 (x-1)^3 x-1 1
: fmul st,st; (x+1)^2 (x-1)^3 x-1 1
: fld1; 1 (x+1)^2 (x-1)^3 x-1 1
: fmul st,st(2) ; (x-1)^3 (x+1)^2 (x-1)^3 x-1 1
: fdiv st,st(1);
: fstp y;y=(x-1)^3/(x+1)^2
謝謝板主... 嗯,真麻煩...
那是不是只要照板大你的那些動作,把那些指令都執行過後,就可以成功記算出答案?
那這樣的話,感覺沒有想像中的難...
--
優雅深邃ASM...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.132.68
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章