sse.asm

来自「开放源码的编译器open watcom 1.6.0版的源代码」· 汇编 代码 · 共 335 行

ASM
335
字号
.686
.xmm
.model small

.code

    addps       xmm1,cs:0aH[bx+di]
    addps       xmm1,cs:0aH[ebx+eax*2]
    addps       xmm1,DGROUP:L$1
    addps       xmm1,xmm6
    addss       xmm1,cs:0aH[bx+di]
    addss       xmm1,cs:0aH[ebx+eax*2]
    addss       xmm1,DGROUP:L$2
    addss       xmm1,xmm6
    andnps      xmm1,cs:0aH[bx+di]
    andnps      xmm1,cs:0aH[ebx+eax*2]
    andnps      xmm1,DGROUP:L$1
    andnps      xmm1,xmm6
    andps       xmm1,cs:0aH[bx+di]
    andps       xmm1,cs:0aH[ebx+eax*2]
    andps       xmm1,DGROUP:L$1
    andps       xmm1,xmm6
    cmpps       xmm1,cs:0aH[bx+di],0
    cmpps       xmm1,cs:0aH[ebx+eax*2],0
    cmpps       xmm1,DGROUP:L$1,0
    cmpps       xmm1,xmm6,0
    cmpss       xmm1,cs:0aH[bx+di],0
    cmpss       xmm1,cs:0aH[ebx+eax*2],0
    cmpss       xmm1,DGROUP:L$1,0
    cmpss       xmm1,xmm6,0
    cmpps       xmm1,cs:0aH[bx+di],2
    cmpps       xmm1,cs:0aH[ebx+eax*2],2
    cmpps       xmm1,DGROUP:L$1,2
    cmpps       xmm1,xmm6,2
    cmpss       xmm1,cs:0aH[bx+di],2
    cmpss       xmm1,cs:0aH[ebx+eax*2],2
    cmpss       xmm1,DGROUP:L$1,2
    cmpss       xmm1,xmm6,2
    cmpps       xmm1,cs:0aH[bx+di],1
    cmpps       xmm1,cs:0aH[ebx+eax*2],1
    cmpps       xmm1,DGROUP:L$1,1
    cmpps       xmm1,xmm6,1
    cmpss       xmm1,cs:0aH[bx+di],1
    cmpss       xmm1,cs:0aH[ebx+eax*2],1
    cmpss       xmm1,DGROUP:L$1,1
    cmpss       xmm1,xmm6,1
    cmpps       xmm1,cs:0aH[bx+di],4
    cmpps       xmm1,cs:0aH[ebx+eax*2],4
    cmpps       xmm1,DGROUP:L$1,4
    cmpps       xmm1,xmm6,4
    cmpss       xmm1,cs:0aH[bx+di],4
    cmpss       xmm1,cs:0aH[ebx+eax*2],4
    cmpss       xmm1,DGROUP:L$1,4
    cmpss       xmm1,xmm6,4
    cmpps       xmm1,cs:0aH[bx+di],6
    cmpps       xmm1,cs:0aH[ebx+eax*2],6
    cmpps       xmm1,DGROUP:L$1,6
    cmpps       xmm1,xmm6,6
    cmpss       xmm1,cs:0aH[bx+di],6
    cmpss       xmm1,cs:0aH[ebx+eax*2],6
    cmpss       xmm1,DGROUP:L$1,6
    cmpss       xmm1,xmm6,6
    cmpps       xmm1,cs:0aH[bx+di],5
    cmpps       xmm1,cs:0aH[ebx+eax*2],5
    cmpps       xmm1,DGROUP:L$1,5
    cmpps       xmm1,xmm6,5
    cmpss       xmm1,cs:0aH[bx+di],5
    cmpss       xmm1,cs:0aH[ebx+eax*2],5
    cmpss       xmm1,DGROUP:L$1,5
    cmpss       xmm1,xmm6,5
    cmpps       xmm1,cs:0aH[bx+di],7
    cmpps       xmm1,cs:0aH[ebx+eax*2],7
    cmpps       xmm1,DGROUP:L$1,7
    cmpps       xmm1,xmm6,7
    cmpss       xmm1,cs:0aH[bx+di],7
    cmpss       xmm1,cs:0aH[ebx+eax*2],7
    cmpss       xmm1,DGROUP:L$1,7
    cmpss       xmm1,xmm6,7
    cmpps       xmm1,cs:0aH[bx+di],0ffH
    cmpps       xmm1,cs:0aH[ebx+eax*2],0ffH
    cmpps       xmm1,DGROUP:L$1,0ffH
    cmpps       xmm1,xmm6,0ffH
    cmpss       xmm1,cs:0aH[bx+di],0ffH
    cmpss       xmm1,cs:0aH[ebx+eax*2],0ffH
    cmpss       xmm1,DGROUP:L$1,0ffH
    cmpss       xmm1,xmm6,0ffH
    cmpps       xmm1,cs:0aH[bx+di],3
    cmpps       xmm1,cs:0aH[ebx+eax*2],3
    cmpps       xmm1,DGROUP:L$1,3
    cmpps       xmm1,xmm6,3
    cmpss       xmm1,cs:0aH[bx+di],3
    cmpss       xmm1,cs:0aH[ebx+eax*2],3
    cmpss       xmm1,DGROUP:L$1,3
    cmpss       xmm1,xmm6,3
    comiss      xmm1,cs:0aH[bx+di]
    comiss      xmm1,cs:0aH[ebx+eax*2]
    comiss      xmm1,DGROUP:L$1
    comiss      xmm1,xmm6
    cvtpi2ps    xmm1,cs:0aH[bx+di]
    cvtpi2ps    xmm1,cs:0aH[ebx+eax*2]
    cvtpi2ps    xmm1,DGROUP:L$1
    cvtpi2ps    xmm1,mm5
    cvtps2pi    mm2,cs:0aH[bx+di]
    cvtps2pi    mm2,cs:0aH[ebx+eax*2]
    cvtps2pi    mm2,DGROUP:L$1
    cvtps2pi    mm2,xmm6
    cvtsi2ss    xmm1,cs:0aH[bx+di]
    cvtsi2ss    xmm1,cs:0aH[ebx+eax*2]
    cvtsi2ss    xmm1,DGROUP:L$2
    cvtsi2ss    xmm1,ebx
    cvtss2si    ebx,cs:0aH[bx+di]
    cvtss2si    ebx,cs:0aH[ebx+eax*2]
    cvtss2si    ebx,DGROUP:L$2
    cvtss2si    ebx,xmm4
    cvttps2pi   mm2,cs:0aH[bx+di]
    cvttps2pi   mm2,cs:0aH[ebx+eax*2]
    cvttps2pi   mm2,DGROUP:L$1
    cvttps2pi   mm2,xmm6
    cvttss2si   ebx,cs:0aH[bx+di]
    cvttss2si   ebx,cs:0aH[ebx+eax*2]
    cvttss2si   ebx,DGROUP:L$2
    cvttss2si   ebx,xmm4
    divps       xmm1,cs:0aH[bx+di]
    divps       xmm1,cs:0aH[ebx+eax*2]
    divps       xmm1,DGROUP:L$1
    divps       xmm1,xmm6
    divss       xmm1,cs:0aH[bx+di]
    divss       xmm1,cs:0aH[ebx+eax*2]
    divss       xmm1,DGROUP:L$1
    divss       xmm1,xmm6
    fxrstor     cs:0aH[bx+di]
    fxrstor     cs:0aH[ebx+eax*2]
    fxrstor     DGROUP:L$1
    fxsave      cs:0aH[bx+di]
    fxsave      cs:0aH[ebx+eax*2]
    fxsave      DGROUP:L$1
    ldmxcsr     cs:0aH[bx+di]
    ldmxcsr     cs:0aH[ebx+eax*2]
    ldmxcsr     DGROUP:L$2
    maskmovq    mm1,mm3
    maxps       xmm1,cs:0aH[bx+di]
    maxps       xmm1,cs:0aH[ebx+eax*2]
    maxps       xmm1,DGROUP:L$1
    maxps       xmm1,xmm6
    maxss       xmm1,cs:0aH[bx+di]
    maxss       xmm1,cs:0aH[ebx+eax*2]
    maxss       xmm1,DGROUP:L$1
    maxss       xmm1,xmm6
    minps       xmm1,cs:0aH[bx+di]
    minps       xmm1,cs:0aH[ebx+eax*2]
    minps       xmm1,DGROUP:L$1
    minps       xmm1,xmm6
    minss       xmm1,cs:0aH[bx+di]
    minss       xmm1,cs:0aH[ebx+eax*2]
    minss       xmm1,DGROUP:L$1
    minss       xmm1,xmm6
    movaps      cs:0aH[bx+di],xmm7
    movaps      cs:0aH[ebx+eax*2],xmm7
    movaps      DGROUP:L$1,xmm7
    movaps      xmm1,cs:0aH[bx+di]
    movaps      xmm1,cs:0aH[ebx+eax*2]
    movaps      xmm1,DGROUP:L$1
    movaps      xmm1,xmm6
    movhlps     xmm7,xmm1
    movhps      cs:0aH[bx+di],xmm7
    movhps      cs:0aH[ebx+eax*2],xmm7
    movhps      DGROUP:L$1,xmm7
    movhps      xmm1,cs:0aH[bx+di]
    movhps      xmm1,cs:0aH[ebx+eax*2]
    movhps      xmm1,DGROUP:L$1
    movlhps     xmm1,xmm7
    movlps      cs:0aH[bx+di],xmm7
    movlps      cs:0aH[ebx+eax*2],xmm7
    movlps      DGROUP:L$1,xmm7
    movlps      xmm7,cs:0aH[bx+di]
    movlps      xmm7,cs:0aH[ebx+eax*2]
    movlps      xmm7,DGROUP:L$1
    movmskps    ebx,xmm7
    movntps     cs:0aH[bx+di],xmm7
    movntps     cs:0aH[ebx+eax*2],xmm7
    movntps     DGROUP:L$1,xmm7
    movntq      cs:0aH[bx+di],mm3
    movntq      cs:0aH[ebx+eax*2],mm3
    movntq      DGROUP:L$1,mm3
    movss       cs:0aH[bx+di],xmm7
    movss       cs:0aH[ebx+eax*2],xmm7
    movss       DGROUP:L$1,xmm7
    movss       xmm1,cs:0aH[bx+di]
    movss       xmm1,cs:0aH[ebx+eax*2]
    movss       xmm1,DGROUP:L$1
    movss       xmm1,xmm6
    movups      cs:0aH[bx+di],xmm7
    movups      cs:0aH[ebx+eax*2],xmm7
    movups      DGROUP:L$1,xmm7
    movups      xmm1,cs:0aH[bx+di]
    movups      xmm1,cs:0aH[ebx+eax*2]
    movups      xmm1,DGROUP:L$1
    movups      xmm1,xmm6
    mulps       xmm1,cs:0aH[bx+di]
    mulps       xmm1,cs:0aH[ebx+eax*2]
    mulps       xmm1,DGROUP:L$1
    mulps       xmm1,xmm6
    mulss       xmm1,cs:0aH[bx+di]
    mulss       xmm1,cs:0aH[ebx+eax*2]
    mulss       xmm1,DGROUP:L$1
    mulss       xmm1,xmm6
    orps        xmm1,cs:0aH[bx+di]
    orps        xmm1,cs:0aH[ebx+eax*2]
    orps        xmm1,DGROUP:L$1
    orps        xmm1,xmm6
    pavgb       mm2,cs:0aH[bx+di]
    pavgb       mm2,cs:0aH[ebx+eax*2]
    pavgb       mm2,DGROUP:L$1
    pavgb       mm2,mm5
    pavgw       mm2,cs:0aH[bx+di]
    pavgw       mm2,cs:0aH[ebx+eax*2]
    pavgw       mm2,DGROUP:L$1
    pavgw       mm2,mm5
    pextrw      ebx,mm3,0ffH
    pextrw      ebx,xmm3,0ffH
    pinsrw      mm1,cs:0aH[bx+di],0ffH
    pinsrw      mm1,cs:0aH[ebx+eax*2],0ffH
    pinsrw      mm1,DGROUP:L$3,0ffH
    pinsrw      mm3,ebx,0ffH
    pinsrw      xmm1,cs:0aH[bx+di],0ffH
    pinsrw      xmm1,cs:0aH[ebx+eax*2],0ffH
    pinsrw      xmm1,DGROUP:L$3,0ffH
    pinsrw      xmm3,ebx,0ffH
    pmaxsw      mm2,cs:0aH[bx+di]
    pmaxsw      mm2,cs:0aH[ebx+eax*2]
    pmaxsw      mm2,DGROUP:L$1
    pmaxsw      mm2,mm5
    pmaxub      mm2,cs:0aH[bx+di]
    pmaxub      mm2,cs:0aH[ebx+eax*2]
    pmaxub      mm2,DGROUP:L$1
    pmaxub      mm2,mm5
    pminsw      mm2,cs:0aH[bx+di]
    pminsw      mm2,cs:0aH[ebx+eax*2]
    pminsw      mm2,DGROUP:L$1
    pminsw      mm2,mm5
    pminub      mm2,cs:0aH[bx+di]
    pminub      mm2,cs:0aH[ebx+eax*2]
    pminub      mm2,DGROUP:L$1
    pminub      mm2,mm5
    pmovmskb    ebx,mm1
    pmulhuw     mm1,cs:0aH[bx+di]
    pmulhuw     mm1,cs:0aH[ebx+eax*2]
    pmulhuw     mm1,DGROUP:L$1
    pmulhuw     mm1,mm6
    prefetchnta cs:0aH[bx+di]
    prefetchnta cs:0aH[ebx+eax*2]
    prefetchnta DGROUP:L$1
    prefetcht0  cs:0aH[bx+di]
    prefetcht0  cs:0aH[ebx+eax*2]
    prefetcht0  DGROUP:L$1
    prefetcht1  cs:0aH[bx+di]
    prefetcht1  cs:0aH[ebx+eax*2]
    prefetcht1  DGROUP:L$1
    prefetcht2  cs:0aH[bx+di]
    prefetcht2  cs:0aH[ebx+eax*2]
    prefetcht2  DGROUP:L$1
    psadbw      mm2,cs:0aH[bx+di]
    psadbw      mm2,cs:0aH[ebx+eax*2]
    psadbw      mm2,DGROUP:L$1
    psadbw      mm2,mm5
    pshufw      mm2,cs:0aH[bx+di],0ffH
    pshufw      mm2,cs:0aH[ebx+eax*2],0ffH
    pshufw      mm2,DGROUP:L$1,0ffH
    pshufw      mm2,mm5,0ffH
    rcpps       xmm1,cs:0aH[bx+di]
    rcpps       xmm1,cs:0aH[ebx+eax*2]
    rcpps       xmm1,DGROUP:L$1
    rcpps       xmm1,xmm6
    rcpss       xmm1,cs:0aH[bx+di]
    rcpss       xmm1,cs:0aH[ebx+eax*2]
    rcpss       xmm1,DGROUP:L$1
    rcpss       xmm1,xmm6
    rsqrtps     xmm1,cs:0aH[bx+di]
    rsqrtps     xmm1,cs:0aH[ebx+eax*2]
    rsqrtps     xmm1,DGROUP:L$1
    rsqrtps     xmm1,xmm6
    rsqrtss     xmm1,cs:0aH[bx+di]
    rsqrtss     xmm1,cs:0aH[ebx+eax*2]
    rsqrtss     xmm1,DGROUP:L$1
    rsqrtss     xmm1,xmm6
    sfence      
    shufps      xmm1,cs:0aH[bx+di],0ffH
    shufps      xmm1,cs:0aH[ebx+eax*2],0ffH
    shufps      xmm1,DGROUP:L$1,0ffH
    shufps      xmm1,xmm6,0ffH
    sqrtps      xmm1,cs:0aH[bx+di]
    sqrtps      xmm1,cs:0aH[ebx+eax*2]
    sqrtps      xmm1,DGROUP:L$1
    sqrtps      xmm1,xmm6
    sqrtss      xmm1,cs:0aH[bx+di]
    sqrtss      xmm1,cs:0aH[ebx+eax*2]
    sqrtss      xmm1,DGROUP:L$1
    sqrtss      xmm1,xmm6
    stmxcsr     cs:0aH[bx+di]
    stmxcsr     cs:0aH[ebx+eax*2]
    stmxcsr     DGROUP:L$2
    subps       xmm1,cs:0aH[bx+di]
    subps       xmm1,cs:0aH[ebx+eax*2]
    subps       xmm1,DGROUP:L$1
    subps       xmm1,xmm6
    subss       xmm1,cs:0aH[bx+di]
    subss       xmm1,cs:0aH[ebx+eax*2]
    subss       xmm1,DGROUP:L$1
    subss       xmm1,xmm6
    ucomiss     xmm1,cs:0aH[bx+di]
    ucomiss     xmm1,cs:0aH[ebx+eax*2]
    ucomiss     xmm1,DGROUP:L$1
    ucomiss     xmm1,xmm6
    unpckhps    xmm1,cs:0aH[bx+di]
    unpckhps    xmm1,cs:0aH[ebx+eax*2]
    unpckhps    xmm1,DGROUP:L$1
    unpckhps    xmm1,xmm6
    unpcklps    xmm1,cs:0aH[bx+di]
    unpcklps    xmm1,cs:0aH[ebx+eax*2]
    unpcklps    xmm1,DGROUP:L$1
    unpcklps    xmm1,xmm6
    xorps       xmm1,cs:0aH[bx+di]
    xorps       xmm1,cs:0aH[ebx+eax*2]
    xorps       xmm1,DGROUP:L$1
    xorps       xmm1,xmm6
    
.data

L$1 label oword
    dq 0
L$2 dd 0
L$3 dw 0

end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?