首页
社区
课程
招聘
[求助]为什么同一个函数同样的参数输出来的结果不一样
发表于: 2016-6-10 05:51 5683

[求助]为什么同一个函数同样的参数输出来的结果不一样

2016-6-10 05:51
5683
TestFuc        proc        uses ebx esi edi x:dword,y:dword,z:dword
        LOCAL        RwZb:XYZ
        LOCAL        var_1c:dword
        LOCAL        src:qword
        LOCAL        var_10:dword
        LOCAL        var_c:dword
        LOCAL        var_4:dword
       
        LOCAL        var:dword
        LOCAL        var2:dword       
        LOCAL        var4:dword       
        LOCAL        var5:dword
       
        LOCAL        var6:dword
        mov var,3f3504f4h
        mov var2,44800000h
        mov var4,4d000000h
        mov var5,39800000h
        fclex
        fild x
        fild y
        fild z
        fstp RwZb.z
        fstp RwZb.y
        fstp RwZb.x       
;        mov RwZb.x,45f06a97h
;        mov RwZb.y,469fce60h
;        mov RwZb.z,471c2ccfh
;        invoke        ParamFun,x,y,z,addr RwZb
        lea esi,RwZb
        movq xmm0,[esi]
        mov eax,[esi+8h]
        movss xmm3,var
        movq src,xmm0       
       
        movss xmm0,src
        mulss xmm0,var2
               
        movss xmm1,[src+4h]  ;;
        mulss xmm1,var2
        movaps xmm2,xmm0
        mulss xmm0,xmm3
        movaps xmm4,xmm1
        mov var_10,eax
        mulss xmm4,xmm3
        subss xmm0,xmm4
        addss xmm0,var4
        mulss xmm0,var5
        addss xmm2,xmm1
        mov eax,1
        mulss xmm2,xmm3
        mulss xmm2,var5
        movss var6,xmm0
        movss var_1c,xmm2
        ;test
        cvttss2si ecx,var6     ;ecx的值第一次计算跟第二次计算为什么不一样
        cvttss2si eax,var_1c  ;eax同上
       
        ret

TestFuc endp
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
知道了    finit  要初始化浮点寄存器
2016-6-10 06:00
0
游客
登录 | 注册 方可回帖
返回
//