Скачиваний:
35
Добавлен:
15.09.2014
Размер:
1.09 Кб
Скачать
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include <Windows.h>
#pragma inline
using namespace std;


int main()
{
	char mess_1[]="Enter string:"; 	
	char buf1[20]; 
	char buf2[20];
	ZeroMemory(buf1,20);
	ZeroMemory(buf2,20);
	unsigned _int64 _mm0; 
	unsigned _int64 _mm1;  
	puts(mess_1);
	cin >> buf1;
	puts(mess_1);
	cin >> buf2;
	for(int i = 0; i < 8; i++)
	_asm
	{
			movq	mm0, buf1[i]	
			PSRAW   mm0, 8
			movq	mm1, buf2[0]		
			PSRAW   mm1, 8

			movq _mm0,mm0
			movq _mm1,mm1
	}
	cout << endl << "mm0 " << _mm0 << endl;
	cout << "mm1 " << _mm1 << endl;
	_asm
	{
			PSUBD	mm0, mm1	// команда вычитает элементы данных входного операнда из	
							    // элементов данных выходного операнда. Если результат выходит за границу допустимого 
								//диапазона, то по правилам циклической арифметики соответствующее число единиц отсчитывается	
								//от другой границы диапазона. "Переноса" единицы из одного элемента данных в другой не происходит.
			movq _mm0,mm0
	}
	cout << "mm0 " << _mm0 << endl;
	getch();

	return 0;
}