|
|
  |
iar c и регистры |
|
|
|
Oct 11 2008, 04:47
|
Группа: Участник
Сообщений: 13
Регистрация: 19-10-05
Пользователь №: 9 837

|
Добрый день всем! Профи, подскажите, пожалуйста, можно ли из IAR С работать с регистрами напрямую? Конкретней- при действиях с переменной компилер все рано ее сует в R9-R15 и все действия производятся в регистром, а потом новое значение переменной вытаскивается обратно. Можно ли сразу писать в конкретный регистр и оперировать с ним без ассемблерых вставок? Вопрос может показаться странным, но мне дествительно хотелось бы этого. Спасибо.
|
|
|
|
|
Oct 11 2008, 09:30
|
Группа: Участник
Сообщений: 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
|
|
|
|
|
Oct 11 2008, 15:03
|
Частый гость
 
Группа: Свой
Сообщений: 94
Регистрация: 12-11-05
Из: Росиия, Нижний Новгород
Пользователь №: 10 750

|
Код __no_init int __regvar x @ __R4; Темнеменее вы не ответили на вопрос: зачем это нужно? Хотите посорвноваться с компилятором в оптимизации?
|
|
|
|
|
Oct 11 2008, 17:13
|
Группа: Участник
Сообщений: 13
Регистрация: 19-10-05
Пользователь №: 9 837

|
Нет, где уж мне...  . просто есть дизасссемблированная прошивка, я пытаюсь восстановить по ней исходник на си, в принципе, все получается, но чтобы не было головной боли с отслеживанием переменных, было бы здорово, если сабж получился, тем более, что странная закономерность- в дизассемблированной прошиве используются только r10-r15, нигде нет меньших регистров. по ряду признаков, уверен исходник был на иар си, осталось только разобраться с регистрами. А так как Вы написали, можно только с R4 и R5! ? я пробовал с остальными- компилер ругается!
|
|
|
|
|
Oct 12 2008, 12:44
|
Группа: Участник
Сообщений: 13
Регистрация: 19-10-05
Пользователь №: 9 837

|
to diper: на асме у меня есть свой вариант, который по функционалу аналогичен. Что ж, попробую поэксперименитировать to VAI: я это делаю пока для самоудовлетворения и по времени не ограничен!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|