mmx.asm

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

ASM
214
字号
.586
.mmx
.model small

.data

L$1 dq 0
L$2 dd 0

.code

    emms        
    movd        DGROUP:L$2,mm7
    movd        cs:0aH[bx+di],mm7
    movd        cs:0aH[ebx+eax*2],mm7
    movd        mm1,DGROUP:L$2
    movd        mm1,cs:0aH[bx+di]
    movd        mm1,cs:0aH[ebx+eax*2]
    movd        mm3,ebx
    movd        ebx,mm7
    movq        DGROUP:L$1,mm1
    movq        cs:0aH[bx+di],mm1
    movq        cs:0aH[ebx+eax*2],mm1
    movq        mm1,mm7
    movq        mm1,DGROUP:L$1
    movq        mm1,cs:0aH[bx+di]
    movq        mm1,cs:0aH[ebx+eax*2]
    packssdw    mm1,mm7
    packssdw    mm1,DGROUP:L$1
    packssdw    mm1,cs:0aH[bx+di]
    packssdw    mm1,cs:0aH[ebx+eax*2]
    packsswb    mm1,mm7
    packsswb    mm1,DGROUP:L$1
    packsswb    mm1,cs:0aH[bx+di]
    packsswb    mm1,cs:0aH[ebx+eax*2]
    packuswb    mm1,mm7
    packuswb    mm1,DGROUP:L$1
    packuswb    mm1,cs:0aH[bx+di]
    packuswb    mm1,cs:0aH[ebx+eax*2]
    paddb       mm1,mm7
    paddb       mm1,DGROUP:L$1
    paddb       mm1,cs:0aH[bx+di]
    paddb       mm1,cs:0aH[ebx+eax*2]
    paddd       mm1,mm7
    paddd       mm1,DGROUP:L$1
    paddd       mm1,cs:0aH[bx+di]
    paddd       mm1,cs:0aH[ebx+eax*2]
    paddsb      mm1,mm7
    paddsb      mm1,DGROUP:L$1
    paddsb      mm1,cs:0aH[bx+di]
    paddsb      mm1,cs:0aH[ebx+eax*2]
    paddsw      mm1,mm7
    paddsw      mm1,DGROUP:L$1
    paddsw      mm1,cs:0aH[bx+di]
    paddsw      mm1,cs:0aH[ebx+eax*2]
    paddusb     mm1,mm7
    paddusb     mm1,DGROUP:L$1
    paddusb     mm1,cs:0aH[bx+di]
    paddusb     mm1,cs:0aH[ebx+eax*2]
    paddusw     mm1,mm7
    paddusw     mm1,DGROUP:L$1
    paddusw     mm1,cs:0aH[bx+di]
    paddusw     mm1,cs:0aH[ebx+eax*2]
    paddw       mm1,mm7
    paddw       mm1,DGROUP:L$1
    paddw       mm1,cs:0aH[bx+di]
    paddw       mm1,cs:0aH[ebx+eax*2]
    pand        mm1,mm7
    pand        mm1,DGROUP:L$1
    pand        mm1,cs:0aH[bx+di]
    pand        mm1,cs:0aH[ebx+eax*2]
    pandn       mm1,mm7
    pandn       mm1,DGROUP:L$1
    pandn       mm1,cs:0aH[bx+di]
    pandn       mm1,cs:0aH[ebx+eax*2]
    pcmpeqb     mm1,mm7
    pcmpeqb     mm1,DGROUP:L$1
    pcmpeqb     mm1,cs:0aH[bx+di]
    pcmpeqb     mm1,cs:0aH[ebx+eax*2]
    pcmpeqd     mm1,mm7
    pcmpeqd     mm1,DGROUP:L$1
    pcmpeqd     mm1,cs:0aH[bx+di]
    pcmpeqd     mm1,cs:0aH[ebx+eax*2]
    pcmpeqw     mm1,mm7
    pcmpeqw     mm1,DGROUP:L$1
    pcmpeqw     mm1,cs:0aH[bx+di]
    pcmpeqw     mm1,cs:0aH[ebx+eax*2]
    pcmpgtb     mm1,mm7
    pcmpgtb     mm1,DGROUP:L$1
    pcmpgtb     mm1,cs:0aH[bx+di]
    pcmpgtb     mm1,cs:0aH[ebx+eax*2]
    pcmpgtd     mm1,mm7
    pcmpgtd     mm1,DGROUP:L$1
    pcmpgtd     mm1,cs:0aH[bx+di]
    pcmpgtd     mm1,cs:0aH[ebx+eax*2]
    pcmpgtw     mm1,mm7
    pcmpgtw     mm1,DGROUP:L$1
    pcmpgtw     mm1,cs:0aH[bx+di]
    pcmpgtw     mm1,cs:0aH[ebx+eax*2]
    pmaddwd     mm1,mm7
    pmaddwd     mm1,DGROUP:L$1
    pmaddwd     mm1,cs:0aH[bx+di]
    pmaddwd     mm1,cs:0aH[ebx+eax*2]
    pmulhw      mm1,mm7
    pmulhw      mm1,DGROUP:L$1
    pmulhw      mm1,cs:0aH[bx+di]
    pmulhw      mm1,cs:0aH[ebx+eax*2]
    pmullw      mm1,mm7
    pmullw      mm1,DGROUP:L$1
    pmullw      mm1,cs:0aH[bx+di]
    pmullw      mm1,cs:0aH[ebx+eax*2]
    por         mm1,mm7
    por         mm1,DGROUP:L$1
    por         mm1,cs:0aH[bx+di]
    por         mm1,cs:0aH[ebx+eax*2]
    pslld       mm7,0ffH
    pslld       mm1,mm7
    pslld       mm1,DGROUP:L$1
    pslld       mm1,cs:0aH[bx+di]
    pslld       mm1,cs:0aH[ebx+eax*2]
    psllq       mm7,0ffH
    psllq       mm1,mm7
    psllq       mm1,DGROUP:L$1
    psllq       mm1,cs:0aH[bx+di]
    psllq       mm1,cs:0aH[ebx+eax*2]
    psllw       mm7,0ffH
    psllw       mm1,mm7
    psllw       mm1,DGROUP:L$1
    psllw       mm1,cs:0aH[bx+di]
    psllw       mm1,cs:0aH[ebx+eax*2]
    psrad       mm7,0ffH
    psrad       mm1,mm7
    psrad       mm1,DGROUP:L$1
    psrad       mm1,cs:0aH[bx+di]
    psrad       mm1,cs:0aH[ebx+eax*2]
    psraw       mm7,0ffH
    psraw       mm1,mm7
    psraw       mm1,DGROUP:L$1
    psraw       mm1,cs:0aH[bx+di]
    psraw       mm1,cs:0aH[ebx+eax*2]
    psrld       mm7,0ffH
    psrld       mm1,mm7
    psrld       mm1,DGROUP:L$1
    psrld       mm1,cs:0aH[bx+di]
    psrld       mm1,cs:0aH[ebx+eax*2]
    psrlq       mm7,0ffH
    psrlq       mm1,mm7
    psrlq       mm1,DGROUP:L$1
    psrlq       mm1,cs:0aH[bx+di]
    psrlq       mm1,cs:0aH[ebx+eax*2]
    psrlw       mm7,0ffH
    psrlw       mm1,mm7
    psrlw       mm1,DGROUP:L$1
    psrlw       mm1,cs:0aH[bx+di]
    psrlw       mm1,cs:0aH[ebx+eax*2]
    psubb       mm1,mm7
    psubb       mm1,DGROUP:L$1
    psubb       mm1,cs:0aH[bx+di]
    psubb       mm1,cs:0aH[ebx+eax*2]
    psubd       mm1,mm7
    psubd       mm1,DGROUP:L$1
    psubd       mm1,cs:0aH[bx+di]
    psubd       mm1,cs:0aH[ebx+eax*2]
    psubsb      mm1,mm7
    psubsb      mm1,DGROUP:L$1
    psubsb      mm1,cs:0aH[bx+di]
    psubsb      mm1,cs:0aH[ebx+eax*2]
    psubsw      mm1,mm7
    psubsw      mm1,DGROUP:L$1
    psubsw      mm1,cs:0aH[bx+di]
    psubsw      mm1,cs:0aH[ebx+eax*2]
    psubusb     mm1,mm7
    psubusb     mm1,DGROUP:L$1
    psubusb     mm1,cs:0aH[bx+di]
    psubusb     mm1,cs:0aH[ebx+eax*2]
    psubusw     mm1,mm7
    psubusw     mm1,DGROUP:L$1
    psubusw     mm1,cs:0aH[bx+di]
    psubusw     mm1,cs:0aH[ebx+eax*2]
    psubw       mm1,mm7
    psubw       mm1,DGROUP:L$1
    psubw       mm1,cs:0aH[bx+di]
    psubw       mm1,cs:0aH[ebx+eax*2]
    punpckhbw   mm1,mm7
    punpckhbw   mm1,DGROUP:L$1
    punpckhbw   mm1,cs:0aH[bx+di]
    punpckhbw   mm1,cs:0aH[ebx+eax*2]
    punpckhdq   mm1,mm7
    punpckhdq   mm1,DGROUP:L$1
    punpckhdq   mm1,cs:0aH[bx+di]
    punpckhdq   mm1,cs:0aH[ebx+eax*2]
    punpckhwd   mm1,mm7
    punpckhwd   mm1,DGROUP:L$1
    punpckhwd   mm1,cs:0aH[bx+di]
    punpckhwd   mm1,cs:0aH[ebx+eax*2]
    punpcklbw   mm1,mm7
    punpcklbw   mm1,DGROUP:L$1
    punpcklbw   mm1,cs:0aH[bx+di]
    punpcklbw   mm1,cs:0aH[ebx+eax*2]
    punpckldq   mm1,mm7
    punpckldq   mm1,DGROUP:L$1
    punpckldq   mm1,cs:0aH[bx+di]
    punpckldq   mm1,cs:0aH[ebx+eax*2]
    punpcklwd   mm1,mm7
    punpcklwd   mm1,DGROUP:L$1
    punpcklwd   mm1,cs:0aH[bx+di]
    punpcklwd   mm1,cs:0aH[ebx+eax*2]
    pxor        mm1,mm7
    pxor        mm1,DGROUP:L$1
    pxor        mm1,cs:0aH[bx+di]
    pxor        mm1,cs:0aH[ebx+eax*2]

end

⌨️ 快捷键说明

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