📄 mmxshift.asm
字号:
.nolist
INCLUDE iammx.inc ; IAMMX Emulator Macros
.list
.586p
.model FLAT
.data
.const
.code
COMMENT ^
void PrevIDCTShift(
short* dctcoeffshort
);
^
PrevIDCTShift PROC NEAR C USES ESI,
dctcoeffshort: PTR SWORD
; above (commented) line is an example of declaring local parameters
mov esi, dctcoeffshort
movq mm0, [esi]
movq mm1, [esi+8]
psllw mm0, 4
movq mm2, [esi+16]
psllw mm1, 4
movq mm3, [esi+24]
psllw mm2, 4
movq [esi], mm0
movq mm4, [esi+32]
psllw mm3, 4
movq [esi+8], mm1
movq mm5, [esi+40]
psllw mm4, 4
movq [esi+16], mm2
movq mm6, [esi+48]
psllw mm5, 4
movq [esi+24], mm3
movq mm7, [esi+56]
psllw mm6, 4
movq [esi+32], mm4
movq mm0, [esi+64]
psllw mm7, 4
movq [esi+40], mm5
movq mm1, [esi+72]
psllw mm0, 4
movq [esi+48], mm6
movq mm2, [esi+80]
psllw mm1, 4
movq [esi+56], mm7
movq mm3, [esi+88]
psllw mm2, 4
movq [esi+64], mm0
movq mm4, [esi+96]
psllw mm3, 4
movq [esi+72], mm1
movq mm5, [esi+104]
psllw mm4, 4
movq [esi+80], mm2
movq mm6, [esi+112]
psllw mm5, 4
movq [esi+88], mm3
movq mm7, [esi+120]
psllw mm6, 4
movq [esi+96], mm4
psllw mm7, 4
movq [esi+104], mm5
movq [esi+112], mm6
movq [esi+120], mm7
emms
ret
PrevIDCTShift ENDP
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -