Цитата Сообщение от SfS Посмотреть сообщение
По-хорошему надо просто генерить

Код:
     .area _DATA
_a::
     .ascii "hello",0,0,0,0,0
И никакого кода

Если написать
const char a[10]="hello", то сгенерится всё верно, только в сегмент _CODE
Обсуждалось же на первых страницах этой темы, я первым поднял вопрос инициализации данных. Для сегмента инициализированных, но неконстантных данных, необходим код инициализации, как минимум - в виде LDIR. Потому что если начальные значения этих данных размещаются в ПЗУ, то сами данные должны размещаться в ОЗУ, т.е. по другим адресам.

С другой стороны, эту проблему можно отнести не к компилятору, а к загрузчику исполняемых файлов. То есть компилятор генерирует сегмент инициализированных данных и заполняет его чем надо, а уж как эти значения попадут в ОЗУ - проблема загрузчика. Если это ось - то в исполняемом файле код инициализации не нужен, ось сама загрузит файл и разместит где надо сегменты; а если это ПЗУ - то в ПЗУ должен быть упрощенный загрузчик, который инициализирует сегмент данных.