组装:组织长段的不同数据

Assembly: Organizing long segments of varied data

我正在用汇编编写一个游戏,我想知道是否有一种方法可以在一行中混合使用可变长度,这样您就可以在一行中定义许多相同长度的变量。这是一个例子:

.Sprites:
    db [=10=]f,120,39,$D506E3

此示例在该列表中的最后一个数字上失败,因为它不是一个字节。但是这个:

.Sprites:
    dl [=11=]f,120,39,$D506E3

编译并在变量之间插入空 space。 我希望能够改变大小的原因是因为这将是一个包含许多精灵的 table,并且每个精灵都具有相同的格式,所以最好将每个数据放在一行而不是使用可能混淆的两行:

.Sprites:
    ?? [=12=]f,120,39,$D506E3
    ?? [=12=]b,110,39,$D5001C
    ?? ,120,36,$D509A1

我在 fasmg.

中制作了一个宏解决了这个问题
macro sprite? color*,x*,y*,spriteID*
    db color
    dw x
    db y
    dd spriteID
end macro