Разница между = и: = - PullRequest
       42

Разница между = и: =

4 голосов
/ 03 мая 2019

Я новичок в программировании на ассемблере 6502, и я использую cc65 набор (с C64, являющимся целью).Официальная документация указывает, что "The assembler accepts the standard 6502/65816 assembler syntax" однако мне трудно найти авторитетную ссылку.Одна вещь, которую я не понимаю, это разница между двумя операторами присваивания (?) В сборке 6502 "=" и ":=".

Например, в файле "c64.inc" мы находим

BASIC_BUF       := $200         ; Location of command-line
BASIC_BUF_LEN   = 89            ; Maximum length of command-line

Ответы [ 2 ]

4 голосов
/ 03 мая 2019

Как указывает @JoachimPileborg, документация cc65 объясняет это.Первый оператор = создает символ и присваивает ему заданное значение.Второй оператор := также делает символ меткой.Имена и значения меток экспортируются как часть отладочной информации компилятором (с опцией -g), что не относится к обычным символам.Следовательно, имеет смысл использовать := для определения областей памяти и = для других целей.

3 голосов
/ 03 мая 2019

:= объявляет и присваивает, = просто присваивает

:= - это краткая форма для объявления и инициализации. где = - оператор присваивания, используемый так же, как и другой язык программирования.

x := 12
y := "value"

x объявлен как int и инициализирован значением 12, где y объявлен как string и инициализирован значением value

var x = 12
var y = "value"
...