Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Размещение кода и данных в .CSEG [avr], Код перекрывает данные 
:(
    Опции темы
Valko
Дата 2.2.2014, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 17.11.2006
Где: Украина

Репутация: нет
Всего: нет



При написании программы решил данные вписывать перед процедурами их использующими. На определенном этапе считываемые данные начали искажаться. Проект создан в AVR Studio 5.0 отладка в Proteus 7.7 Sp2.
Когда отлаживаю с точками останова в Студио все Ок, а в Протеусе считывается не правильно.
Когда вписал перед Code7 семь байт все пошло, меньше не идет. Не могу понять почему так? 
Код

...
.DSEG
 Ind:    .byte 7  
.CSEG                   
F: .db 0,0,0,0,0,0,0  
Code7: .db $FC, $60, $DA, $F2, $66, $B6, $BE, $E0, $FE, $F6
;--------------------------------------------------------------------------------
Decode:
   clr xh
   ldi xl,low(ind)+7   
   mov tmp,Countr       
   rcall dec3
   mov tmp,Countp
   rcall Cod7
   st x,r0
   dec xl
   mov tmp,Countl
   rcall Dec3
ret
;--------------------------------------------------------------------------------
Dec3:
   rcall Num
   rcall Cod7
   st x,r0
   dec xl
   tst c2  
   breq De1
 De0:
   mov tmp,c2
   rcall Cod7
   st x,r0
   rjmp De2
 De1:
   tst c1
   brne De0
 De2:
   dec xl
   tst c1
   breq De3
   mov tmp,c1
   rcall Cod7
   st x,r0
 De3:
   dec xl
ret
;--------------------------------------------------------------------------------
Cod7:
ldi zh,high(Code7*2)
ldi zl,low(Code7*2)
add zl,tmp
lpm                  
ret

PM MAIL   Вверх
Romikgy
Дата 3.2.2014, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Если пишете на асме , учитываете таблицу векторов ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Valko
Дата 4.2.2014, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 17.11.2006
Где: Украина

Репутация: нет
Всего: нет



А разве таблица векторов не входит в общее адресное пространство сегмента кода ?
PM MAIL   Вверх
Romikgy
Дата 4.2.2014, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



входит , поэтому его и надо учитывать, т.к. программите на асме


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Valko
Дата 4.2.2014, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 17.11.2006
Где: Украина

Репутация: нет
Всего: нет



Извините, я не указал, что прописал все вектора прерываний, это должно быть.
Код

 .cseg
 .org 0
rjmp init
   reti    ;1
   reti    ;2
   reti    ;3
   reti    ;4
   reti    ;5
   reti    ;6
   reti    ;7
   reti    ;7
   reti    ;8
   reti    ;9
   reti    ;10
   reti    ;11
   reti    ;12
   reti    ;13
   reti    ;14
   reti    ;15
   reti    ;16
   reti    ;17
   reti    ;18
 ; *************** Инициализация параметров ************************
init:


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0406 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.