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

 
 
 
Reply to this topicStart new topic
> asm и с, не получается использовать в asm прог переменные обьявленные в файле C
Neon_613
сообщение Mar 7 2012, 06:53
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 19-09-10
Пользователь №: 59 574



Здравствуйте

есть модуль 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.
как исправить?
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Mar 7 2012, 08:35
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Neon_613 @ Mar 7 2012, 08:53) *
есть модуль main.с
там обьявленна пременная QQQ

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

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

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

......
ldr R0,=QQQ //загрузили адрес
ldr R1,[R0] //прочитали
add R1,#1 //увеличили или че там Вам надо
str R1,[R0] //записали
......
Go to the top of the page
 
+Quote Post
Neon_613
сообщение Mar 7 2012, 08:45
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 129
Регистрация: 19-09-10
Пользователь №: 59 574



Спасибо!

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

после того как исправил код на ваш. Компилятор больше не ругается) a14.gif

Сообщение отредактировал Neon_613 - Mar 7 2012, 08:48
Go to the top of the page
 
+Quote Post

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

 


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


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