Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как задействовать метку из asm файла в С?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
sonycman
Никак не могу разобраться с меткой-указателем... sad.gif
Ситуация такая: проект содержит исходники как на асме, так и на С.
Есть фрагмент исходника на асме:
Код
                AREA    data, DATA, READONLY, ALIGN=2
                EXPORT    font_arial10
font_arial10            
                INCBIN    Fonts\Arial7(10).bin

хочу использовать метку font_arial10 в исходнике на С, в виде указателя на данные (шрифт):
Код
    extern dword font_arial10;
    word    *pPointer;
    word    data;

    pPointer    =    (word*)font_arial10;
    data    =    *pPointer;

но после компиляции в программе в указатель pPointer грузится не адрес, по которому находится шрифт, а данные, которые находятся по адресу [font_arial10], соответственно последующее чтение указателя вызывает data abort...
Уже упарился, подскажите, пожалуйста, как заставить компилятор задействовать указатель?
Сергей Борщ
Код
    extern dword font_arial10;
    word    *pPointer;
    pPointer    =    (word*)&font_arial10;
    data    =    *pPointer;
rezident
В вашем выражении значение метки является указателем на данные, а не значением собственно указателя. По-моему нужно все-таки так

Код
pPointer    =    (word *)&font_arial10;
defunct
попробуйте так:

extern word font_arial10[];

data = *font_arial10;
sonycman
Цитата(Сергей Борщ @ Feb 12 2007, 21:32) *
Код
    extern dword font_arial10;
    word    *pPointer;
    pPointer    =    (word*)&font_arial10;
    data    =    *pPointer;

Цитата(rezident @ Feb 12 2007, 21:34) *
В вашем выражении значение метки является указателем на данные, а не значением собственно указателя. По-моему нужно все-таки так

Код
pPointer    =    (word *)&font_arial10;

Цитата(defunct @ Feb 12 2007, 22:30) *
попробуйте так:

extern word font_arial10[];

data = *font_arial10;

Спасибо всем большое! Работает w00t.gif

ЗЫ: до последнего варианта сам всё-таки допёр... blush.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.