[an error occurred while processing this directive]
|
например узнать размер массива по аналогии с sizeof() в С
в функцию на асме передается указатель на массив, а ассемблер при ассемблировании как-то должен узнать его размер - как ???
и вообще глобальный вопрос - как создавать общие для асма и С константы.
То, что на С делается #define
с переменными все понятно, а с константами - какая-то задница.
например объявлен енум:
typedef enum
{
TIMER_ID_LINE_SYNC,
TIMER_ID_UART_RX,
TIMER_ID_WDT,
TIMER_ID_TEST,
TIMER_ID_I2C,
TIMER_ID_CONFIG,
TIMER_ACT_TIMER,
TIMER_ACT_AIC_RX,
TIMER_ACT_AIC_TX,
TIMER_ACT_UART,
TIMER_QUEUE_SIZE
} TimerQueue;
и потом отведена память
volatile u16 timer_queue[TIMER_QUEUE_SIZE];
как в асме знать например чему равен TIMER_ACT_AIC_TX ?
опять же максимум что можно узнать - указатель на начало timer_queue
E-mail: info@telesys.ru