Как вы устанавливаете байты напрямую с DASM?

Я изучаю язык ассемблера 6502 и не могу что-то придумать. Я попробовал ассемблер/эмулятор JavaScript 6502 и заметил, что в большинстве примеров есть раздел, который выглядит так:

colors:
  dcb 0,0,0,0,0,$9,$9,1,1,0,0,0,0,0

Я пытался найти в Google, что означает dcb, и самое близкое, что у меня есть, это десятичный двоичный код. Глядя на исходный код, похоже, что ассемблер берет значения и вставляет каждое из них как отдельный байт в текущей точке кода.

Я использую DASM локально для сборки своего кода, и он не поддерживает dcb. Есть ли в DASM эквивалентный способ установки значений байтов непосредственно в коде, подобном этому?


person Skilldrick    schedule 04.06.2012    source источник
comment
Если вы еще не узнали, что означает dcb после публикации своего ответа, директива DC означает определение константы, а B — байт.   -  person AusCBloke    schedule 04.06.2012
comment
Другой распространенной мнемоникой для этого в различных ассемблере была .byt или .db для байта данных (в этом случае .dw обычно работало для 16-битных значений, то есть слова данных).   -  person LawrenceC    schedule 18.08.2013


Ответы (2)


.DC работает нормально, но прямым эквивалентом в DASM является

colors:
    dc.b 0,0,0,0,0,$9,$9,1,1,0,0,0,0,0

b для байтов, как сказал AusCBloke. Вы можете заменить его на w для слов (2 байта) или l для длинных слов (4 байта).

Вы правильно предположили, что цель dc.x состоит в том, чтобы ввести постоянные значения в текущем местоположении.

person sjs    schedule 12.07.2012

Что ж, как это часто бывает, задав вопрос, я нашел ответ. Согласно этой странице, для этой цели используется .DC.

Таким образом, пример в вопросе будет выглядеть так:

colors:
  .DC 0,0,0,0,0,$9,$9,1,1,0,0,0,0,0
person Skilldrick    schedule 04.06.2012