Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний університет ”Львівська політехніка”
Кафедра ЕОМ
Лабораторна робота № 5
З курсу:”Архітектура комп’ютерів”
Застосування MMX™-команд
Виконав:
Студент групи КІ-3
Львів 2005
Команди упаковки і розпаковки
MMX-команди упаковки перетворюють довгі елементи даних (16- і 32-розрядні слова) в більш короткі. Якщо вихідне значення "не поміщається" в короткому элементі даних, то відбувається "насичення" - результатом вважається граниче значення допустимого діапазону вихідного типу даних.
Команди розпаковки попарно об’єднують елементи даних з обидвох операндів в більш довгі елементи вихідного операнда. Цими командами можна користуватися для підвищення кількості значимих розрядів при обчисленнях.
Команди порівняння
MMX-команди порівняння попарно порівнюють елементи даних (байти, 16- чи 32-розрядні слова) вхідного і вихідного операндів. В залежності від результату порівняння відповідний елемент даних вихідного операнда заповнюється нулями чи одиницями.
Ці команди, як і всі інші MMX-команди, не встановлюють прапорців (ознак).
Команди передачі даних
MMX-команди передачі даних HYPERLINK "file:///E:\\study\\semester6\\arch%20%5bgluhov,%20punkiv%5d\\MMX\\movd.gif" \t "figure" movd і HYPERLINK "file:///E:\\study\\semester6\\arch%20%5bgluhov,%20punkiv%5d\\MMX\\movq.gif" \t "figure" movq виконують копіювання:
з одного MMX-регістра до іншого,
з MMX-регістра в пам’ять і навпаки,
з MMX-регістра в цілочисельний регістр і навпаки (тільки команда movd).
Поміж всіх MMX-команд тільки movd і movq можуть мати вихідний операнд в пам’яті; movd - єдина команда, в якої операнд може бути в цілочисельному регістрі.
Команди packss
Команди packss перетворюють довгі елементи даних (16- і 32-розрядні слова зі знаком) в більш короткі (байти чи 16-розрядні слова зі знаком). Якщо вихідне значення було за межами HYPERLINK "file:///E:\\study\\semester6\\arch%20%5bgluhov,%20punkiv%5d\\MMX\\glossary.htm" \l "datarange" \t "left" допустимого діапазону для вихідного типу даних, то результатом упаковки вважається найближче граничне значення діапазону.
Вхідний операнд може знаходитися в MMX-регістрі чи в пам’яті; Вихідний операнд повинен міститися в MMX-регістрі.
ММ1 : 7F80 7E01 80FF 777F
ММ2 : 80FF 7F80 777F 0001
ММ1 : 8000 777F 7F80 8000
Команди punpckl
Команди punpckl попарно об’єднують вихідні елементи даних (байти, 16- чи 32-розрядні слова), що знаходяться в молодших 32 розрядах обидвох операндів. Отримані в результаті довші елементи даних записуються в вихідний операнд. Вихідні значення старших розрядів операндів на результат не впливають.
Вхідний операнд може міститися в MMX-регістрі або в пам’яті; вихідний операнд повинен міститися в MMX- регістрі.
ММ2 : 80FF 7F80 777F 0001
ММ3 : 7FFF FFFF 80FF AA55
ММ2 : 8077 FF7F AA00 5501
Висновок: протягом виконання цієї лабораторної роботи я ознайомився з використанням команд технології MMX, зокрема команд упаковки і розпаковки та передачі даних.