[an error occurred while processing this directive]
Ответ: Так наверное не получится... Подумайте компилер делает код, а адреса извесны только после линковки - я делал так (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено mir 22 февраля 2006 г. 14:55
В ответ на: Что-то я не могу сообразить элементарную вещь с сохранением регистра в памяти у блекфинов отправлено <font color=gray>V-ctor</font> 22 февраля 2006 г. 13:38

Для чистого асма:
В асме объявляю общую структуру на скока надо.
тут же приписываю дефайны со смещениями полей в структуре
использую всего один указатель на начало структуры
и доступ через указатель плюс дефайны...
тут надо только внимательнее быть с шириной полей...

вариант для смеси асма с С чуть другой:
объявленную в *.h структуру импортируем в асм
---------------------------
xxx.h
...
typedef struct XXX_tag {
int tt1;
int tt2;
...
} xxx_t;
...
---------------------------
.import "xxx.h";
---------------------------
определяем псевдо-таг.
.extern STRUCT XXX_tag __mm;
---------------------------
используем:
p3 - указатель на реальную структуру
[p3 + OFFSETOF(XXX_tag, tt1)] = r7;

r7 = [p3 + OFFSETOF(XXX_tag, tt2)];

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru