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

 
 
> Присвоить переменной значение из регистра РОН, AT91SAM7S64, IAR, C++
RA3PKJ
сообщение Aug 8 2010, 11:13
Сообщение #1





Группа: Участник
Сообщений: 10
Регистрация: 5-08-10
Пользователь №: 58 773



Как начинающий заткнулся казалось бы на простой вещи.
Код
static inline unsigned hw_get_cpsr(void)
{
    unsigned long retval;
    asm ("mrs  r0, cpsr");
    return retval;
}

Надо присвоить переменной retval значение из регистра общего назначения r0, который фигурирует в ассемблерной вставке.
Т.е. retval = ?????????????
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Aug 8 2010, 13:54
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (RA3PKJ @ Aug 8 2010, 14:13) *
Надо присвоить переменной retval значение из регистра общего назначения r0, который фигурирует в ассемблерной вставке.
Т.е. retval = ?????????????

Вам уже выше все объяснили, как ДЕЙСТВИТЕЛЬНО правильно.
Ну а для общего развития, существуют соглашения о передаваемых и возвращаемых параметрах (читаем документацию) , и о чудо smile.gif r0 это и есть Ваш "retval" - ничего присваивать не надо. Только Warning подавить на то, что функция значения не возврвщает.
CODE
.....

    __asm ( "mrs  r0, cpsr" );

#pragma diag_suppress = Pe940
}
#pragma diag_default = Pe940


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 08:22
Рейтинг@Mail.ru


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