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

 
 
> как засунуть значение переменной в регистр, на asm SAM4L
sifadin
сообщение Jan 15 2014, 07:46
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 11-02-09
Пользователь №: 44 698



Здравствуйте!
Пишу ассемблерные вставки в С код
Нужно напр значение переменной pdata
загрузить в r3
Что то вроде asm(" ldr r0,pdata");
не проходит
из описаний следует что сначала надо загрузить
младшие 16бит потом старшие
Но я то не знаю адреса pdata ее знает компилятор
Сам компилятор подставляет уже конкрентные численные значения адреса (см рис)
Но при написании подставлять конкретные адреса я не могу
тк не знаю куда компилятор их определит
Как быть?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KnightIgor
сообщение Jan 15 2014, 08:35
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(sifadin @ Jan 15 2014, 08:46) *
Пишу ассемблерные вставки в С код
Нужно напр значение переменной pdata
загрузить в r3

Есть псевдоинструкция mov32 rn, src, которая расширяется компилятором в нужные две инструкции. Может прокатит и во вставке. Т.к. нет загрузки в регистр по косвенному адресу, чтобы загрузить именно переменную, надо, видимо, две инструкции, например,

mov32 r3, pdata
ldr r3, [r3]


Сообщение отредактировал KnightIgor - Jan 15 2014, 08:43
Go to the top of the page
 
+Quote Post



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

 


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


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