- UID
- 1
- 精华
- 积分
- 76361
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
C语言表达:- fabs(A*x+B*y+C*z+D)/sqrt(A*A+B*B+C*C)
复制代码 VB语言表达:- Abs(A*x+B*y+C*z+D)/Sqr(A*A+B*B+C*C)
复制代码 汇编表达:假定A、B、C、D、x、y、z都指向double双精度浮点数类型的变量- fld dword[A] ;载入A
- fmul qword[x] ;乘以x
- fld qword[B] ;载入B
- fmul qword[y] ;乘以y
- fadd ;得到A*x+B*y
- fld qword[C] ;载入C
- fmul qword[z] ;乘以z
- fadd ;得到A*x+B*y+C*z
- fadd qword[D] ;得到A*x+B*y+C*z+D
- fabs ;取绝对值得到fabs(A*x+B*y+C*z+D)
- fld qword[A] ;载入A
- fmul st0 ;乘以A
- fld qword[B] ;载入B
- fmul st0 ;乘以B
- fadd ;得到A*A+B*B
- fld qword[C] ;载入C
- fmul st0 ;乘以C
- fadd ;得到A*A+B*B+C*C
- fsqrt ;开平方根得到sqrt(A*A+B*B+C*C)
- fdiv ;最终得到fabs(A*x+B*y+C*z+D)/sqrt(A*A+B*B+C*C)的计算结果。
- ;fst qword[Result];存储运算的结果到内存
复制代码 |
|