ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 декабря
1560623 Топик полностью
Adept (Сегодня, 00:21 - 01:14, просмотров: 259) ответил Adept на Кто-нить может объяснить шоцетакЭ ? Размещаю .db-константы во флеши, если даю несколько аргументов после ".db", то вроде всё корректно, но удобно и логично было бы декларировать побайтово. Вот тут и получается жопа, если после директивы ".db" стоит один байт, то к нему прицепляется второй "00", приходится размещать ряд значений с переносом строк "\" после каждого Но и тут засада :(
разобрался. Этя скажу вам - эпик фейл. Пипец просто :( 

количество аргументов после ".db" ДОЛЖНО БЫТЬ ЧЁТНЫМ!!! если будет нечётное количество, то компилятор "добьёт" до чётного "ноликом".

Пипец, и не скажет об этом никак, а я подразумеваю, что константы у меня идут подряд. строго на своих местах :((

Вероятно связано с тем, что размешаю во флеши?

Или где-то в настройках студии/компилятора стоит "галочка" "выравнивать флеш-константы по чётным адресам" ??? Посмотрел бегло - не нашёл :(

В общем, сделал всё одним ".db" и длиннющим списком с переносом строки "\" на каждом значении. Пришлось ещё поставить отдельно процедуру проверки на "0", т.к. добавлю как-нибудь в список команд ещё команду, количество станет нечётным, и в таблице появится "0" константа, как валидная команда ( а мне этого не надь)


AVR-студия-7 ассемблЁр :)) в с"сях" при размещении констант во флеши такая же фигня??

...делать нужно так, как нужно. А как ненужно - делать не нужно (С) Винни-Пух :)