Реферат Курсовая Конспект
Зміст звіту - раздел Образование, Дослідження програм з використанням команд ММХ- розширень 1. Постановка Задачі Для Конкретного Варіанта. 2. Блок-Схема Алгорит...
|
1. Постановка задачі для конкретного варіанта.
2. Блок-схема алгоритму виконання прикладу з детальним коментарем та описом роботи.
3. Лістинг програми з виведенням даних на екран монітора з використанням АРІ-функцій під Win32 та детальним коментарем і описом роботи.
4. Рrint screen екрана 32-розрядного налагоджувача з виконаною програмою.
5. Короткий опис виконання програми.
6. Висновки за результатами роботи.
Приклад 16.3. Виконати операцію паралельного додавання за допомогою ММХ-команд над масивами цілих чисел. Якщо друге слово більше 55, то виконати операцію
a – e/b – de, де a = 0,2; b = 8,05; c = 2,2; d = 3,3;
інакше – виконати операцію a – e/b.
Лістинг 16.15:
title Rysovaniy A. N. & Gerasimovich N., НТУ ”ХПІ”, KIT-27v
; a - c/b - dc; a = 0,2; b = 8,05; c = 2,2; d = 3,3;
; a - c/b if ( second word < 55 )
.686 ; директива визначення типу мікропроцесора
.model flat,stdcall ; завдання лінійної моделі пам’яті
; та угоди ОС Windows
.MMX ; директива визначення команд MMX
option casemap: none ; відмінність малих та великих літер
include masm32includewindows.inc ; файли структур, констант …
include masm32macrosmacros.asm
uselib kernel32, user32, fpu
fpuDiv macro _a,_c,_b ; макрос з ім’ям fpuDiv
fld _c
fdiv _b
fld _a
fsubr
endm ;; закінчення макросу
.data ; директива визначення даних
_a REAL4 0.2
_b REAL4 8.05
_c REAL4 2.2
_d REAL4 3.3
arr1 WORD 1,2,3,4 ; масив чисел arr1 розміром у слово
len1 equ ($-arr1)/type arr1 ; кількість чисел масиву
arr2 WORD 5,6,7,5 ; масив чисел arr2 розміром у слово
len2 equ ($-arr2)/type arr2 ; кількість чисел масиву
arr1_2 BYTE (len1+len2) dup(0) ; розмір буфера для чисел масивів
st1 db "FPU-MMX Result",0 ; назва віконця
info db "x1 = " ; підпис числа для віконця результату
st2 db 10 dup(?),0 ; буфер чисел для виведення повідомлення
.code ; директива початку коду програми
_st: ; мітка початку програми з ім’ям _st
movq MM1,QWORD PTR arr1 ; завантаження масиву чисел arr1
movq MM2,QWORD PTR arr2 ; завантаження масиву чисел arr2
paddb MM1,MM2 ; паралельне циклічне додавання чисел масивів
movq QWORD PTR arr1_2,MM1 ; збереження результату додавання
.if((WORD ptr arr1_2+2)>55) ; якщо друге слово більше 55
emms
fpuDiv [_a],[_c],[_b]
fld _d
fmul _c
fsub
invoke FpuFLtoA, 0, 10, ADDR st2, SRC1_FPU or SRC2_DIMM
invoke MessageBox, NULL, addr st2, addr st1, MB_ICONQUESTION
.else ; інакше
emms ; остання ММХ-команда
fpuDiv [_a],[_c],[_b]
invoke FpuFLtoA, 0, 10, ADDR st2, SRC1_FPU or SRC2_DIMM
invoke MessageBox, NULL, addr info, addr st1, MB_ICONINFORMATION
.endif ; закінчення директиви .if
invoke ExitProcess, 0 ; повернення керування ОС Windows
; та вивільнення ресурсів
end _st ; директива закінчення програми
Результат виконання програми з лістингу 16.15 наведено на рис. 16.26.
Для надання інформаційності спрощеного віконця використано параметр MB_ICONINFORMATION. Підпис числа результату "x1 = " виконано за допомогою послідовності команд:
info db "x1 = " ; підпис числа для віконця результату
st2 db 10 dup(?),0 ; буфер чисел для виведення повідомлення
Виклик підпису з результатом виконується функцією MessageBox параметром addr info. А у зв’язку з тим, що в імені info відсутній 0 на кінці, виконується зчитування й наступного буфера, де безпосередньо розташовується результат операції.
Література: Рисований О.М. Системне програмування [Текст]: підручник для студентів напрямку “Компютерна інженерія” вищих навчальних закладів. Видання друге: виправлено та доповнено – Х.: “Слово”, 2011. – 944 с.
– Конец работы –
Эта тема принадлежит разделу:
Дослідження програм з використанням команд ММХ розширень... Мета заняття... поглибити і закріпити знання з архітектури МП платформи х і навички його програмування...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Зміст звіту
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов