реклама на сайте
подробности

 
 
> Ассемблерные вставки [NIOS II gcc]
Wic
сообщение Apr 11 2011, 10:15
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 183
Регистрация: 16-03-08
Из: Новосибирск
Пользователь №: 35 954



Как я понял по работе с ниос, скоростью особой ядро не отличается. По этому возникает желание воткнуть чего нибудь на асм. Сия привычка осталась после работы с пиками. Уж очень понравилось писать оптимальный код =)
Как оказалось, в gcc ассемблерные вставки делаются через одно место. В результате поиска нарыл следующий материал.
ассемблерные вставки в GCC
Ассемблерные вставки в AVR-GCC
Inline Assembler в GCC
Официальная GCC online documentation
При листинге дизасма обноружил, что он постоянно дергает регистры. Пишет из памяти в регистры, из регистров в память и тд. Возник такой вопрос можно ли зафиксировать переменную в одном из регистров, чтобы он не дергал ее постоянно. Или же это возможно только когда ручками весь асм код пишешь?
Так же интересно кто еще использует асм вставки и для чего.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alatar
сообщение Apr 17 2011, 05:08
Сообщение #2





Группа: Новичок
Сообщений: 3
Регистрация: 14-01-11
Из: Fryazino
Пользователь №: 62 222



Цитата(Wic @ Apr 12 2011, 11:35) *
vadimuzzz, пробовал добавить этот параметр. например вот так.
Код
int register tmp=0;

Тогда дизасм вообще не запускается, а переменную нельзя отследить. Ее нет в списке. В регистрах тоже не вижу ничего подобного. Может я что то не так сделал?)
Или так пробовал
Код
int register r2=0;

результат примерно тот же. Связи с регистром r2 нету переменной r2 тоже.
Sergey'F подскажите, где это указывать. По настройкам пробежал - не увидел. Или это надо ручками прописывать?


Попробуйте использовать конструкцию
Код
register int tmp asm("r2");
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Wic   Ассемблерные вставки [NIOS II gcc]   Apr 11 2011, 10:15
- - vadimuzzz   честно говоря странно, gcc не настолько туп, долже...   Apr 11 2011, 11:23
- - Sergey'F   На всякий случай спрошу - а оптимизацию, например,...   Apr 11 2011, 20:29
- - Wic   vadimuzzz, пробовал добавить этот параметр. наприм...   Apr 12 2011, 07:35
|- - Sergey'F   Цитата(Wic @ Apr 12 2011, 11:35) результа...   Apr 12 2011, 12:45
- - vadimuzzz   у ниоса есть фича гораздо интереснее ассемблерных ...   Apr 12 2011, 07:52
- - maugli   GCC прекрасно понимает ассемблерные файлы , имеющи...   Apr 12 2011, 14:01
|- - Sergey'F   Цитата(maugli @ Apr 12 2011, 18:01) GCC п...   Apr 12 2011, 15:39
- - Wic   maugli, пока искал информацию про вставки, попадал...   Apr 13 2011, 07:29
|- - vadimuzzz   Цитата(Wic @ Apr 13 2011, 14:29) Кстати э...   Apr 13 2011, 08:16
- - torik   Кстати, а как включить оптимизацию? Эту самую О3? ...   Apr 15 2011, 12:42
|- - Sergey'F   Цитата(torik @ Apr 15 2011, 16:42) Кстати...   Apr 15 2011, 15:20
- - Wic   Alatar, спасибо, работает как и хотелось! vadi...   Apr 25 2011, 09:07
- - Alatar   Уровней оптимизации четыре (а в GCC4.6 ещё один до...   Apr 28 2011, 06:30
- - Wic   Alatar, большое спасибо   Apr 29 2011, 02:35


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016