⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmx.asm

📁 汇编课程设计 图形编辑器
💻 ASM
字号:
		;**************************
;文件:MMX.asm            *  
;功能:测试MMX指令        * 
;**************************
	.686P
	.xmm

	.model flat, stdcall
	option casemap :none

	include d:\masm32\include\windows.inc	
	include d:\masm32\include\user32.inc
	include d:\masm32\include\kernel32.inc
	includelib d:\masm32\lib\kernel32.lib	;库文件
	includelib d:\masm32\lib\user32.lib

	.DATA						;数据
	Caption		db '真的要退出吗?',0
	Text_Begin  db '真的要退出吗?',0
	Text_End	db '已经卸载程序!',0
	
	align 2
	MEM_BYTE	DB ?
	align 2
	MEM_WORD	DW ?
	align 4
	MEM_DWORD	DD ?
	align 8
	MEM_QUAD	QWORD ?

	.CODE						;代码
Start:
	Invoke MessageBox,NULL,offset Text_Begin,offset Caption,MB_OK
	;-----------------------
	EMMS
	;-----------------------
	MOVD   XMM0 ,MEM_DWORD
	MOVD   MEM_DWORD,XMM1
	MOVD   XMM2,EAX
	MOVD   EBX,XMM3
	;-----------------------
	MOVQ   XMM4,XMM5
	MOVQ   XMM5,MEM_QUAD
	;-----------------------
	PACKSSDW XMM0,XMM1
	PACKSSDW XMM0,MEM_QUAD
	;-----------------------
	PACKSSWB XMM0,XMM1
	PACKSSWB XMM0,MEM_QUAD
	;-----------------------
	PACKUSWB XMM0,XMM1
	PACKUSWB XMM0,MEM_QUAD
	;-----------------------
	PADDB	XMM6,XMM7
	PADDB	XMM0,MEM_QUAD
	
	PADDW	XMM6,XMM7
	
	PADDD	XMM6,XMM7
;	PADDQ	XMM6,XMM7
	;-----------------------
	PADDSB	XMM1,XMM2
	PADDSB	XMM0,MEM_QUAD
	
	PADDSW	XMM1,XMM2
	
;	PADDSD	XMM1,XMM2
;	PADDSQ	XMM1,XMM2
	;-----------------------
	PADDUSB	XMM0,XMM1
	PADDUSB	XMM0,MEM_QUAD
	
	PADDUSW	XMM0,XMM1
	
;	PADDUSD	XMM0,XMM1
;	PADDUSQ	XMM0,XMM1
	;-----------------------
	PAND	XMM4,XMM1
	PAND	XMM4,MEM_QUAD
	;-----------------------
	PANDN	XMM4,XMM1
	PANDN	XMM4,MEM_QUAD
	;-----------------------
	PCMPEQB	XMM0,XMM1
	PCMPEQB	XMM0,MEM_QUAD
	
	PCMPEQW	XMM0,XMM1
	
	PCMPEQD	XMM0,XMM1
	
;	PCMPEQQ	XMM0,XMM1
	;-----------------------
	PCMPGTB	XMM3,XMM1
	PCMPGTB	XMM2,MEM_QUAD
	
	PCMPGTW	XMM3,XMM1
	
	PCMPGTD	XMM3,XMM1
	
;	PCMPGTQ	XMM3,XMM1
	;-----------------------
	PMADDWD	XMM5,XMM2		;!!!
	PMADDWD	XMM6,MEM_QUAD
	;-----------------------
	PMULHUW XMM3,XMM1
	PMULHUW XMM3,MEM_QUAD
	
	PMULHW XMM3,XMM1
	PMULHW XMM3,MEM_QUAD
	;-----------------------
	PMULLW XMM4,XMM7
	PMULLW XMM4,MEM_QUAD
	;-----------------------
	POR		XMM1,XMM3
	POR		XMM1,MEM_QUAD
	;-----------------------
	PSLLW	XMM0,XMM3
	PSLLW	XMM0,3
	PSLLW	XMM0,MEM_QUAD

	PSLLD	XMM0,XMM3
	PSLLD	XMM0,3
	PSLLD	XMM0,MEM_QUAD

	PSLLQ	XMM0,XMM3
	PSLLQ	XMM0,3
	PSLLQ	XMM0,MEM_QUAD

;	PSLLDQ	XMM0,XMM3
;	PSLLDQ	XMM0,5
;	PSLLDQ	XMM0,MEM_QUAD
	;-----------------------
	PSRAW	XMM6,XMM1
	PSRAW	XMM6,MEM_QUAD
	PSRAW	XMM6,16

	PSRAD	XMM6,XMM1
	PSRAD	XMM6,MEM_QUAD
	PSRAD	XMM6,200

;	PSRAQ	XMM6,XMM1
;	PSRAQ	XMM6,MEM_QUAD
;	PSRAQ	XMM6,200
	;-----------------------
	PSRLW	XMM4,XMM2
	PSRLW	XMM4,MEM_QUAD
	PSRLW	XMM4,123

	PSRLD	XMM4,XMM2
	PSRLD	XMM4,MEM_QUAD
	PSRLD	XMM4,123

	PSRLQ	XMM4,XMM2
	PSRLQ	XMM4,MEM_QUAD
	PSRLQ	XMM4,123
	;-----------------------
	PSUBB	XMM6,XMM2
	PSUBB	XMM5,MEM_QUAD
	
	PSUBW	XMM6,XMM4
	
	PSUBD	XMM2,XMM2
	;-----------------------
	PSUBSB	XMM5,XMM2
	PSUBSB	XMM3,MEM_QUAD

	PSUBSW	XMM5,XMM2

;	PSUBSD	XMM5,XMM2
	;-----------------------
	PSUBUSB	XMM2,XMM7
	PSUBUSB	XMM2,MEM_QUAD
	
	PSUBUSW	XMM2,XMM7
	
;	PSUBUSD	XMM2,XMM7
	;-----------------------
	PUNPCKHBW XMM4,XMM6
	PUNPCKHBW XMM3,MEM_QUAD
	
	PUNPCKHWD XMM4,XMM6
	
	PUNPCKHDQ XMM4,XMM6
	
;	PUNPCKHQDQ XMM4,XMM6
	;-----------------------
	PUNPCKLBW XMM4,XMM6
	PUNPCKLBW XMM3,MEM_QUAD
	
	PUNPCKLWD XMM4,XMM6
	
	PUNPCKLDQ XMM4,XMM6
	
;	PUNPCKLQDQ XMM4,XMM6
	;-----------------------
	PXOR	XMM7,XMM3
	PXOR	XMM3,MEM_QUAD
	;-----------------------
	Invoke MessageBox,NULL,offset Text_End,offset Caption,MB_OK	
	Invoke ExitProcess,0
;**************************************************************
	end Start

⌨️ 快捷键说明

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