问题描述
我正在用汇编编写一个游戏,我想知道是否有一种方法可以在一行中混合可变长度,这样您就可以在一行中定义许多相同长度的变量。举个例子:
.Sprites:
db $0f,120,39,$D506E3
此示例在该列表中的最后一个数字上失败,因为它不是一个字节。但是这个:
.Sprites:
dl $0f,$D506E3
编译并在变量之间插入空格。 我希望能够改变大小的原因是因为这将是一个包含许多精灵的表格,并且每个精灵的格式都相同,所以最好将每个人的数据放在一行上,而不是使用两行可以糊涂:
.Sprites:
?? $0f,$D506E3
?? $0b,110,$D5001C
?? $01,36,$D509A1
解决方法
我通过在 fasmg 中创建宏解决了这个问题。
macro sprite? color*,x*,y*,spriteID*
db color
dw x
db y
dd spriteID
end macro