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

 
 
 
Reply to this topicStart new topic
> iar c и регистры
vic481
сообщение Oct 11 2008, 04:47
Сообщение #1





Группа: Участник
Сообщений: 13
Регистрация: 19-10-05
Пользователь №: 9 837



Добрый день всем! Профи, подскажите, пожалуйста, можно ли из IAR С работать с регистрами напрямую? Конкретней- при действиях с переменной компилер все рано ее сует в R9-R15 и все действия производятся в регистром, а потом новое значение переменной вытаскивается обратно. Можно ли сразу писать в конкретный регистр и оперировать с ним без ассемблерых вставок? Вопрос может показаться странным, но мне дествительно хотелось бы этого. Спасибо.
Go to the top of the page
 
+Quote Post
diper
сообщение Oct 11 2008, 08:15
Сообщение #2


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

Группа: Свой
Сообщений: 94
Регистрация: 12-11-05
Из: Росиия, Нижний Новгород
Пользователь №: 10 750



Не понятоно что вы хотите. Пример в студию.
Go to the top of the page
 
+Quote Post
vic481
сообщение Oct 11 2008, 09:30
Сообщение #3





Группа: Участник
Сообщений: 13
Регистрация: 19-10-05
Пользователь №: 9 837



ну, например

static unsigned int b;
b=0x001E;b&=0x7f;b|=0x40;

получается
mov.w R14,&0x202
and.w #0x7F,R14
bis.w #0x40,R14
mov.w R14,&0x202

хотя последняя строка не совсем понятна... Я бы хотел напрямую из си писать в R14 и делать действия непосредственно с ним, что-то вроде R14=0x1e,R14&=0x7f,R14=0x40; т.е сделать свои переменные R9-R15 жестко привязанные в одноименным регистрам процессора, подобно @ и pragma location
Go to the top of the page
 
+Quote Post
diper
сообщение Oct 11 2008, 15:03
Сообщение #4


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

Группа: Свой
Сообщений: 94
Регистрация: 12-11-05
Из: Росиия, Нижний Новгород
Пользователь №: 10 750



Код
__no_init int __regvar x @ __R4;

Темнеменее вы не ответили на вопрос: зачем это нужно? Хотите посорвноваться с компилятором в оптимизации?
Go to the top of the page
 
+Quote Post
vic481
сообщение Oct 11 2008, 17:13
Сообщение #5





Группа: Участник
Сообщений: 13
Регистрация: 19-10-05
Пользователь №: 9 837



Нет, где уж мне... smile.gif . просто есть дизасссемблированная прошивка, я пытаюсь восстановить по ней исходник на си, в принципе, все получается, но чтобы не было головной боли с отслеживанием переменных, было бы здорово, если сабж получился, тем более, что странная закономерность- в дизассемблированной прошиве используются только r10-r15, нигде нет меньших регистров. по ряду признаков, уверен исходник был на иар си, осталось только разобраться с регистрами.
А так как Вы написали, можно только с R4 и R5! ? я пробовал с остальными- компилер ругается!
Go to the top of the page
 
+Quote Post
diper
сообщение Oct 11 2008, 18:10
Сообщение #6


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

Группа: Свой
Сообщений: 94
Регистрация: 12-11-05
Из: Росиия, Нижний Новгород
Пользователь №: 10 750



Часть ответов можно получить прочитав MSP430 IAR C/C++ Compiler
Reference Guide. У иара было несколько версий, они могут что то делать по разному, у каждого свой Guide. Если цель получить исходник соответствующий функционалу прошивки, то имхо выбранный способ неверный. Я бы разбирался в ассме что делает программы и писал прогу с нуля по аналогии. Если цель получить исходник который после компиляции будет совпадать с прошивкой, то геройству храбрых поем мы песню smile.gif
Go to the top of the page
 
+Quote Post
VAI
сообщение Oct 12 2008, 05:16
Сообщение #7


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Цитата
Если цель получить исходник который после компиляции будет совпадать с прошивкой

то, наверное, дешевле будет у автора купить исходник. :-D


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
vic481
сообщение Oct 12 2008, 12:44
Сообщение #8





Группа: Участник
Сообщений: 13
Регистрация: 19-10-05
Пользователь №: 9 837



to diper: на асме у меня есть свой вариант, который по функционалу аналогичен. Что ж, попробую поэксперименитировать smile.gif

to VAI: я это делаю пока для самоудовлетворения и по времени не ограничен!
Go to the top of the page
 
+Quote Post
diper
сообщение Oct 12 2008, 15:55
Сообщение #9


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

Группа: Свой
Сообщений: 94
Регистрация: 12-11-05
Из: Росиия, Нижний Новгород
Пользователь №: 10 750



vic481, вы решили изучить С после асма? Тогда просто забудьте об асме и напишите программу на С. В ней будет много глупостей, т.к. будете мыслить в стиле асма, но потом это пройдет.

smile.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 4th August 2025 - 23:32
Рейтинг@Mail.ru


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