ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
19 декабря
1560680 Топик полностью
Idler (Вчера, 12:52 - 12:54, просмотров: 40) ответил Adept на да, так и есть, .DB, .DW, .DQ (подозреваю, что в настройках IDE или опций компилятора где-то стоит "птичка" "выравнивать флеш-константы по чётным адресам"... Но да, глупость какая-то. Обнаружил соверщенно случайно на отладке в симуляторе :(
Причем тут птичка? Флэш атмела - 16-битный. Читать можно и побайтово, но писать только 16-битными словами. Команды тоже состоят из 16-битных слов. Ассемблер не знает, что там в следующей строке и что следующая строка вообще существует, и видя команду .DB, дополняет данные до четного количества байт. Просто потому, что иначе прошить невозможно. Следующую физическую строку его можно заставить прочитать бэкслэшем, но следующую команду - нет.