;;5.26.8. Przykład stosowania jednostki MMX
;;W następującym programie ma miejsce równoległe sumowanie 4 liczb typu QUARDWORD:
.586P
.MMX
.DATA
t1	 DQ	1000020030000A00h
t2	 DQ	500000DD1ABC0177h
wynik DQ	?
.CODE
Start:
; sprawdzanie na obecność jednostki MMX
 mov	EAX,1	; tryb 1 instrukcji cpuid
 cpuid
 test EDX,00800000h	;sprawdzenie bitu 23 	
 jnz	jest_MMX	;  skok do gałęzi „MMX istnieje” 		
  ; gałąź „MMX nie istnieje” 
 jmp koniec	 
jest_MMX:
 ; ładowanie
 emms		; inicjalizacja MMX
 movq	MM0,t1	; ładowanie pierwszych 4 liczb
 movq	wynik,MM0		; do sprawdzania
 movq	MM1,t2	; ładowanie następnych 4 liczb
 movq	wynik,MM0	; do sprawdzania
 paddw			;; dodawanie
 movq	wynik,MM0
 emms	  ; zerowanie MMX
koniec:
 push 0
 call ExitProcess 
END	Start
;;W razie potrzeby do tekstu programu należy dodać makrodefinicję instrukcji EMMS.
