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

 
 
> ATmega64 - Operand 1 out of range: 0x36?, Ругается компилятор ассемблера.
jokolemene
сообщение May 6 2010, 06:12
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 14-03-10
Пользователь №: 55 950



Написал программу для ATmega64 на Си. Использовал IAR C. Всё нормально, всё работает. Теперь встала задача написать бутлоадер, чтобы грузить прошивку в проц удалённо. Решил писать на ассемблере. Выяснилось, что ассемблер IAR-а балдеет от русских комментариев - то повиснет, то какие-то другие глюки начинают происходить. Пришлось с IAR перейти на AVR Studio 4 и AVR Assembler. Теперь другая проблема - компилятор ругается на совершенно легальные команды типа "sbi tifr,icf1", что мол "Operand 1 out of range: 0x36". По доке на процессор видно, что адрес 0x36 попадает в область I/O этого проца и с включенным режимом совместимости с ATmega103 и с выключенным. Что за тема, не въеду? Как это победить?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение May 9 2010, 00:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(jokolemene @ May 6 2010, 12:12) *
Выяснилось, что ассемблер IAR-а балдеет от русских комментариев - то повиснет, то какие-то другие глюки начинают происходить.
Вовсе не от любого комментария на русском, а только от маленького кириллического символа "я", который в кодировке WIN-1251 имеет код конца файла (0xFF). Для компиляции в IAR уже готового исходника достаточно средствами реактора заменить маленькую "я" на большую "Я". Читаемость комментариев нисколько не ухудшиться, но ошибки, связанные с этим символом, пропадут.
Go to the top of the page
 
+Quote Post



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

 


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


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