组装:组织长段的不同数据
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
我正在用汇编编写一个游戏,我想知道是否有一种方法可以在一行中混合使用可变长度,这样您就可以在一行中定义许多相同长度的变量。这是一个例子:
.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