У меня есть такая строка кода:
X DC.W 5
В основном это означает X = 5
Но не должно быть X DC.W #5
?
При использовании MOVE мне всегда нужно #
MOVE.B #1,VAR
У меня есть такая строка кода:
X DC.W 5
В основном это означает X = 5
Но не должно быть X DC.W #5
?
При использовании MOVE мне всегда нужно #
MOVE.B #1,VAR
#1
означает немедленное значение, то есть значение 1. Без #
это означало бы содержимое ячейки памяти 1.
С помощью DC.*
вы помещаете значения (я думаю, вы можете называть их "немедленными" значениями) в ячейки памяти, указанные X. Это не инструкция процессора, а инструкция для ассемблера, чтобы зарезервировать память и заполнить ее указанными значениями.
Обычно постоянный ток (ч / б / л) используется для жестко закодированных данных, помещаемых в таблицу в ПЗУ. Например. если вы хотите создать таблицу из четырех байтов, это будет выглядеть следующим образом:
ЛИБО ОДИН БУДЕТ РАБОТАТЬ:
OR
Оба они означают одно и то же, поскольку объявляют 4 байта данных. Теперь использование MOVE немного отличается, поскольку он перемещает данные в регистр данных или место в ОЗУ. Эти данные могут быть из ... скажем, таблицы, которую мы создали выше, из регистра данных или простого числового значения, начинающегося с этого '#', например:
Это переместило значение $ 11 на указанный мной адрес RAM. Надеюсь, это проясняет это.