我是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
答案 0 :(得分:3)
:=
进行声明和分配,=
仅进行分配
:=
是声明和初始化的缩写。 =
是赋值运算符,与另一种编程语言的使用方式相同。
x := 12
y := "value"
x
声明为int
并初始化为值12
,其中y
声明为string
并初始化为值value
< / p>
var x = 12
var y = "value"
答案 1 :(得分:2)
@JoachimPileborg指出cc65
documentation确实对此做了解释。第一个运算符=
创建一个符号并为其分配一个给定的值。第二个运算符:=
也使符号成为标签。标签的名称和值由编译器(带有-g
选项)导出为debug information的一部分,而常规符号则不是这种情况。因此,使用:=
来定义内存位置,使用=
来实现其他目的是很有意义的。