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

 
 
> Приемы работы со структурами из gas, облегчить тяжкий труд :)
_Pasha
сообщение Dec 17 2008, 11:43
Сообщение #1


;
******

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



Доброго времени!
Поделитесь, пожалуйста, способами красивой работы, а то ручками смертельно надоело
Сишный хедер для совместного использования с асмом
Код
#ifndef __ASSEMBLER__
typedef struct
{
int16_t  fld1;
uint8_t  fld2;
} record_t;
/**************/
record_t var1,var2;
#else
#define fld1 0
#define fld2 2
.extern var1,var2
#endif

Проблема в том, что препроцессор ведь работает только на уровне текста, он ничего не вычисляет. Поэтому всякие там offsetof() не пойдут. Только ручками. Кто боролся с такой задачей?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Dec 18 2008, 19:45
Сообщение #2


;
******

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



Пошел я по такому пути.
1.Взял секцию .signature (бред, конечно, но пока переписывать линкера не стал) и направил туда ASCII-строку. По-правильному надо делать фиктивную секцию, которая не входит в бинарник, за .signature
2. Вставил в мейк вызов avr-strings. Она мне выдала мою строку. Теперь дело техники. По-крайней мере весь затык был в невозможности использования offsetof.
Теперь такая возможность есть.java script:emoticon(':yeah:', 'smid_28')
Go to the top of the page
 
+Quote Post



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

 


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


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