Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: asm и с
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Neon_613
Здравствуйте

есть модуль main.с
там обьявленна пременная QQQ

не получается изменить ее в асм



Код
EXTERN  QQQ[DATA]
                EXPORT    Qwe
                                
                AREA    AAAA, CODE, READONLY
                ARM
                
                
                            
Qwe
    sub         LR, LR, #4    
    
        MOV            R1,#QQQ
    MOV            R0,QQQ
    ADD            R1,#1
        LDR         R1, [R0]


    ldmia       SP!, {PC}^    


                END


это вообще для прерывания. поэтому (sub LR, LR, #4 ).
я наверное не правельно пытаюсь увеличивать. подскажите как надо)

но он пишет ошибку
FIQ\fiq_handler.s(17): error: A1150E: Bad symbol, not defined or external

как будто я без него не знаю что она external.
как исправить?
Шаманъ
Цитата(Neon_613 @ Mar 7 2012, 08:53) *
есть модуль main.с
там обьявленна пременная QQQ

не получается изменить ее в асм

Как я понял Вы хотите увеличить ее на 1?

Я бы написал что-то типа такого (в gcc):

......
ldr R0,=QQQ //загрузили адрес
ldr R1,[R0] //прочитали
add R1,#1 //увеличили или че там Вам надо
str R1,[R0] //записали
......
Neon_613
Спасибо!

Главный вопрос почему компилятор ее (глобальную переменную QQQ) не видет? и как сделать что бы видел?

после того как исправил код на ваш. Компилятор больше не ругается) a14.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.