рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Зміст звіту

Зміст звіту - раздел Образование, Дослідження програм з використанням команд ММХ- розширень 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 с.

– Конец работы –

Эта тема принадлежит разделу:

Дослідження програм з використанням команд ММХ- розширень

Дослідження програм з використанням команд ММХ розширень... Мета заняття... поглибити і закріпити знання з архітектури МП платформи х і навички його програмування...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Зміст звіту

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Вхідний контроль знань
1. Виконати паралельне додавання 2-х масивів по 18 знакових даних розміром у байт. 2. Виконати паралельне віднімання 2-х масивів по 19 знакових даних розміром у байт. 3. Виконати

Завдання
1. Ввести з клавіатури два дійсних числа та виконати їх додавання. Якщо результат позитивний, то виконати паралельне порівняння за допомогою ММХ-команд 2-х масивів по 10 знакових цілих чисел розмір

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги