Главная arrow Форум  
16.01.2019 г.
Главная
Проекты
Статьи
Начинающим
Архив новостей
Ссылки
Контакты
Поиск
Файлы
Форум
Карта сайта
Авторизация





Забыли пароль?
Ещё не зарегистрированы? Регистрация
Поддержи наш сайт!
Через WebMoney

 R785211844650
 Z210696637574
 E368177590409

Простые устройстваОтличные товары по превосходным ценамОтличные товары по превосходным ценам
Форум ARV Research
Добро пожаловать, Гость
Пожалуйста Вход или Регистрация.
Забыли пароль?
на си загрузить значение в указанный регистр. (1 просматривает)
_GEN_GOTOBOTTOM Ответить

TOPIC: на си загрузить значение в указанный регистр.

#4381
ujin (Пользователь)
Новичок
Постов: 5
graphgraph
на си загрузить значение в указанный регистр. 13.02.2010 15:12 Репутация: 0  
Подскажите как положить значение в указанный регистр,например взять из какого нибудь порта значение и положить его в регистр рон R2. не используя ассемблерную вставку. Если не сложно пример.
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#4383
ARV (Администратор)
Администратор
Постов: 2384
graph
В ответ на: на си загрузить значение в указанный регистр. 13.02.2010 19:00 Репутация: 175  
Прежде всего, если вы выбрали Си, как инструмент, вы должны смириться с тем, что теперь регистры для вас - ненужная подробность, мелочь, не заслуживающая внимания. То есть я хочу сказать, что нет смысла в Си работать напрямую с регистрами. точнее - не должно быть в этом необходимости. но если уж вам так приспичило - придется использовать ассемблерную вставку.
однако, вы должны себе четко представлять, зачем вы это делаете: компилятор использует регистры сам по своему усмотрению, и ему скорее всего не понравится, что вы полезли к регистрам сами. скорее всего, вы запишите что-то в регистр, но эта информация потеряется в результате действий компилятора.

если желание лезть в регистры не пропало - продолжим разговор
Не стыдно не знать, стыдно не учиться
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#4386
ujin (Пользователь)
Новичок
Постов: 5
graphgraph
В ответ на: на си загрузить значение в указанный регистр. 13.02.2010 19:26 Репутация: 0  
конечно не пропало и вполне понимаю что компилятор во всю их пользует .....так что продолжим....но опять же делать асмовские вставки....ну не спортивно это не спортивно паэтому прошу помочь в этом...
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#4387
ARV (Администратор)
Администратор
Постов: 2384
graph
В ответ на: на си загрузить значение в указанный регистр. 13.02.2010 21:26 Репутация: 175  
в Си невозможно получить доступ к регистрам иначе, чем через ассемблерные вставки! и неспортивно вообще этим заниматься!
вы объясните, для чего это вам потребовалось?
Не стыдно не знать, стыдно не учиться
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#4389
ujin (Пользователь)
Новичок
Постов: 5
graphgraph
В ответ на: на си загрузить значение в указанный регистр. 14.02.2010 06:15 Репутация: 0  
ды вот конкретно то ничего не могу рассказать, все именно прост вопросом задумывалось по поводу ...а можна ли ...в си ...регистр акой мне нравитьси чего нить загрузить...ну не используя асомские вставки....думал можа ести чегонить такои извращенческое....)))
ну ды лано....а ващще уже утра и ано сёня прощятельное....так что ия у вас прошу у всех прощения и терпения ка мну.......аминь....и дай бог всем неимущим заиметь....а не могущим....смочь...
с уважением евгений
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
#4524
birdie (Пользователь)
Новичок
Постов: 1
graphgraph
В ответ на: на си загрузить значение в указанный регистр. 14.03.2010 15:47 Репутация: 0  
/*Get register value when register is address declared.

Example:
temp = Reg_rd_byte(&RAMPZ);
or
temp = Reg_rd_byte(0x5;

or
i = 0x5B;
temp = Reg_rd_byte(i);

param Register address (from 0x20 up to 0xFF)

return Register value */


#define REG_BYTE_AT *(U8 volatile*)

#define Reg_rd_byte(addr) ( REG_BYTE_AT(addr) )



/*Put register value when register is address declared.

param Register address (from 0x20 up to 0xFF) Data (to write) value */


#define Reg_wr_byte(addr, data) ( REG_BYTE_AT(addr) = data )

наверное примерно так как нибудь
Reg_wr_byte(addr, data);
где вместо addr - &R2
вместо data - ваше значение

оставте на откуп компилятору использовать ваши регистры
  Для добавления сообщений Вы должны зарегистрироваться или авторизоваться.
_GEN_GOTOTOP Ответить
© Copyright 2007 Best of Joomla, Работает на FireBoardполучить последние сообщения прямо на Ваш рабочий стол