0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 4
1

Требуется объяснение

14.06.2013, 23:42. Показов 1228. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрыи день.Я тут новенькии,частенько читаю этот форум и он мне интересен,так как учусь на спец-сти,связаннои с программированием на языке ассемблер.Недавно дали кусок программки,которую сказали разобрать,но ответ не получается..Объясните пжл,как решается по пунктам.Заранее спасибо

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
.686
XMM
.data 
matrix        dd    4   3   2  1
                dd    1   1   0  0
                dd    1   5   6  5
                dd    1   4   3  2
REZ dd 4dup(?)
.code
start:
LEA EDX,MATRIX
LEA EDI,REZ
movups XMM1,[EDX]
movups XMM2,[EDX+10h]
movups XMM3,[EDX+20h]
movups XMM4,[EDX+30h]
shufps  XMM2,XMM1,27h
shufps  XMM2,XMM2,27h
shufps  XMM4,XMM3,27h
shufps  XMM4,XMM4,27h
addps  XMM4,XMM2,27h
movups [EDI],XMM4
XOR EAX,EAX
mov ECX,4
m:   add EDI,[EDI]
      add EDI,4
      loop m
 end start


Преподаватель сказал,что в ответе 14h , но он может ошибаться.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.06.2013, 23:42
Ответы с готовыми решениями:

Объяснение кода
Что обозначает данная строка: .stack 4096?

Объяснение для кода
Добрый день уважаемые посетители форума, я начинаю изучать ассемблер, и для меня на данный момент...

Макрос для работы с матрицей, нужно объяснение
Подскажите, что происходит в этом макросе, как он работает, очень нужно!!! Заранее Спасибо. ;...

Требуется корректное объяснение
Добрый вечер форумчане) Хочу что бы мне на общедоступном и понятном языке объяснили что...

4
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
15.06.2013, 00:48 2
Цитата Сообщение от Samacac Посмотреть сообщение
Добрыи день.Я тут новенькии,частенько читаю этот форум и он мне интересен,так как учусь на спец-сти,связаннои с программированием на языке ассемблер.
Добрый вечер. Скажи пожалуйста, на сколько частенько нужно читать этот форум, что бы по интересующей тебя теме не разобрать ни строчки самостоятельно?
0
0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 4
15.06.2013, 07:16  [ТС] 3
Цитата Сообщение от Полный 30h Посмотреть сообщение
Добрый вечер. Скажи пожалуйста, на сколько частенько нужно читать этот форум, что бы по интересующей тебя теме не разобрать ни строчки самостоятельно?
Я вроде бы просил помочь с объяснением,а не критиковать мои слова.

Разобрать действие команд я могу,но ответ не сходитсЯ,вот и прошу,чтоб кто-нибудь расписал,что происходит со значениями в регистре,как изменяются
0
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
15.06.2013, 11:33 4
Цитата Сообщение от Samacac Посмотреть сообщение
Я вроде бы просил помочь с объяснением,а не критиковать мои слова.
Ты вроде бы даже требовал
Требуется объяснение
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
.686
 XMM
 .data 
 matrix dd 4 3 2 1
 dd 1 1 0 0
 dd 1 5 6 5
 dd 1 4 3 2
 REZ dd 4dup(?)
 .code
 start:
 LEA EDX,MATRIX ; в EDX адрес начала MATRIX
 LEA EDI,REZ ; в EDI адрес переменной REZ
 movups XMM1,[EDX] ; в регистр XMM1 данные от начала MATRIX
 movups XMM2,[EDX+10h] ; в регистр XMM2 данные от начала MATRIX+16 байт
 movups XMM3,[EDX+20h] ; в регистр XMM3 данные от начала MATRIX+32 байт
 movups XMM4,[EDX+30h] ; в регистр XMM4 данные от начала MATRIX+48 байт
 shufps XMM2,XMM1,27h ; параллельное перемещение операндов в соответствии с заданной маской
 shufps XMM2,XMM2,27h ; первый операнд А1.А2.А3.А4 второй В1.В2.В3.В4 итог  В4.В2.А3.А1
 shufps XMM4,XMM3,27h ; и т.д.
 shufps XMM4,XMM4,27h ; и т.д.
 addps XMM4,XMM2,27h ; и т.д.
 movups [EDI],XMM4 ; засунуть всё в результат
 XOR EAX,EAX ; обнулить EAX
 mov ECX,4 ; даже и не знаю что за команда
 m: add EDI,[EDI] ; сложить регистр со значением по  адресу в нём
 add EDI,4 ; а потом ещё четыре прибавить
 loop m ; и так несколько раз
 end start
Удачи!
1
0 / 0 / 0
Регистрация: 14.06.2013
Сообщений: 4
15.06.2013, 14:56  [ТС] 5
Спасибо.И касаемо 24 строчки- ECX выступает как счетчик..loop за проход дикрементирует ECX, ..а в 26 - происходит переход к след. элементу,т.к. 4-dword размер, а элементы и есть dword..
Спасибо еще раз за разъяснения
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2013, 14:56
Помогаю со студенческими работами здесь

Функции istream, требуется объяснение
Здравствуйте! В ходе изучения C++ у меня возникло много вопросов, связанных с функциями istream...

Требуется объяснение по поводу фильтров в VBA
Добрый день. В VBA Можно задать для определенной формы фильтр посредством выражения ...

Работа с class, требуется объяснение/совет опытных
К примеру имеется такой код:void main(int argc, const char * argv) { const int n = 2; ...

Подсчет количества слов в строке (требуется объяснение)
Всем привет. Нашел здесь программу, чуть-чуть переделал, но частично не понимаю ее. Объясните, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru